Xubuntu: Xorg ohne LightDM und Root-Rechte ausführen
Standardmäßig wird unter Xubuntu der Xorg-Server durch den Display-Manager LightDM mit Root--Rechten ausgeführt. Aus Sicherheitsgründen ist es ratsam, jegliche Software, die nicht zwingend Root-Rechte benötigt, nur mit eingeschränkten Benutzerrechten auszuführen. Leider unterstützt LightDM derzeit kein sogenanntes "rootless Xorg" (siehe auch GitHub: LightDM - Support non-root X - Issue #18).
Grundsätzlich kann ich auf einen Display-Manager und eine Anmeldung per GUI verzichten. Aus diesem Grund habe ich derzeit mein System testweise so umgestellt, dass ich mich per virtueller Konsole (TTY) anmelde. Nach erfolgreicher Anmeldung wird dann automatisch der Xorg-Server und Xfce ohne Root-Rechte gestartet.
Xorg ohne Root-Rechte - Schritt für Schritt
Ausgangslage
Um sich anzeigen zu lassen, mit welchen Benutzerrechten Xorg läuft, kann bspw. folgender Befehl verwendet werden:
ps aux | grep 'lightdm\|xorg'
root 620 0.0 0.1 305872 7396 ? SLsl 12:59 0:00 /usr/sbin/lightdm
root 638 0.4 2.6 883296 107116 tty7 Ssl+ 12:59 0:04 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
Die Ausgabe verdeutlicht, dass sowohl LightDM als auch Xorg mit Root-Rechten laufen.
Anmeldung per Konsole (TTY/VT) einstellen
Im ersten Schritt habe ich die grafische Anmeldung per LightDM via systemd deaktiviert. Dazu dient folgender Befehl (siehe auch systemd: Special System Units):
sudo systemctl set-default multi-user.targetBeim nächsten Boot-Vorgang landet ihr nun direkt in der Konsole und könnt euch anmelden.
Xorg automatisch nach Login starten
Als nächstes muss dafür gesorgt werden, dass nach einem erfolgreichen Login der Xorg-Server automatisch gestartet wird. Bei mir habe ich es so eingestellt, dass wenn ich mich in der Konsole TTY1/VT1 am System anmelde, dann soll in VT1 Xorg gestartet werden. Dazu habe ich die .profile in meinem home-Verzeichnis wie folgt erweitert:
[...]
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
exec startx
fiDetails zum Code findet ihr sowohl im Arch-Linux-Wiki als auch im Gentoo-Linux-Wiki.
System neu starten
Nach einem Neustart des Rechner und der Anmeldung in TTY1 bzw. VT1 solltet ihr nun wie bei LightDM in eurer Xfce-Desktop-Umgebung landen. Nun können wir auch gleich noch sicherstellen, dass Xorg nicht mehr mit Root-Rechten ausgeführt wurde:
ps aux | grep 'lightdm\|xorg'
sl 703 2.4 3.1 953080 125528 tty1 Sl 13:24 0:08 /usr/lib/xorg/Xorg -nolisten tcp :0 vt1Anstatt mit Root-Rechten läuft Xorg nun mit meinen (eingeschränkten) Benutzerrechten.
Optional: Benutzername in TTY1/VT1 vorbelegen
In LightDM war mein Benutzer bereits vorausgewählt und ich musste nur noch das Passwort eingeben. Auf diesen Komfort wollte ich dann doch nicht verzichten. Gemäß Arch-Linux-Wiki habe ich dazu eine entsprechende systemd-Konfiguration vorgenommen.
Änderungen rückgängig machen
Um wieder die grafische Anmeldung per LightDM herzustellen, müsst ihr zum einen die Änderungen in eurer .profile wieder entfernen. Des Weiteren muss folgender Befehl ausgeführt werden:
sudo systemctl set-default graphical.targetFazit
Der Xorg-Server muss nicht zwangsweise mit Root-Rechten unter Xubuntu laufen, sondern kann auch mit eingeschränkten Benutzerrechten ausgeführt werden.
- 25. Juni 2021
Befehlstartxfce4durchstartxaufgrund von Problemen mitxfce-notifydersetzt