How to set-up a multi-seat system on a debian lenny system:
Hardware:
In this example:
Software:
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
# 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"
# 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