sobota, 5 lutego 2011

Multiseat setup - the ingredients

The idea is simple: run one X server covering all the monitors and inside it run Xephyr instances covering one monitor each.

In this post I would like to talk about one X server covering all the monitors.

One X server covering all the monitors can be done with Xinerama. I'm not going to talk about configuring Xinerama here. For my nVidia the relevant xorg.conf looks like this.


The important thing here is the  ServerLayout section and the Screen section. In the ServerFlags section the AllowMouseOpenFail is important. As you can see no input devices are specified: recent X versions will use the defaults (which are not useful for us anyway).

Now a few words about the X covering all the monitors. I would like to comment on what is written here. In gdm's configuration file (/etc/gdm/gdm.conf) there can be specified a number of servers to start in the [servers] section: <display number>=<server config section name>. For later let's remember that gdm can start a number of X servers described by just one server config section. This is the relevant part of the gdm.conf in my setup:

[servers]

0=Xinerama
1=Xephyr
2=Xephyr

[server-Xinerama]
name=Xinerama
command=/usr/bin/X -br -dpms -s 0
handled=false
flexible=false

[server-Xephyr]
name=Xephyr
command=/etc/multiseat/scripts/Xephyr-seat
handled=true
flexible=false

The server "0" is started using the [server-Xinerama] section on DISPLAY 0 with black background (-br), screen saver deactivated (-s 0), dpms on. The gdm creates the Xauthority file for this server in /var/lib/gdm/:0.Xauth. Nice explanation of Xauthority is here. netpatia blog does not say anything about it and this file will be very important while configuring the Xephyrs. Stay tuned.



Brak komentarzy:

Prześlij komentarz