Systemd: Hotplugging für Multiseats unter X.org
Lennart Poettering (Bild: Golem.de)

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.

Anzeige

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.

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.


Hello_World 26. Jul 2011

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

Kommentieren



Anzeige

  1. (Senior-)Business Partner IS (m/w)
    AstraZeneca GmbH, Wedel bei Hamburg
  2. Sachgebietsleiter (m/w) Controlling und kaufmännische EDV
    STWB Stadtwerke Bamberg GmbH, Bamberg
  3. Senior Ingenieur (m/w) Software-Integration
    e.solutions GmbH, Ulm
  4. Abteilungsleiter IT-Systemtechnik (m/w)
    LÖWEN ENTERTAINMENT GmbH, Bingen bei Mainz

 

Detailsuche


Folgen Sie uns
       


  1. Threshold

    Microsoft China scherzt über Startmenü in Windows 9

  2. Lieferdrohnen

    Nasa entwickelt Leitsystem für Flugroboter

  3. Radeon R9 285

    Die schnellste Grafikkarte mit nur zwei 6-Pol-Anschlüssen

  4. Bitcoin

    Charles Shrem will sich schuldig bekennen

  5. Mozilla

    Firefox 32 verbessert Werkzeuge und Leistung

  6. Shiro Games

    Evoland 2 soll Hommage an Rollenspiel-Genre werden

  7. Gegen Vectoring

    Tele Columbus erhöht auf 150 MBit/s

  8. Libdrm

    Mesa bekommt erste Android-Unterstützung

  9. Die Sims 4

    Erster Patch macht Zäune zu Zäunen

  10. Kabel Deutschland

    App überträgt Zugangsdaten unverschlüsselt



Haben wir etwas übersehen?

E-Mail an news@golem.de



Test Infamous First Light: Neonbunter Actionspaß
Test Infamous First Light
Neonbunter Actionspaß
  1. Infamous Erweiterung First Light leuchtet Ende August 2014

Test Bioshock für iOS: Unterwasserstadt für die Hosentasche
Test Bioshock für iOS
Unterwasserstadt für die Hosentasche
  1. Unter Wasser Bioshock auf iOS-Geräten

Überschall-U-Boot: Von Schanghai nach San Francisco in 100 Minuten
Überschall-U-Boot
Von Schanghai nach San Francisco in 100 Minuten

    •  / 
    Zum Artikel