• IT-Karriere:
  • Services:

Systemd

Hotplugging für Multiseats unter X.org

Mit einem Patch für X.org soll es unter Linux-Distributionen mit der Dienstverwaltung Systemd möglich sein, Mehrfachsitzungen samt Hotplugging zu verwenden. Für das Hotplugging ist Udev zuständig.

Artikel veröffentlicht am ,
Lennart Poettering
Lennart Poettering (Bild: Golem.de)

Mit Systemd 3.0 erhält X.org Unterstützung für Mehrplatzrechner samt Hotplugging mit Udev. Lennart Poettering, Initiator von Systemd, hat den Patch für X.org und Udev in einer Mailingliste vorgestellt. Jede Sitzung kann auf Geräte per Udev zugreifen. Das Hotplugging-Framework kümmert sich um die Verwaltung von Geräten, indem es die Geräte mit ID-Tags versieht. Systemd definiert die gesamte Hardware, die einer bestimmten Sitzung zugeordnet ist, als sogenanntes Seat. In einem Seat wird zunächst mindestens eine Grafikkarte definiert.

Stellenmarkt
  1. Paracelsus-Klinik Golzheim, Düsseldorf
  2. Bundesrechnungshof, Bonn

In der Udev-Datenbank können weitere Geräte für die Verwendung in Seats bestimmt werden. Das gilt dann auch für etwaige Subdevices, etwa alle an einem USB-Hub angeschlossenen Geräte. Um die Zuweisung von Geräten beim Start zu beschleunigen, werden die mit einem bereits vordefinierten Seat-Tag erst dann initialisiert, wenn eine entsprechende Sitzung gestartet wird. Mit der Udev-Eigenschaft Autoseat hingegen können bereits beim Systemstart Seats zusammengestellt werden, die explizit in den Udev-Definitionen unter einem bestimmten Namen festgelegt sind.

Alle nicht konfigurierten Geräte werden automatisch Seat0 zugeordnet, den Systemd als Standard-Seat definiert. Dort enumerierte Geräte werden beim Systemstart immer initialisiert. Seat0 ist auf jedem System vorhanden, auch wenn es nicht als Mehrplatzrechner eingesetzt werden soll.

Standard ist Seat0

Displayserver müssen künftig über Seat-IDs die Grafikkarte und die Eingabegeräte initialisieren. Displaymanager, etwa GDM, hingegen müssen Geräte für Seats zunächst über die D-Bus-Schnittstelle des Anmeldedienstes Logind enumerieren und zwischenzeitlich neu erstellte Seats einbinden. Für jeden Seat muss der Displaymanager dann einen Xserver initialisieren und ein Loginfenster präsentieren. Bootsplash-Software wie Plymouth muss initialisierte Hardware dann freigeben, sobald ein Xserver gestartet wird. Seat-Informationen werden von Bootsplash-Software nicht ausgewertet.

Softwareentwickler, die direkt auf Kernel-Treiber zugreifen wollen, sollten Seat-Informationen ignorieren und Benutzern sämtliche Hardwaregeräte zur Verfügung stellen. Die Software sollte Device-Nodes regelmäßig über Inotify auslesen, um Informationen über deaktivierte oder neu aktivierte Sitzungen und dadurch veränderte Verbindungen zur Hardware zu überwachen. Die Anwendung muss mit der entsprechenden User-ID laufen.

Eine Benutzerschnittstelle für die Konfiguration von Seats und die Belegung spezifischer Hardware sollte sämtliche Hardware mit der Seat-ID unter Udev identifizieren und die entsprechende ID auslesen. Hardware kann per D-Bus-Aufruf Attachdevice über den Logind-Dienst erneut zugewiesen werden. Der Seatname wird von Logind aus Sysfs ausgelesen. Alternativ kann ein neuer Seat erstellt werden, in dem die Grafikkarte unter einem bisher nicht verwendeten Seat-Namen erneut initialisiert wird.

Mit dem neuen Code will Poettering nicht nur Systemd für Mehrplatzrechner erweitern. Gegenwärtig gibt es einige Probleme bei der Verwendung von Hotplugging in Mehrplatzumgebungen unter X.org. Normalerweise horchen alle aktiven Xserver an allen Peripherie-Geräten. Nur mit Inputdevice und abgeschaltetem Hotplugging funktioniert Multiseat auch korrekt. Werden dann Geräte abgezogen, können sie in einer Sitzung nicht nochmal initialisiert werden. Die Sitzung muss danach neu gestartet werden. Bei den Fluktuationen an USB-Anschlüssen, etwa wenn dort ein neues Gerät angeschlossen wird, können Mäuse oder Tastaturen die Verbindung zu der laufenden Sitzung verlieren.

Unter Freedesktop.org wird die Verwendung von Systemd, Udev und Seats beschrieben. Den Code für die Patches hat Poettering in einer E-Mail veröffentlicht.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. ab 84,90€ auf Geizhals
  2. 86,51€ (Vergleichspreis 98,62€ + Lieferzeit, 103,78€ sofort verfügbar)
  3. 418,15€
  4. 515,65€

Hello_World 26. Jul 2011

Abgesehen davon, dass das nicht stimmt (siehe z. B. http://lwn.net/Articles/429912/, die...


Folgen Sie uns
       


    •  /