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