.xinitrc-de

From DSL Wiki

   Zurück zur deutschen Hauptseite  This page in other languages: English, Español, Русский

/home/dsl/.xinitrc

Dieses Script wird abgearbeitet, wenn der X Server startet, und wird benötigt für Befehle, die eine grafische Arbeitsumgebung benötigen. Die Hauptaufgabe von .xinitrc ist es, einige X Programme automatisch zu starten, die user-definierten X Einstellungen vorzunehmen, und nicht zuletzt, den Fenstermanager zu starten.

Die typische .xinitrc in DSL 3.0 sieht folgendermaßen aus:

       # put X windows programs that you want started here.
       # Be sure to add at the end of each command the &
       
       KEYTABLE="$(getknoppixparam.lua KEYTABLE)"
       DESKTOP="$(getoption.lua $HOME/.desktop wm)"
       ICONS="$(getoption.lua $HOME/.desktop icons)"
       
       # For non-US Keyboards
       if [ ${KEYTABLE:0:2} != "us" ]; then
         xmodmap -e "clear Mod4" -e "add Mod5 = Mode_switch" &
       fi
       
       #if egrep -qv noicons /proc/cmdline 2>/dev/null; then
       if [ "$ICONS" == 1 ]; then
         for x in `ls -1 .xtdesktop/*.hide 2>/dev/null`; do rm -f ${x%.*}; done
         iconsnap.lua &>/dev/null &
         xtdesk.sh
       fi
       dillo /usr/share/doc/dsl/getting_started.html &>/dev/null &
       torsmo 2>/dev/null &
       case $DESKTOP in
         fluxbox )
           fluxter &>/dev/null &
           wmswallow -geometry 70x80 docked  docked.lua &
           exec fluxbox 2>/dev/null
         ;;
         jwm )
           ./.background
           sleep 2
           exec jwm 2>/dev/null
         ;;
         * )
           exec fluxbox 2>/dev/null
         ;;
       esac

Wenn man DSL 1.x benutzt, wird man einige Unterschiede bemerken. Der gravierendste ist wohl der "case"-Block, der eingeführt wurde, nachdem der JWM Fenstermanager mit in DSL übernommen wurde als Alternative zu fluxbox. Dieser "case"-Block erlaubt den Start des Fenstermanagers deiner Wahl, zusammen mit spezifischen Anwendungen, entweder über eine Boot-Option oder durch ändern einer Zeile in /home/dsl/.desktop.

Man beachte, dass in jedem Teil dieses Blocks verschiedene Anwendungen aufgeführt sind. Das erlaubt z.B. den Start von fluxter in fluxbox, aber nicht in JWM, wo fluxter nicht funtioniert. Man beachte ebenso, dass oberhalb des "case"-Blocks Anwendungen aufgeführt sind, die auf beiden Fenstermanagern laufen, z.B. dillo oder torsmo.

Zur Verdeutlichung: Wenn man eine Anwendung, die auf beiden Fenstermanagern laufen soll, automatisch mit X starten lassen will, dann gehört der Befehl vor dem "case"-Block eingefügt. Soll eine Anwendung nur mit einem bestimmten Fenstermanager laufen, so gehört die Anweisung dazu innerhalb dessen Bereich eingefügt.

Anm. d. Übers.: Ich habe z.B. dillo und torsmo mit einem # auskommentiert und, zur Sicherheit dazwischen, Firefox 2.0 und conky eingefügt, und zwar folgendermaßen:

     # dillo /usr/share/doc/dsl/getting_started.html &>/dev/null &
     mydsl-load /tmp/firefox-2.0-gtk1.uci
     mydsl-load /tmp/conky.uci
     LD_LIBRARY_PATH=/opt/conky/lib /opt/conky/bin/conky &>/dev/null &
     # torsmo 2>/dev/null &

Die genaue Bedeutung und wie ich FF deutsch bekommen habe, stehen im HowTo auf dem deutschen DSL-Forum. Ende Anm.

Das et-Zeichen (&), das bei manchen Befehlen am Ende steht, bewirkt, dass der Befehl im Hintergrund weiterläuft und so das Script weiter abgearbeitet werden kann. Die meisten Anwendungen brauchen dieses &, aber manche, wie xset oder xsri, sind so schnell und beenden sich gleich wieder, so dass das & hier optional ist.

Der einzige Befehl, den man auf keinen Fall mit einem & abschließen sollte, ist das endgültige Startkommando für den Fenstermanager, denn wenn der Fenstermanager im Hintergrund gestartet wird, dann wird das .xinitrc-Script abgearbeitet, beendet sich, X wird beendet und du bist wieder auf der Kommandozeile.