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. Technischer Projekt Manager (m/w) Online Services
    Alltrucks GmbH und Co. KG über IRC International Recruitment Company Germany GmbH, München
  2. Datenbank Administrator (m/w)
    MicronNexus GmbH, Hamburg
  3. Netzwerktechniker (m/w)
    Funkwerk video systeme GmbH, Nürnberg, Frankfurt am Main
  4. SAP SD / CRM Inhouse Berater (m/w)
    Thalia Holding GmbH, Hagen

 

Detailsuche


Folgen Sie uns
       


  1. Spiele-API

    DirectX-11 wird parallel zu DirectX-12 weiterentwickelt

  2. Streaming-Box

    Netflix noch im Herbst für Amazons Fire TV

  3. Schnell, aber ungenau

    Roboter springt im Explosionsschritt

  4. Urteil

    Foxconn-Arbeiter wegen iPhone-6-Diebstahl verhaftet

  5. Weniger Consumer-Notebooks

    Toshiba baut 900 Arbeitsplätze in der PC-Sparte ab

  6. XSS

    Cross-Site-Scripting über DNS-Records

  7. Venue 8 7000

    6-mm-Tablet wird mit Dell Cast zum Desktop

  8. HTML5-Videostreaming

    Netflix arbeitet an Linux-Unterstützung

  9. iPhone 6 und iPhone 6 Plus im Test

    Aus klein mach groß und größer

  10. Cloudflare

    TLS-Verbindungen ohne Schlüssel sollen Banken schützen



Haben wir etwas übersehen?

E-Mail an news@golem.de



Netflix-Start in Deutschland: Der Kampf um den Video-on-Demand-Markt
Netflix-Start in Deutschland
Der Kampf um den Video-on-Demand-Markt

Alcatel Onetouch Fire E im Kurztest: Gutes Gehäuse, träges Betriebssystem
Alcatel Onetouch Fire E im Kurztest
Gutes Gehäuse, träges Betriebssystem
  1. Firefox-Nightly Web-IDE von Mozilla zum Testen bereit

Test Destiny: Schicksal voller Widersprüche
Test Destiny
Schicksal voller Widersprüche
  1. Destiny 500 Millionen US-Dollar Umsatz mit "steriler Welt"
  2. Destiny "Größter Unterschied sind sehr pixelige Schatten"
  3. Bungie Kostenloses Upgrade von Old- zu Current-Gen-Konsolen

    •  / 
    Zum Artikel