How to set-up a multi-seat system on a debian lenny system: Hardware: * One computer (see [[Patagonia|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