Outils pour utilisateurs

Outils du site


multiseat

How to set-up a multi-seat system on a debian lenny system:

Hardware:

  • One computer (see Patagonia) with two mice, two keyboard, two graphic cards and at least two monitors.

In this example:

  • First seat: nVidia 9600GT / Asus 24“ LCD monitor / Dell USB keyboard / Microsoft USB mouse
  • Second seat: nVidia 7300GT / Hyunday 17” LCD + Iiyama 19“ CRT / keytronic PS2 keyboard / logitech PS2 trackball

Software:

  • The system is installed with a Debian Lenny GNU/Linux on a AMD64 architecture with proprietary nVidia drivers.

Configure the /etc/X11/xorg.conf file with all hardware descrives in it. To do this I had to add some udev rules like this

  • in /etc/udev/rules/50-udev-rules:
 # input devices
 KERNEL=="mice",                 NAME="input/%k"
 KERNEL=="mouse[0-9]*",          NAME="input/%k"
 KERNEL=="event[0-9]*",          NAME="input/%k"
 KERNEL=="js[0-9]*",             NAME="input/%k"
 KERNEL=="ts[0-9]*",             NAME="input/%k"
 KERNEL=="uinput",               NAME="input/%k"
+KERNEL=="kbd",                  NAME="input/%k"
  • in 60-persistent-input.rules
 # by-id links, generic and for the event devices
-KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
+KERNEL=="mouse*|js*|kbd", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"

Finaly I added those two lines in /etc/gdm/gdm.conf:

 [servers]
+0=/usr/bin/Xorg -br -audit 0  -novtswitch -sharevts -layout "PS2 Layout"
+1=/usr/bin/Xorg -br -audit 0  -novtswitch -sharevts -layout "USB Layout"

For example here is my xorg configuration file with everything described before:

Section "ServerLayout"
    Identifier     "USB Layout"
    Screen         "Screen 24p" 0 0
    InputDevice    "USB Keyboard"
    InputDevice    "USB Mouse"
EndSection

Section "ServerLayout"
    Identifier     "PS2 Layout"
    Screen          "Screen 19p" RightOf "Screen 17p"
    Option          "Xinerama" "on"
    Screen         "Screen 17p" 0 0
    InputDevice    "PS2 Keyboard"
    InputDevice    "PS2 Mouse"
EndSection


Section "Files"

    FontPath        "/usr/share/fonts/X11/misc"
    FontPath        "/usr/X11R6/lib/X11/fonts/misc"
    FontPath        "/usr/share/fonts/X11/cyrillic"
    FontPath        "/usr/X11R6/lib/X11/fonts/cyrillic"
    FontPath        "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath        "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath        "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/share/fonts/X11/Type1"
    FontPath        "/usr/X11R6/lib/X11/fonts/Type1"
    FontPath        "/usr/share/fonts/X11/100dpi"
    FontPath        "/usr/X11R6/lib/X11/fonts/100dpi"
    FontPath        "/usr/share/fonts/X11/75dpi"
    FontPath        "/usr/X11R6/lib/X11/fonts/75dpi"
    FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
    Load           "i2c"
    Load           "bitmap"
    Load           "ddc"
    Load           "extmod"
    Load           "freetype"
    Load           "glx"
    Load           "int10"
    Load           "type1"
    Load           "vbe"
EndSection

Section "InputDevice"
    Driver         "evdev"
    Identifier     "PS2 Keyboard"
    Option         "CoreKeyboard"
    Option         "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc104"
    Option         "XkbLayout" "jk"
EndSection

Section "InputDevice"
    Identifier     "PS2 Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/input/by-path/platform-i8042-serio-1-mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
    Identifier     "USB Keyboard"
    Driver         "evdev"
    Option         "CoreKeyboard"
    Option         "Device" "/dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbLayout" "us"
    Option         "evBits" "+1"
    Option         "keyBits" "~1-255 ~352-511"
    Option         "Pass" "3"
EndSection

Section "InputDevice"
    Identifier     "USB Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/input/by-id/usb-Microsoft_Basic_Optical_Mouse-mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Emulate3Buttons" "true"
EndSection

Section "Monitor"
    Identifier     "Asus 24p"
    HorizSync       28.0 - 115.0
    VertRefresh     43.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Hyundai 17p"
    HorizSync       48.0 - 82.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Iiyama 19p"
    HorizSync       48.0 - 85.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Option         "NoLogo"  "true"
    Identifier     "nVidia 9600"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Option         "NoLogo"  "true"
    Identifier     "nVidia 7300-1"
    Driver         "nvidia"
    BusID          "PCI:2:0:0"
    Screen         0
EndSection

Section "Device"
    Option         "NoLogo"  "true"
    Identifier     "nVidia 7300-2"
    Driver         "nvidia"
    BusID          "PCI:2:0:0"
    Screen         1
EndSection

Section "Screen"
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
   Identifier     "Screen 24p"
   Device         "nVidia 9600"
   Monitor        "Asus 24p"
   DefaultDepth    24
EndSection

Section "Screen"
    Identifier     "Screen 17p"
    Device         "nVidia 7300-2"
    Monitor        "Hyundai 17p"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen 19p"
    Device         "nVidia 7300-1"
    Monitor        "Iiyama 19p"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "800x600" "640x480"
    EndSubSection
EndSection
multiseat.txt · Dernière modification : 2023/05/10 19:20 de jerome