This is a step-by-step guide to enable Multiseat[1] on single video card with Xfce[2] desktop environment, based on Xephyr[3] and XRandR[4].
Contents |
export http_proxy=http://<proxy_server>:<proxy_port> export no_proxy=.intel.com,10.0.0.0/8
wget http://download.meego.com/live/MeeGo:/1.2.0:/oss:/Update:/Testing/MeeGo_1.2.0/MeeGo:1.2.0:oss:Update:Testing.repo wget http://download.meego.com/live/home:/yyin2:/branches:/MeeGo:/1.2.0:/oss:/Update:/Testing/MeeGo_1.2.0/home:yyin2:branches:MeeGo:1.2.0:oss:Update:Testing.repo wget http://download.meego.com/live/home:/yyin2:/branches:/MeeGo:/1.2.0:/oss/standard/home:yyin2:branches:MeeGo:1.2.0:oss.repo zypper refresh
zypper install xorg-x11-server-Xephyr xfce-panel mdm
mkdir -p /etc/mdm/devices
cd /etc/mdm/devices
ln -sf /dev/input/by-id/xxxx keyboard1
ln -sf /dev/input/by-id/xxxx keyboard2
ln -sf /dev/input/by-id/xxxx mouse1
ln -sf /dev/input/by-id/xxxx mouse2
xrandr -q # there should be at least two monitors listed out, e.g. "LVDS1", "VGA1", or else STOP here.
Xorg -configure
cp /root/xorg.conf.new /etc/mdm/xorg.conf.mdm
<add lines "Virtual 2048 2048" to /etc/mdm/xorg.conf.mdm Display section, this is the key "magic" of this guide, a big Virtual Screen will be assembled by LVDS1+VGA1, the width (or the height) should be bigger than the sum of width (or height) of LVDS1+VGA1>
nohup /usr/bin/X -config /etc/mdm/xorg.conf.mdm vt08 -logfile /etc/mdm/xorg.mdm.log -dpms -s 0 :0 >/dev/null 2>/dev/null &
xrandr --output LVDS1 --mode 1024x600
xrandr --output VGA1 --mode 1024x768
xrandr --output VGA1 --right-of LVDS1
export DISPLAY=:0
seat-parent-window 1024x600+0+0 seat-parent-window0-LVDS1 &
seat-parent-window 1024x768+1024+0 seat-parent-window0-VGA1 &
xwininfo -name seat-parent-window0-LVDS1 (get the window id, e.g. 0x200001)
xwininfo -name seat-parent-window0-VGA1 (get the window id, e.g. 0x400001)
export DISPLAY=:0; Xephyr :1 -dpms -s 0 -br :1 -parent 0x200001 -mouse evdev,,device=/etc/mdm/devices/mouse1 -keybd evdev,,device=/etc/mdm/devices/keyboard1,xkbmodel=evdev,xkblayout=us -nolisten tcp vt9 &
export DISPLAY=:1; xterm & #test the keyboard/mouse of 1st seat in the terminal
export DISPLAY=:0; Xephyr :2 -dpms -s 0 -br :2 -parent 0x400001 -mouse evdev,,device=/etc/mdm/devices/mouse2 -keybd evdev,,device=/etc/mdm/devices/keyboard2,xkbmodel=evdev,xkblayout=us -nolisten tcp vt9 &
export DISPLAY=:2; xterm & #test the keyboard/mouse of 2nd seat in the terminal
zypper install xfce4-settings xfce4-taskmanager xfce4-mixer xfce4-battery-plugin xfce-utils xfce4-appfinder Thunar thunar-vfs thunar-volman
export DISPLAY=:1; xfwm4; xfce4-session
export DISPLAY=:2; xfwm4; xfce4-session