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. IT Specialist (m/w) Regional Support Center
    Siemens AG, Eschborn
  2. Anwendungsentwickler (m/w)
    spb GmbH elektronische Datenverarbeitung, Bremen
  3. Scrum Master (m/w)
    NEMETSCHEK Allplan Systems GmbH, München
  4. SAP Produktmanager (m/w)
    Bosch Thermotechnik GmbH, Wetzlar

 

Detailsuche


Folgen Sie uns
       


  1. Mayday

    Kindle-Besitzer können auf Knopfdruck Hilfe rufen

  2. Lufthansa Taxibot

    Piloten schleppen ihre Flugzeuge bald selbst zur Startbahn

  3. Geheimdienste

    USA und Deutschland wollen Leitlinien vereinbaren

  4. Geheimdienste

    DE-CIX bei manipulierter Hardware machtlos gegen Spionage

  5. Digitale Agenda

    Bund will finanzielle Breitbandförderung festschreiben

  6. DVB-T2

    HDTV sollte unverschlüsselt über Antenne kommen

  7. Wissenschaft

    Hören wie die Fliegen

  8. iWatch

    Apples Smartwatch könnte aus zwei Teilen bestehen

  9. Phishing-Angriffe

    Nigerianische Scammer rüsten auf

  10. Nvidia Shield Tablet ausprobiert

    Schnelles Spiele-Tablet für Android mit WLAN-Controller



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Let's Player: "Es gibt Spiele, für die man bezahlt wird"
Let's Player
"Es gibt Spiele, für die man bezahlt wird"
  1. Transocean Handelssimulation mit Ozeanriesen
  2. Dieselstörmers angespielt Diablo plus Diesel
  3. Quo Vadis Computec Media übernimmt Mehrheit an Aruba Events

Oneplus One im Test: Unerreichbar gut
Oneplus One im Test
Unerreichbar gut
  1. Oneplus One-Update macht verkürzte Akkulaufzeit rückgängig
  2. Oneplus One könnte ab dem dritten Quartal vorbestellbar sein
  3. Cyanogenmod-Smartphone Weitere Käufer erhalten das Oneplus One

Android Wear: Pimp my watch
Android Wear
Pimp my watch
  1. Android Wear API für Watch Faces soll bald kommen
  2. Google Camera App Kamera-Fernbedienung für Android Wear
  3. Android Wear Erstes Custom-ROM für LGs G Watch erschienen

    •  / 
    Zum Artikel