Debian Jessie 8.8 Multiseat-Einrichtung

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
SNR
Beiträge: 1
Registriert: 05.07.2017 22:53:26

Debian Jessie 8.8 Multiseat-Einrichtung

Beitrag von SNR » 07.07.2017 14:42:32

Hallo,

Ich bin dabei einen Multiseat-Rechner einzurichten. Grundsätzlich funktioniert es auch, aber ich hänge bei ein paar Kleinigkeiten.
Systembeschreibung:
- Rechner mit bis zu 4 Sitz- /Arbeitsplätzen
- jeder Platz hat einen aktiven 4-Port USB-Hub mit ext. Stromversorgung an dem je eine USB-Maus und USB-Tastatur stecken
- an den Hub sollen die Nutzer USB-Sticks, SD-Kartenleser usw. frei an und abstecken können
- jeder Arbeitsplatz hat auch einen eigenen Bluetooth-Adapter und eine kleine USB-Soundkarte(an USB-Hub)
- die Hardware an jedem Arbeitsplatz (Tast., Maus, Monitor, Bluetooth, Sound) ist identisch (Unterscheidung anhand von "path-by-id" nicht möglich)
- vor dem USB-Hub und Montior befinden sich je ein 230V- und 12V- Relais, die mit einem zentralen Schalter betätigt werden können (Hub, USB-Geräte und Monitor werden richtig ein-/ausgeschaltet)
Ziel:
Da das nicht der einzige Rechner ist, soll zeitgesteuert testen, ob ein Arbeitsplatz verwendet wird (USB-Hub des Adapters angeschlossen oder nicht) und nach Feierabend den Rechner abschalten.

Was funktioniert:
- grundsätzlich funktioniert MultiSeat (X-Server pro Platz, Eingabegeräte pro Arbeitsplatz, Soundkarten pro Platz usw.), allerdings musste ich die Maus/Tastatur fest in der X11-Config zuordnen und für das USB-Stick-Mounten in die "/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy" eingreifen

Was funktioniert nicht:
- Hotplug der USB-Tastaturen/ Maus, d.h. das das geplante Abschalten nicht möglich ist
- bei eingestecktem USB-Stick, meldet sich das Mountplasmoid auf allen Plätzen und nicht nur am Platz des Hubs
- ich musste in "/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy" die Einträge für <action id="org.freedesktop.udisks2.filesystem-mount-other-seat">
und <action id="org.freedesktop.udisks2.filesystem-umount-other-seat"> auf <allow_any>yes</allow_any> setzten -> soll nach Möglichkeit in "/etc/" konfiguriert werden
- Bluetoothadapter nicht nutzbar


erstes Thema/ Problem:
Sobald die USB-Eingabegeräte abgezogen und wieder angesteckt werden, geht an dem jeweiligen Sitzplatz nichts mehr. Die Geräte werden an sich erkannt und auch gemäß der "udev"- Rules dem "seat" zugeordnet. Das kann ich mit "logintcl seat-status" prüfen. Nur "X" oder "kdm" nutzen diese dann nicht. Wenn ich aber Maus/Tastatur nicht explizit in der xorg.conf angebe, dann gehen alle Mäuse auf einen Mauszeige, der auf allen Plätzen angezeigt wird und die Tastaturen gehen gar nicht.


Seat-Status seat1:
root@lmvws5:~# loginctl seat-status seat1
seat1
Devices:
├─/sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:02.0/0000:04:00.0/drm/card0
│ [MASTER] drm:card0
├─/sys/devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3.1/1-3.1:1.0/0003:046A:002F.0001/input/input3
│ input:input3 "Cherry GmbH Cherry TouchBoard"
├─/sys/devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3.1/1-3.1:1.1/0003:046A:002F.0002/input/input4
│ input:input4 "Cherry GmbH Cherry TouchBoard"
└─/sys/devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3.2
usb:1-3.2
Udev: ich habe, neben der Graka auch die USB-Hubs dem Sitzplatz zugeordnet (und nicht die Geräte einzeln):
SUBSYSTEM=="pci", DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:02.0/0000:04:00.0", TAG+="seat", TAG+="master-of-seat", ENV{ID_AUTOSEAT}="1", ENV{ID_SEAT}="seat1"
TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-0000_00_12_2-usb-0_3", ENV{ID_SEAT}="seat1"
xorg.conf (funktionierende Version mit fester Zuordnung):
Section "InputDevice"
Identifier "mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/by-path/pci-0000:00:12.2-usb-0:3.1:1.1-mouse"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
Option "GrabDevice" "yes"
EndSection

Section "InputDevice"
Identifier "keyboard1"
Driver "evdev"
Option "Device" "/dev/input/by-path/pci-0000:00:12.2-usb-0:3.1:1.0-event-kbd"
Option "XkbLayout" "de"
Option "GrabDevice" "yes"
EndSection

Section "InputClass"
Identifier "ignore_other_seats"
Option "Ignore" "yes"
EndSection

Jetzt meine konkrete Frage: Wie bekomme ich es hin, dass USB-Hotplug für USB-Eingabegeräte wieder funktioniert?



OS: Debian Jessie 8.8 (mit backports)
KDE 4.12.2 mit kdm

Antworten