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 -------------------