X.org X-Server und logind

Versucht man eine X-Sitzung per startx zu starten kann es sein, dass dies mit der Fehlermeldung

[...] (EE) modeset(0): drmSetMaster failed: Permission denied

abbricht. Ein mögliche Ursache hierfür ist das Fehlen des logind basierten Sitzungsmanagement. Diese Funktionalität wurde im Rahmen des Softwarepakets systemd [1] entwickelt und hält Einzug in immer mehr Programme um dort sitzungbasiert Berechtigungen zu verwalten. Ob logind korrekt funktioniert, kann man prüfen indem man folgendes auf der console eingibt:

$ loginctl
SESSION        UID USER             SEAT             TTY

0 sessions listed.
$

Es sollte, anders wie hier gezeigt, eine Liste der Sitzungen erscheinen. Sieht die Ausgabe aus wie hier, oder schlägt der Befehl direkt fehl, gibt es mehrere Möglichkeiten das Problem zu lösen:

  • systemd [1] mit all seinen Vor und Nachteilen nutzen. logind wurde als Bestandteil dieser Software entwickelt und funktioniert automatisch
  • elogind [2] nutzen. Diese Software kann zusammen mit anderen init-Systemen verwendet werden und implementiert den größten Teil der logind Funktionalitäten von systemd. Sie wurde aus dem Quellcode von systemd extrahiert um die Funktionalität auch in Verbindung mit anderen init-Systemen anzubieten.

Devuan

Für Devuan als systemd freie Debian Alternative gibt es bereits vorbereitete Pakete in der suite „ascii-proposed“:

$ apt-get install elogind libpam-elogind
...
$ elogind pam module aktivieren
$ pam-auth-update

Links

[1](1, 2) https://www.freedesktop.org/wiki/Software/systemd/
[2]https://github.com/elogind/elogind