Startx mit Windowmanager auswahl
startx mit Windowmanager auswahl
Da die Anleitung in der Mailingliste gut geklappt hat, stelle ich sie nun Überarbeitet ins Wiki.
Ich will aber auch noch eine kurze Einleitung dazu geben.
Wenn man den X Server nicht über einen Displaymanager starten will, sondern ihn nur ab und zu benätigt, geschieht dies mit startx. Dieses überprüft dann, ob sich eine xinitrc in /etc/X11/xinit/ befindet. Diese wird dann als default für alle user verwendet, die keine ~/.xinitrc Datei besitzen. Wenn sich mehrere Windowmanger auf dem System befinden ist es ratsam die xinitrc Datein der Manger einzeln zu speichern - also z.B. xinitrc.kde. /etc/X11/xinit/xinitrc ist dann ein symbolischer Link auf den jeweiligen default WM (Window Manager). Bei der Verwendung der ~/.xinitrc Dateien ist dies auch ratsam.
Leider muss man nun als user immer selbst die Links umändern. Um das ganze etwas "fauler" zu gestalten ist vielleicht diese Anleitung recht hilfreich. Sie erklärt die Verwendung des Skriptes an dem Beispiel von Enlightenment und Gnome.
Alle folgenden Schritte sind als Root zu erledigen.
In die Datei /usr/X11R6/bin/startX kommt:
#!/bin/bash # Written by Bernhard Guillon under the terms of the GPL case "$1" in e16) ln -sf /etc/X11/xinit/xinitrc.e16 ~/.xinitrc ;; gnome) ln -sf /etc/X11/xinit/xinitrc.gnome ~/.xinitrc;; *) echo $1 kenne ich noch nicht als Windowmanger;; esac startx -- -nolisten tcp
Diese wird nun mit
chmod 755 /usr/X11R6/bin/startX
ausführbar gemacht.
Nun legen wir die Datei
/etc/X11/xinit/xinitrc.e16
mit folgendem Inhalt an.
#!/bin/bash exec enlightenment
und machen diese wieder mit
chmod 755 /etc/X11/xinit/xinitrc.e16
ausführbar.
Nun legen wir noch die Datei
/etc/X11/xinit/xinitrc.gnome
an und füllen diese mit dem original Skript von Gnome
#!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # This nag screen isn't going to save anybody. export NAUTILUS_OK_TO_RUN_AS_ROOT=1 # Start the window manager: exec gnome-session
Das ausführbar machen mit
chmod 755 /etc/X11/xinit/xinitrc.gnome
nicht vergessen.
Nun müssen wir nicht mehr Root sein und unsere Arbeit ist für Enlightenment 16 und Gnome getan. Wer weitere Manager will kann diese gerne hinzufügen.
Nutzen kann man das Skript nun wie folgt
startX e16
Dies würde den Enlightenment starten.