[[Vorlage(Archiviert, "Aktuelle Ubuntu-Versionen verwenden [:systemd:]. Hier wird für ein Multiseat-System nur noch [:LightDM:] (oder ein entsprechender anderer Displaymanager) und [:udev:] benötigt. Siehe [post:8948450:Diskussion zum Artikel].")]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Systeminformationen_ermitteln:] [:sudo:Root-Rechte erlangen] [:Editor: Einen Editor verwenden] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/Oxygen/X.png, 48, align=left)]] [wikipedia:Mehrplatzrechner:Multiseat] ist die englische Bezeichnung für einen Mehrplatzrechner. Mit einem solchen System ist es möglich, mit mehreren Benutzern zur gleichen Zeit unabhängig an einem Computer zu arbeiten. Jeder Benutzer besitzt einen eigenen Monitor, eine Tastatur, Maus und auch einen eigenen Desktop. Während dieser Ansatz in den westlichen Industrienationen eher selten ist, gewinnt er in vielen anderen Teilen der Welt an Bedeutung. Ein Beispiel: ein Vierkern-Prozessor kann auf diese Weise bis zu 10 Office-Arbeitsplätze gleichzeitig bedienen, spart aber die Anschaffung und den Energiebedarf für 9 weitere Rechner ein. Weitere Vorteile liegen in der Systempflege und der gemeinsamen Nutzung von Druckern etc. (Quelle: [http://lwn.net/Articles/455972/ The world's largest Linux desktop deployment] {en}). {{{#!vorlage Hinweis Viele Bereiche von Ubuntu sind noch nicht an einen Multiseat-Betrieb angepasst und es kann an einigen Stellen zu Einschränkungen kommen. Außerdem gibt es noch einige ungelöste Bugs, sodass sich in jedem Fall das Studieren des Abschnitts mit [#Problembehebung häufigen Problemen] und der einschlägigen Bug-Tracker lohnt. }}} =Hardware-Voraussetzungen= Ein Mehrplatzrechner stellt höhere Anforderungen an das verwendete System. Sollte ein Benutzer die Ressourcen des Systems voll auslasten, sind alle weiteren Benutzer in dieser Zeit nur eingeschränkt arbeitsfähig. Ein schneller Prozessor mit 2 Kernen und mindestens 2 GB Arbeitsspeicher sollten vorhanden sein, um sinnvoll arbeiten zu können. Weiter müssen für jeden Benutzer eine Grafikkarte, ein Bildschirm, eine Tastatur und eine Maus zur Verfügung gestellt werden. Grundsätzlich können Grafikkarten verschiedener Hersteller gemischt werden, sofern nur freie Treiber zum Einsatz kommen. Verwendet man hingegen proprietäre Treiber, so werden bestimmte Bibliotheken überschrieben, sodass andere Grafiktreiber nicht oder nur eingeschränkt funktionieren. Wenn möglich, sollten also alle Grafikkarten vom selben Hersteller sein, um Probleme zu vermeiden. = Xorg-Konfiguration = == Ermitteln der Grafikkarten == Zunächst muss die PCI-Adresse der Grafikkarten ermittelt werden. Falls eine auf dem Mainboard integrierte Grafikkarte (onboard) und eine weitere Grafikkarte parallel betrieben werden soll, muss vorher im BIOS der Parallelbetrieb beider Grafiksysteme aktiviert werden. Auch wenn viele moderne Mainboards dies unterstützten, ist diese Option standardmäßig deaktiviert, um Strom zu sparen. Mit folgendem Befehl können die internen PCI-Adressen der Grafikkarten ermittelt werden [1][2]. {{{#!vorlage Befehl lspci | grep -i 'vga\|graphic' }}} Beispielausgabe: {{{ 00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: ATI Technologies Inc Cedar PRO [Radeon HD 5450] }}} Die PCI-Adresse (im Beispiel: 00:02.0 und 01:00.0) werden im Folgenden für die Zuordnung der Seats benötigt. == Minimalkonfiguration der Seats == Für jeden Benutzer wird jeweils eine eigene Konfiguration (Seat) angelegt [3][4], um einen separaten [:XServer:] zu ermöglichen. Dabei sollte immer möglichst wenig vorkonfiguriert werden und stattdessen die Autokonfiguration genutzt werden. Die Konfigurationsdateien werden im Ordner '''/etc/X11/''' angelegt. Für ein System mit zwei Seats kann dies wie folgt aussehen: * '''xorg_seat1.conf''': {{{#!code text Section "Device" Identifier "Seat1" Driver "intel" # Hier den Grafikkartentreiber einstellen z.B. Intel, AMD BusID "PCI:0:2:0" # Hier die BusID anpassen EndSection Section "InputClass" Identifier "ignore_other_seats" Option "Ignore" "yes" EndSection Section "InputClass" Identifier "use_seat_devices" MatchTag "input_seat1" Option "Ignore" "no" EndSection }}} * '''xorg_seat2.conf''': {{{#!code text Section "Device" Identifier "Seat2" Driver "ati" # Hier den Grafikkartentreiber einstellen z.B. Intel, AMD BusID "PCI:1:0:0" # Hier die BusID anpassen EndSection Section "InputClass" Identifier "ignore_other_seats" Option "Ignore" "yes" EndSection Section "InputClass" Identifier "use_seat_devices" MatchTag "input_seat2" Option "Ignore" "no" EndSection }}} In jeder Konfigurationsdatei gibt es zwei Abschnitte ''InputClass''. Der erste Abschnitt blockiert zunächst alle Eingabegeräte, wobei der zweite wieder selektiv Eingabegeräte mit einem bestimmten ''MatchTag'' zulässt. Welche Eingabegeräte zugeordnet werden, wird später mittels [:udev:]-Regeln eingestellt. Für jeden weiteren Seat lassen sich analog weitere Konfigurationen hinzufügen. {{{#!vorlage Warnung Werden Konfigurationen für den XServer aktiviert, die ausschließlich Eingabegeräte mit einer bestimmten Kennzeichnung verwenden, müssen entsprechende [#udev-Regeln-fuer-Eingabegeraete udev-Regeln] erstellt werden. Anderenfalls lassen sich keine Eingaben tätigen. }}} {{{#!vorlage Hinweis Um Problemen vorzubeugen, sollten die PCI-Adressen in den Konfigurationsdateien einstellig angegeben werden. Aus `00:02.0` wird so `0:2:0`. }}} == Hinzufügen zentraler Einstellungen == Neben den individuellen Einstellungen der Seats können auch allgemeine Einstellungen, die für alle Seats gelten sollen, vorgegeben werden. Hierfür können im Verzeichnis '''/usr/share/X11/xorg.conf.d/''' (bei Ubuntu 10.04 '''/usr/lib/X11/xorg.conf.d/''') [:xorg.conf.d:Konfigurationsdateien] hinterlegt werden, die bei jedem Start eines XServers oder beim Entfernen und Hinzufügen von Eingabegeräten angewandt werden. Dabei sollten möglichst neue Dateien hinzugefügt werden und bestehende nicht geändert werden. Die Konfigurationen werden in alphanumerischer Reihenfolge anhand ihrer Dateinamen verwendet. Dazu beginnen diese mit `00...`, `01...` usw. Um für alle Seats ein deutsches Tastaturmodell einzustellen, kann folgende Datei genutzt werden: * '''00-german-keylayouts.conf''': {{{#!code text Section "InputClass" Identifier "German Keyboard Layout" MatchIsKeyboard "yes" Option "XkbModel" "evdev" Option "XkbLayout" "de" EndSection }}} Das generelle Aktivieren des XServer-Neustarts mit [[Vorlage(Tasten, strg+alt+backspace)]] ist wie folgt möglich: * '''00-x-restart-shortcut.conf''': {{{#!code text Section "InputClass" Identifier "Enable X Restart Shortcut" MatchIsKeyboard "yes" Option "XkbModel" "evdev" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection }}} Und das Deaktivieren des Grafikkartenlogos beim XServer-Start funktioniert mit: * '''00-nolog.conf''': {{{#!code text Section "Device" Identifier "Disable Logo" Option "NoLogo" "True" EndSection }}} =udev-Regeln für Eingabegeräte= Um Eingabegeräte wie z.B. Tastaturen, Mäuse, Tablets usw. nur einzelnen Seats zugänglich zu machen, werden sie im Hotplug-Manager [:udev:] entsprechend gekennzeichnet. Zu diesem Zweck können Regeln im Verzeichnis '''/etc/udev/rules.d/''' angelegt werden. Die Abarbeitung erfolgt alphanumerisch anhand der Nummerierung der Dateinamen. Eine Regel muss die Endung '''.rules''' besitzen. Systemregeln sind zumeist unter '''/lib/udev/rules.d/''' zu finden. Zugunsten der Übersichtlichkeit sollte für jeden Seat eine eigene Datei angelegt werden. ==Herstellerinformationen auslesen== Regeln können anhand des Gerätenamens, der Geräte-ID oder des USB-Anschlusses erstellt werden. Deshalb werden zunächst die benötigten Informationen ermittelt. Folgendes Kommando gibt alle Eingabegeräte des System aus: {{{#!vorlage Befehl dmesg | grep -i "input:" }}} Beispielausgabe: {{{ [ 1745.947493] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input21 }}} Um Informationen über USB-Anschlüsse zu erhalten, kann auch: {{{#!vorlage Befehl lsusb }}} oder {{{#!vorlage Befehl dmesg | grep -i "usb" }}} verwendet werden. Eine sehr ausführliche Information zu einem bestimmten Gerät und dem verwendeten Anschluss kann aus dem udev-System ermittelt werden: {{{#!vorlage Befehl udevadm info --query=all --path=/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input21 --attribute-walk }}} Darauf folgt eine sehr ausführliche Ausgabe aller beteiligten Komponenten. Für die spätere udev-Regel sind vor allem diese Zeilen wichtig: {{{ looking at device '/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input21': ... ATTR{name}=="Logitech USB-PS/2 Optical Mouse" ATTR{phys}=="usb-0000:00:1a.0-1.1/input0" ATTR{uniq}=="" ... looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.1': ... ATTRS{urbnum}=="445270" ATTRS{idVendor}=="046d" ATTRS{idProduct}=="c01e" ... }}} Um aktuelle Änderungen im udev-System in Echtzeit verfolgen zu können, kann auch {{{#!vorlage Befehl udevadm monitor }}} verwendet werden. == udev-Regel für ausgewählte Eingabegeräte == Geräte können anhand der ''ATTRS'' Attribute identifiziert werden. Empfehlenswert sind ''idVendor'' und ''idProduct''. Das Attribut muss in der udev-Regel geprüft werden und anschließend gekennzeichnet werden. Eine Konfiguration, die zunächst alle Geräte für den ersten Seat markiert, könnte wie folgt aussehen: * '''99-seat1.rules''': {{{#!code text SUBSYSTEM=="input", ENV{ID_INPUT.tags}="input_seat1" }}} Jede weitere Regel wird in eine neue Zeile geschrieben. Anschließend kann für jeden weiteren Seat eine Konfiguration erstellt werden, die bestimmte Geräte gemeinsam nutzen oder separat übernehmen. Soll die oben gefundene Maus ausschließlich am zweiten Seat genutzt werden, kann dies wie folgt erreicht werden: * '''99-seat2.rules''': {{{#!code text SUBSYSTEM=="input", ATTRS{idProduct}=="c01e", ENV{ID_INPUT.tags}="input_seat2" }}} Diese Regel besagt, dass alle Eingabegeräte (`SUBSYSTEM=="input"`) mit der Geräte-ID `c01e` (`ATTRS{idProduct}=="c01e"`) für den zweiten Seat markiert werden (`ENV{ID_INPUT.tags}="input_seat2"`). Die Markierung für den ersten Seat wird dabei überschrieben. Sollen Geräte gemeinsam genutzt oder endgültig einem Seat zugewiesen werden, können weitere Funktionen von udev genutzt werden, die in [#Weitere-Zuweisungsmoeglichkeiten weitere Zuweisungsmöglichkeiten] beschrieben werden. == udev-Regel für ausgewählten USB-Hub / USB-Anschluss == Soll für einen Seat ein eigener USB-Hub / USB-Anschluss verwendet, kann dies mittels `DEVPATH` realisiert werden. Dabei wird jedes Eingabegerät, dass dort angeschlossen wird, dem entsprechendem Seat zugewiesen. Um alle Geräte am USB-HUB 2 dem zweiten Seat zuzuweisen, kann die Konfiguration so aussehen: * '''99-seat2.rules''': {{{#!code text SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb2/*", ENV{ID_INPUT.tags}="input_seat2" }}} Dabei können Platzhalter, wie "`*`", "`?`" und "`[]`" eingesetzt werden. Außerdem können in der [:man:Manpage] zu udev weitere vordefinierte Variablen nachgelesen werden. {{{#!vorlage Hinweis Der `DEVPATH` kann sich an einigen Systemen bei jedem Neustart ändern, sodass in diesem Fall eine Identifikation über das angeschlossene Gerät erfolgen muss. }}} == Weitere Zuweisungsmöglichkeiten == Für die Umsetzung komplexerer udev-Regeln stehen weitere Funktionen zur Verfügung. Zu den wichtigsten gehören: * den bisherigen Wert einer Variable überschreiben: `=` * einen Wert einer Variable hinzufügen: `+=` * den bisherigen Wert einer Variable löschen: `=""` * weitere Änderungen einer Variable verhindern: `OPTIONS+="last_rule"` oder `:=` * ein Gerät vollständig ignorieren (gilt für alle Seats): `OPTIONS+="ignore_device"` Zusätzlich stehen vordefinierte Variablen für die Verwendung in Regeln zur Verfügung. Mithilfe des Attributs `SYMLINK` können eigene Einträge im Verzeichnis '''/dev/''' erzeugt werden. So ist es denkbar, alle Geräte eines Seats in einen separaten Ordner zu sammeln. Mittels des Attributs `RUN` können sogar (kurze) externe Programme gestartet werden. == Regeln wirksam machen == {{{#!vorlage Befehl sudo udevadm trigger }}} Dieses Kommando macht die Regeln wirksam und die Eingabegeräte stehen sofort den jeweiligen Seats zu Verfügung. Alternativ können Eingabegeräte auch kurz vom System getrennt werden, um sie automatisch zu erkennen. = Displaymanager = Zur grafischen Anmeldung am System gibt es eine Vielzahl an [:Displaymanager:Displaymanagern]. Seit Ubuntu 11.10 ist der desktopübergreifende [:LightDM:] bei Ubuntu und Xubuntu Standard (bei Lubuntu ab 12.04, bei Kubuntu ab 12.10). LightDM unterstützt den Multiseat-Betrieb von Haus aus und kann in Verbindung mit allen Desktops eingesetzt werden. Bei Systemen vor Ubuntu 11.10 kann LightDM jedoch nicht eingesetzt werden. Hier sollten die klassischen Displaymanager (z.B. GDM, KDM und LXDM) Verwendung finden. Die Aufgabe der Displaymanager besteht darin, einen XServer zu starten und ein grafisches Anmeldefenster bereit zustellen. In einer Multiseat-Umgebung müssen natürlich mehrere XServer mit unterschiedlichen Konfigurationen gestartet werden und verschiedenen Grafikkarten zugewiesen werden. Dabei stehen viele Parameter zur Verfügung. Die Wichtigsten sind: {{{#!vorlage Tabelle <-2 rowclass="titel"> XServer Parameter +++ Parameter Erläuterung +++ `:X` Displaynummer des XServers +++ `vtX` Gibt die Nummer des virtuellen Terminals an (z.B. `vt7`) +++ `-config DATEINAME` Anzuwendende [#Xorg-Konfiguration Konfigurationsdatei] +++ `-nolisten tcp` Verhindert die Kommunikation des X-Servers über das Netzwerk (default) +++ `-sharevts` Gestattet mehreren Seats, sich ein virtuelles Terminal zu teilen. Dies sollte nicht für den ersten Seat angegeben werden. +++ `-novtswitch` Verhindert das Wechseln der virtuellen Konsole mit [[Vorlage(Tasten, Strg+Alt+F1)]] bis [[Vorlage(Tasten, Strg+Alt+F6)]] +++ `-keeptty` Erhält die Verbindung zwischen X-Server und Terminal. Sollte nur zum Debugging genutzt werden. +++ `-isolateDevice PCI:ADRESSE` Separiert PCI-Geräte (z.B. Grafikkarten) }}} == LightDM == Der Displaymanager [:LightDM:] wird ab [:Precise:Ubuntu 12.04] als Standard bei Ubuntu, Xubuntu und Lubuntu eingesetzt. Die Konfigurationsdatei '''/etc/lightdm/lightdm.conf''' muss mit Root-Rechten editiert werden: {{{#!code text [LightDM] minimum-display-number=0 minimum-vt=7 [SeatDefaults] xserver-command=/usr/bin/X greeter-show-manual-login=true allow-guest=false exit-on-failure=true # Unity greeter-session=unity-greeter user-session=ubuntu ## Unity 2D #greeter-session=unity-greeter #user-session=ubuntu-2d ## GNOME 2 #greeter-session=unity-greeter #user-session=gnome-fallback ## GNOME 3 #greeter-session=unity-greeter #user-session=gnome-shell ## Xfce #greeter-session=lightdm-gtk-greeter #user-session=xubuntu ## LXDE #greeter-session=lightdm-gtk-greeter #user-session=lubuntu ## KDE #greeter-session=lightdm-qt-greeter #user-session=kubuntu [Seat:0] xserver-command=/usr/bin/X xserver-config=xorg_seat1.conf [Seat:1] xserver-command=/usr/bin/X :1 -sharevts -keeptty xserver-config=xorg_seat2.conf }}} {{{#!vorlage Hinweis In dieser Datei müssen die Dateinamen der XServer-Konfigurationsdateien und die PCI-BUS-IDs angepasst werden. Um weitere Seats hinzuzufügen, kann der Abschnitt `[Seat:1]` als Vorlage verwendet werden. Sollen für Seats unterschiedliche Einstellungen gelten, müssen diese aus dem Abschnitt `[SeatDefaults]` in alle `[Seat:]`-Abschnitte verschoben werden. }}} = Dateirechte, Share-Verzeichnisse = Häufig ist bei Multiseat-System auch der gemeinsame Zugriff auf Dateien erwünscht. Damit Dateien nicht immer explizit freigegeben werden müssen, empfielt sich der Einsatz von [:ACL:]. Auf diese Weise können unter anderem Share-Verzeichnisse einegrichtet werden, in denen jeder Datei automatisch die Freigabe für bestimmte Benutzer und Gruppen hinzugefügt wird. = Pulseaudio = Standardmäßig wird für jeden angemeldeten Nutzer eine Pulseaudio-Session gestartet. Dabei belegt die Pulseaudio-Session des ersten Nutzers __alle__ Audio-Geräte. Als Workaround muss Pulseaudio als systemweiter Dienst eingerichtet werden. Dadurch werden Zugriffskonflikte auf die Audio-Geräte vermieden und Nutzer können sich an jedem beliebigen Seat anmelden. Für den Zugriff auf den systemweiten Pulseaudio-Dienst müssen alle Nutzer der Gruppe "pulse-access" angehören. Anschließend können die Audio-Geräte den Seats in Abhängigkeit zur Display-Variablen automatisch per '''/etc/profile.d/multiseat-audio.sh''' zugeordnet werden: {{{#!code bash # # Select multi-seat audio devices # # !!! Run Pulseaudio in system daemon mode because of # sound device access conflicts in session mode # and ability to switch seats !!! # # !!! Add all users to pulseaudio group "pulse-access" !!! ## Get device names with "pactl list | grep Name" case "${DISPLAY#:}" in 0) ### Radeon GPU 1 HDMI audio export PULSE_SINK='alsa_output.pci-0000_01_00.1.hdmi-stereo' ### Onboard analogue input export PULSE_SOURCE='alsa_input.pci-0000_00_1b.0.analog-stereo' ;; 1) ### Radeon GPU 2 HDMI audio export PULSE_SINK='alsa_output.pci-0000_03_00.1.hdmi-stereo' ### Onboard analogue input export PULSE_SOURCE='alsa_input.pci-0000_00_1b.0.analog-stereo' ;; # 2) # ### # export PULSE_SINK='' # # ### # export PULSE_SOURCE='' # ;; # # . # . # . # . # . *) ### Fallback audio device for displays/seats not listed here export PULSE_SINK='' export PULSE_SOURCE='' ;; esac }}} = Problembehebung = == Schwarzer Bildschirm == Bei Verwendung des proprietären NVidia-Treibers (ab Version 302.xx) kann es vorkommen, dass manche Seats schwarz bleiben. Hier muss folgende Zeile in jede xorg.conf in den Abschnitt "Device" eingetragen werden. {{{#!code text Section "Device" ... Option "ProbeAllGpus" "false" ... EndSection }}} == Kein Ton == Bei der Verwendung von nur einer Soundkarte kann nur ein Anwender auf das Audiogerät zugreifen. Weitere Anwender bekommen von PulseAudio nur einen Audio-Dummy zur Verfügung gestellt. Das Problem kann behoben werden, indem jeder Benutzer den Gruppen `audio` und `pulse-access` zugewiesen wird. Jedoch blockieren bestimmte Anwendungen wie [:Java:]-Programme und der [:Archiv/Adobe_Flash:Flashplayer] das Audiogerät, so dass diese Anwendungen trotzdem nur einmal zur gleichen Zeit auf ein Gerät zugreifen können. Sollten mehrere Soundkarten im System vorhanden sein, können Arbeitsplätze an eine bestimmte Audiohardware gebunden werden. == Tastatureingaben landen auf der Konsole == Es ist möglich, dass sämtliche Tastatureingaben auf der Konsole landen. Dieses Problem kann behoben werden, indem beim Booten der Kernelparameter "`vga=`" entfernt wird. Sollte dies nicht helfen, kann noch "`nomodeset`" als Parameter angegeben werden. Außerdem soll der XServer-Parameter "`-keeptty`" helfen. Das Problem ist leider noch nicht abschließend gelöst. == Grafikfehler auf einem XServer == Es kommt vor, dass bei einem XServer Grafikfehler durch Mausbewegungen entstehen. Beheben lässt sich das Problem, indem man die Parameter "`-novtswitch -sharevts`" bei dem betreffenden Server weglässt. Bei allen weiteres Seats werden sie aber weiterhin benötigt! XDM, GDM und KDM müssen diesbezüglich entsprechend angepasst werden. == Fenster flackern oder sind schwarz == Alle Benutzer müssen der Gruppe `video` hinzugefügt werden, da sie sonst nicht auf die Grafikschnittstelle DRI zugreifen können. == Mein Seat reagiert nicht auf Maus- oder Tastatureingaben == Dies liegt zumeist an einer falschen Einstellung des [#Xorg-Konfiguration XServers] und der zugehörigen [#udev-Regeln-fuer-Eingabegeraete udev-Regeln]. Durch das Booten in die Konsole können die Einstellungen korrigiert werden. Solange zumindest ein Seat funktioniert, ist die Konfiguration auch ohne Neustart möglich. == X-Server-Absturz bei Strg+c == Dieser Bug ist noch nicht vollständig gelöst. Ein Workaround sieht vor, für jeden Seat den XServer-Parameter "`-keeptty`" anzuwenden ([bug:893590:]). Dieser Bug steht wahrscheinlich in Verbindung mit diesem Problem: [#Tastatureingaben-landen-auf-der-Konsole Tastatureingaben landen auf der Konsole]. == LightDM == === Keine Passworteingabe möglich === Das Problem ist stark konfigurationsabhängig. Manchmal stellt das Wechseln der Seat-Reihenfolge bereits eine einfache Lösung dar. Ansonsten kann auch eine ältere LightDM-Version installiert werden ([bug:976124:]). === Seat 1 bleibt schwarz === Anscheinend wechselt der erste XServer hier nicht in das richtige virtuelle Terminal. Dies kann manuell mittels [[Vorlage(Tasten, Strg+Alt+F7)]] erzwungen werden. Weitere Workarounds können in den Bug-Trackern gefunden werden: [bug:977547:], [bug:903194:]. == Wechselmedien werden den Seats zufällig zugeordnet == Die Automounter der verschiedenen Desktops sind noch nicht Multiseat-fähig und konkurrieren beim Einhängen externer Massenspeicher. Dabei kommt es zumeist zu Fehlermeldungen in etlichen Seats. Hier hilft das [:Automount#Automount-deaktivieren: Deaktivieren des Automounters] und die Verwendung eines selbst geschriebenen udev-basierten Automounters: [post:4322077:Forumsbeitrag]. = Links = * [ubuntu_doc:community/MultiseatX:MultiseatX] {en} - Ubuntu-Wiki * [http://wiki.gentoo.org/wiki/Multiseat Multiseat Gentoo Wiki] {en} * [http://sadevil.org/blog/2010/04/04/multiseat-on-debian/ Multiseat on Debian] {en} - Blogbeitrag, 04/2010 * [http://linuxgazette.net/124/smith.html Build a Six-headed, Six-user Linux System] {en} - Linux Gazette, 03/2006 # tag: Desktop, Grafik, Hardware, XServer, Server