Multiseat X Under X11R6.9/7.0

 
I keep getting inquiries about multiseat X configuration under X11R6.9/7.0 and Linux. It's no longer necessary to patch the kernel or the X server to get this to work - you can set everything up in the xorg.conf file.

Here is a temporary mini-Howto document that I've put together. I'll write a better one when X11R6.9/7.0 is finalized (and time permits :-)) ... and there will be a chapter on the topic in one of my upcoming books. In the meantime, have fun! -- please let me know what experiences you have trying this out (positive or negative) -- in particular, it would be great to have reports on which video card combinations work or do not work.

(For those new the term "Multiseat X", it means creating a system with mulitple video monitors, keyboards, and mice for simultaneous use by multiple users -- like my home system).


Quick Guide/Mini-HOWTO on Creating a Multiseat X System using X.Org 6.9
Chris Tyler - December 2005

For updates see http://blog.chris.tylers.info

-----------------------------------------------------
Warning! This isn't a project for the faint-of-heart!
It requires good sysadmin expertise and lots of
patience. If you want a simple[r] solution, please
contact me in the Spring of 2007 to inquire about
configuration scripts to automate some of this setup.
-----------------------------------------------------

------------------------------------------------------
Hardware requirements
- Compatible AGP/PCI/PCIE video cards. The definition
of "Compatible" is very much up in the air at this
time. Chipsets from the same manufacturer often work
well. If you're using nVidia cards, use the non-GPL
"nvidia" driver instead of the GPL "nv" driver.

- Zero or one PS/2 keyboard and mouse sets, and one
or more USB keyboard and mouse sets.

- Zero or more sound cards. Directing the sound output
from each application to the correct speaker set is
left as an exercise for the reader.
------------------------------------------------------

1. Install your favorite Linux distro.

2. Upgrade the X server to X.Org 6.9 or 7.0 if necessary (pre-release versions at
http://x.org) - FC5 test releases include X.org 7.0.

(Note that 6.9 and 7.0 are the same software, but 6.9 is a monolithic build and 7.0 is modular).

3. Configure and test a Xinerama configuration using "X -configure".
(Refer to http://www.tldp.org/HOWTO/Xinerama-HOWTO/ if needed)

4. Plug in your additional USB keyboards and mice.

5. Find all of the keyboards and mice in /proc/bus/input/devices. Note
the Handlers line for each device; find the ' eventX' value for each
keyboard and the ' mouseX' value for each mouse.

6. Construct an InputDevice section for each keyboard, and place it in
the /etc/X11/xorg.conf file:

Section "InputDevice"
     Identifier "keyboardN"
     Driver "evdev"
     Option "Device" "/dev/input/eventX"
EndSection


Replace N with a sequential keyboard number, and X with the event
handler identified in step 5.

7. Construct an InputDevice section for each mouse, and place it in
the /etc/X11/xorg.conf file:

Section "InputDevice"
     Identifier "mouseN"
     Driver "mouse"
     Option "ZAxisMapping" "4 5"
     Option "Device" "/dev/input/mouseX"
EndSection


Replace N with the a sequential mouse number, and X with the mouse
handler identified in step 5.

8. Create a ServerLayout section for each seat, and add it to the
xorg.conf file:

Section "ServerLayout"
     Identifier "seatN"
     Screen 0 "ScreenN" 0 0
     InputDevice "mouseN" "CorePointer"
     InputDevice "keybaordN" "CoreKeyboard"
EndSection


Where screenN matches the Identifier lines in the appropriate Screen sections.

9. Test the displays using the -novtswitch and -sharevts options:

X -novtswitch -sharevts -layout seatN :0

Replace N with each seat number in turn. You probably won't be able to
zap (Ctrl-Alt-Backspace) the server nor switch VTs, so you'll need
another system with ssh access to terminate the X servers (or run
something like ' while sleep 60 ; do killall X ; done' in the
background).

10. Although you can start each X server using the X (or Xorg) binary, it's easier to track and kill individual servers if you link separate names ( X0, X1) for each server:

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


Note that the X server may be relocated - when I installed 6.9 from the X.org CVS onto FC4, the server went into /usr/X11R6/bin, but in FC5 (7.0) it's in /usr/bin. This command will work in any case:

ln -s $(which X) $(which X)0
ln -s $(which X) $(which X)1


11. Add the new X servers to the display manager configuration. If
you're using Fedora Core 4, for example, modify /etc/X11/gdm/gdm.conf:

- Comment out this line by prepening the #:
#0=Standard

- Add these lines, one for each seat:
0=Standard0
1=Standard1

...

- Add these sections:
[server-Standard0]
name=Standard server
command=/usr/X11R6/bin/X0 -novtswitch -sharevts -layout seat0
flexible=false

[server-Standard1]
name=Standard server
command=/usr/X11R6/bin/X1 -novtswitch -sharevts -layout seat1
flexible=false


12. Restart the display manager and enjoy!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值