Zwei Desktops, ein Computer?

guru

Well-Known Member
Guten Tag!

Da unter Unices allgemein Anschlüsse, Ausgänge etc. definiert und ansprechbar sind und X netzwerkfähig ist, bin ich auf einen Gedanken gekommen: Technisch sollte es doch möglich sein, an einen Computer zwei Mäuse, zwei Tastaturen und zwei Monitore zu schließen und so zwei vollwertige Desktops zu bekommen, die sich halt dann die Hardware teilen. So könnten zwei Leute an zwei Arbeitsplätzen arbeiten. Hat das jemand probiert? Müsste man dann nicht auch zwei Displaymanager nutzen?

Danke für eure Antworten!
 
Ich hab zwar keine Erfahrung darin, aber das was du suchst, nennt sich "Multiseat". Google spuckt dazu eine Menge aus.
 
Ich glaube so Standardmäßig ist das nicht möglich, man müsste glaub ich den X-Server sowie alles was mit dem Handling der Eingabegeräte zu tun hat und die Schnittstelle zwischen X und den Eingabgegeräten mächtig anpassen, und das nicht nur in der Konfiguration. Damit wäre das dann reintheoretisch möglich.

Ohne Anpassung könnte man an die Monitore, Mäuse e.t.c. ThinClients anschließen (kleine leistungsarme MiniPCs) und den Leistungsfähigeren Rechner dann als ein Terminalserver übers Netzwerk ansprechen.
 
Wenn ich mich recht erinnere hatten wir ein ähnliches Thema schon mal von ~10 Jahren.
 
Multiseat ist ohne Probleme, oder sagen wir es mal so mit einer überschaubaren Anzahl an Problemen möglich ;) Größtes Problem ist hier wirklich der Display Manager da nicht jeder zweimal starten kann. Glaube GDM kann das seit Gnome 3 nicht mehr, xdm sollte aber gehen. Allgemein musst du nur jedes Eingabegerät und Ausgabegerät in deiner Xorg Konfiguration festlegen und am Ende den verschiedenen Serverlayouts zuteilen. Ich hatte damals eine Anleitung zu diesem Thema geschrieben, finde diese aber nicht mehr. Eine alte xorg.conf habe ich aber noch gefunden damit du das Prinzip einmal sehen kannst. Erstelle mit X --configure eine Vorlage die zu deinem System passt und passe diese einfach an. Testen kannst du das ganze dann z.B einfach mit einem "startx -- -layout seat0 -config /etc/X11/xorg.conf.multiseat".

Am besten hat das zumindest unter Linux mit Nvidia Karten funktioniert, am besten für jeden Monitor eine. Sofern du kein Gaming betreiben willst sollte eine einfache geforce 210 oder Nachfolger ausreichen. Sind klein, sparsam und passen nebeneinander.

Code:
Section "ServerLayout"
    Identifier     "seat0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    Option          "AutoAddDevices"        "off"
EndSection

Section "ServerLayout"
    Identifier     "seat1"
    Screen      1  "Screen1" 0 0
    InputDevice    "Mouse1" "CorePointer"
    InputDevice    "Keyboard1" "CoreKeyboard"
    Option          "AutoAddDevices"        "off"
EndSection

Section "Files"
    ModulePath   "/usr/lib64/xorg/modules"
    FontPath     "/usr/share/fonts/local"
    FontPath     "/usr/share/fonts/TTF"
    FontPath     "/usr/share/fonts/OTF"
    FontPath     "/usr/share/fonts/Type1"
    FontPath     "/usr/share/fonts/misc"
    FontPath     "/usr/share/fonts/CID"
    FontPath     "/usr/share/fonts/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/75dpi"
    FontPath     "/usr/share/fonts/100dpi"
    FontPath     "/usr/share/fonts/cyrillic"
EndSection

Section "Module"
    Load  "dri2"
    Load  "glx"
    Load  "dri"
    Load  "dbe"
    Load  "extmod"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "evdev"
    Option      "Device"        "/dev/input/event1"
    Option      "XkbModel"      "evdev"
EndSection

Section "InputDevice"
    Identifier  "Keyboard1"
    Driver      "evdev"
    Option      "Device"        "/dev/input/event5"
    Option      "XkbModel"      "evdev"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mouse1"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mouse3"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Monitor"
    Identifier   "Monitor1"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    VendorName  "Unknown Vendor"
    BoardName   "Unknown Board"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "Card1"
    Driver      "radeon"
    VendorName  "Unknown Vendor"
    BoardName   "Unknown Board"
    BusID       "PCI:4:1:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "Screen1"
    Device     "Card1"
    Monitor    "Monitor1"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection
 
Aber man muss schon pro Arbeitsplatz eine dedizierte Grafikkarte haben, was das Ganze schon mal um einiges unattraktiver macht. Oder liege ich da komplett falsch?
 
@zuglufttier Laut einigen Quellen soll es wohl möglich sein auch mit einer Grafikkarte zwei Arbeitsplätze einzurichten, zumindest mir ist es aber nie gelungen. Mit den propitären Nvidia Treiber scheint das wohl nicht zu gehen.

Zwei Grafikkarten sind wirklich die einzige zuverlässige Methode. Grundsätzlich können es auch verschiedene sein wie eine Onboard Intel und eine Nvidia. Kann aber problematischer sein. Nebenbei kosten brauchbare Desktop Karten wie die GT 210/610 ab 25 Euro, daher sind die Kosten überschaubar. Das Mainboard muss natürlich Platz bieten. Gegen USB Karten spricht aber auch nichts. Eignen sich aber wirklich nur für Desktop.
 
ThinClients sind auf dem 2nd Hand Markt gewiss günstiger und sorgenfreier in der Einrichtung als ein Multi-Seat Setup. Fraglich ist nur ob es um die reine Machbarkeit geht oder ob darum mehrere PC-Plätze kostengünstig bereit zu stellen. BYOD wäre da auch ein Ansatz...
 
Hallo nochmal.

Vielen Dank für die Antworten. Ich konnte es leider mangels Unterstützung für Skylake-Grafik bei zeitgleicher Verwendung von nv zwar noch nicht hinbekommen, ist aber an sich eine nette Spielerei. Wusste auch nicht, dass sich das ganze Multiseat nennt, danke! Hab bislang einiges über meinen Raspberry getunnelt, jetzt fühl' ich mich richtig cool :D An sich ging es mir nur um die Machbarkeit.
 
Zurück
Oben