Differences between revisions 16 and 17
Revision 16 as of 2009-03-21 09:12:36
Size: 4974
Editor: FranklinPiat
Comment: fix TOC
Revision 17 as of 2009-09-14 19:23:22
Size: 4979
Editor: FranklinPiat
Comment: fix formating
Deletions are marked like this. Additions are marked like this.
Line 155: Line 155:
}}}

What is it?

Multi Seat refers to a PC that has more than 1 /videocard/monitor/X server/mouse/keyboard set so that more than 1 user can use the system at the same time.

NOTE: Only the user on the first monitor has the use of vt consoles and can use Ctrl+Alt+F<x> to select them. The other users have a gdm login screen and can use X normally, but have no vt's.

Motivation: Sensibility and economic: a videocard (at least some of them ;-) ) is cheaper than an entire PC!

How is it done?

As of todate (year-end 2008) there are 2 ways of doing this, depending on the distribution that you use.

  1. Etch, Lenny and Sid. Everything is done in xorg.conf and gdm.conf (package gdm).

  2. Sarge (Obsolete). Because this distrubution still uses xfree86 a special module fakegetty is needed, available from http://www.ltn.lv/~aivils/?proj_id=faketty, written by Aivils Stoss, to allow for the use of multiple keyboards.

Hardware

  1. Keyboards. If you want to support 2 users plug the keyboard 1 x 6 pin mini-DIN male plugs into the two outlets that most PC's have for keyboard and mouse. If you want more than 2 users, you'll have to use USB keyboards.

  2. Mice. They'll have to be USB mice.

  3. Videocards. Plug them in and connect the monitors to them.

Etch, Lenny and Sid specifics

  1. Assuming that you already have xorg installed, also install gdm.

  2. Make links to to the X server:

 ln -sf /usr/X11R6/bin/X /usr/X11R6/bin/X0
 ln -sf /usr/X11R6/bin/X /usr/X11R6/bin/X1

  1. Make appropriate changes in /etc/gdm/gdm.conf

...
# Definition of the standard X server.
[server-Standard]
name=Standard server
command=/usr/bin/X1 :0 -layout X1 -dpi 110 -deferglyphs 16 -isolateDevice PCI:0:10:0 vt7
flexible=true
...
# Definition of the second X server.
[server-2nd]
name=2nd server
command=/usr/bin/X0 :1 -layout X0 -dpi 110 -deferglyphs 16 -isolateDevice PCI:1:0:0 -sharevts
flexible=true
...
  • Depending on how many users you will support. The above supports 2.

    The PCI addresses you get via lspci:

...
00:0a.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a2)
...
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x] (rev c1)
...

Setup xorg.conf for multiple users

  1. Setup the keyboard Input Device sections:

 ...
 Section "InputDevice"
        Identifier       "Keyboard0"
        Driver           "evdev"
        Option           "Phys"           "isa0060/serio1/input0"
        Option           "XkbLayout"      "us_intl"
 EndSection


 Section "InputDevice"
        Identifier       "Keyboard1"
        Driver           "evdev"
        Option           "Phys"           "isa0060/serio0/input0"
        Option           "XkbLayout"      "us_intl"
 EndSection
 ...
  • The Phys option data is gotten from /proc/bus/input/devices The first 2 entries read as follows:

 ...
 I: Bus=0011 Vendor=0001 Product=0002 Version=ab83
 N: Name="AT Raw Set 2 keyboard"
 P: Phys=isa0060/serio1/input0
 S: Sysfs=/class/input/input0
 H: Handlers=kbd event0
 B: EV=120013
 B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe
 B: MSC=10
 B: LED=7


 I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
 N: Name="AT Translated Set 2 keyboard"
 P: Phys=isa0060/serio0/input0
 S: Sysfs=/class/input/input1
 H: Handlers=kbd event1
 B: EV=120013
 B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe
 B: MSC=10
 B: LED=7
 ...
  • Note the 2 P tags.

  • Setup the mouse Input Device sections:

 ...
  Section "InputDevice"
        Identifier      "Mouse0"
        Driver          "evdev"
        Option          "Device" "/dev/input/event3" 
        Option          "Name" "A4Tech USB Optical Mouse"
        Option          "ZAxisMapping"          "6 7 4 5"
        Option          "Buttons"               "12"
 EndSection


 Section "InputDevice"
        Identifier      "Mouse1"
        Driver          "evdev"
        Option          "Device" "/dev/input/event4" 
        Option          "Name" "A4Tech USB Optical Mouse"
        Option          "ZAxisMapping"          "6 7 4 5"
        Option          "Buttons"               "12"
 EndSection
 ...
  • The Device data is gotten from the same source as the keyboards and reads as follows:

 ...
 I: Bus=000