Kde Environment und Shutdown Skripte

Kde wie in Sarge erhältlich (3.3.2) unterstützt Skripte
die automatisch vor dem Starten und nach dem Herunterfahren
des Desktops gestartet werden.

Diese Funktionalität hat nichts mit der Autostartfunktion
zu tun! Bei Autostart kann man sich Programme (mit Oberfläche)
starten lassen.

Hingegen bei env können keine Programme gestartet werden
die eine Oberfläche brauchen. Es ist aber trotzdem sehr
brauchbar um Dämonen, Agenten und Environment zu setzen.
Aufgrund des Verwendungszweckes wird das Verzeichnis auch
~/.kde/env genannt. Skripte in diesem Verzeichnis werden
der Reihe nach (echo *) ausgeführt.

Anwendungszwecke

ssh-agent: Enthält private Schlüssel für ssh

Startskript---------
#!/bin/sh
eval `ssh-agent`
ssh-add
--------------------


ACHTUNG!!!
x-mod settings: Remappings der Tastatur:
-------------------
#!/bin/sh
xmodmap -e 'keycode 91 = KP_Delete comma'
-------------------
oder allgemeiner:
-------------------
#!/bin/sh
xmodmap ~/.Xmodmap
-------------------
Liest gleich die Xmodmap ein dürfen _NICHT_ im
Environment gesetzt werden, sie haben dort
schlicht keine Auswirkung, weil X quasi noch
nicht gestartet ist (bzw. DISPLAY nicht gesetzt)!



gpg-agent: Für E-mail verschlüsselung/signatur
-------------------
#!/bin/sh
eval "$(gpg-agent --daemon)"
-------------------

signature: Stellt ~/.signature bereit
-------------------
#!/bin/sh
signature -f $HOME/.signature -q $HOME/Info/quote -r -t $HOME/.signature-template
-------------------

environment setzen
Ich setze mein Environment bereits in /etc/bash.bashrc.
Damit KDE Programme das selbe Environment haben, kann
man folgenden Link setzen:
cd ~/.kde/env
ln -s /etc/bash.bashrc bash.sh
ln -s ~/.bashrc mybash.sh


Nun hat man mehrere Programme gestartet, was hoffentlich auch
super funktioniert. Bald läuft man aber in ein Problem. Und
zwar genau dann wenn man kde neustartet, ohne den Computer
herunterzufahren. Die Programme würden doppelt starten.

Damit das nicht passieren kann gibt es ~/.kde/shutdown wo
man alle Agenten und Dämonen wieder killen muss. Environment
und x-mod mappings hingegen sind egal.

gpg-agent: Das killen ist etwas aufwendig.
-------------------
#!/bin/sh
 if test -n "$GPG_AGENT_INFO"; then
         pid=`echo "$GPG_AGENT_INFO" | cut -d: -f2`
         if test -n "$pid"; then
                 kill $pid
         fi
 fi
-------------------

signature: Davon kille ich einfach alle (Fremde Prozesse darf ich eh nicht)
-------------------
#!/bin/sh
killall signature
-------------------

ssh-agent: Hier ist zum Glück die PID direkt im Environment
-------------------
#!/bin/sh
if test -n "$SSH_AGENT_PID"
then
        kill "$SSH_AGENT_PID"
fi
-------------------
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif