Login Hack in X (Linux)
Einen Login Manager habe ich nicht in Debian. Debian laeuft bei mir in einer VM und dort quasi immer. Wenn ich die VM nicht brauche kommt sie in den Suspend. Ich melde mich also ueber den Mac am System an.
Mit folgendem Hack erreiche ich ein fuer mich optimales Login:
In meiner /etc/inittab
(das init System in Linux definiert Runlevels und in der inittab definiert die Prozesse, welche beim Start der Runlevels gestartet werden):
1:2345:respawn:/bin/login -f munen tty1 /dev/tty1 2>&1
Normalerweise sollte da ein Login stehen, etwa getty
fuer Konsolen Login. Mein Hack loggt automatisch den User `munen` ein.
In der /etc/passwd
steht welche Shell der User `munen` moechte, das ist bei mir die zsh
. Diese wird beim Login des Users also gestartet. Eine der Konfigurationsdateien, welche die ZSH liesst ist die ~/.zprofile
. In dieser steht Folgendes:
if [[ -z "$DISPLAY" && $(tty) = /dev/tty1 ]]; then
exec startx
fi
Das bedeutet, dass wenn die ZSH startet geprueft wird, ob ich auf den tty1 eingeloggt bin (siehe inittab). Falls ja, wird X via startx
gestartet. Das ist ein Shell Script was im xinit
Paket von Debian mitkommt. Dieses startet X ohne Login Manager.
Et voilà! Linux startet mit graphischer Oberflaeche ohne nur eine Passwort Eingabe! Ich betone nochmal, das mache ich, da ich den Mac _immer_ locke wenn ich ihn verlasse und mein Linux ausschliesslich als VM im Mac laeuft.
Ist ein Hack, aber auch ein gutes Beispiel dafuer dass man mit einem Linux machen kann was man mag – wenn man es denn will^^