This tutorial covers how to set up a 2 node video wall with Debian Squeeze 6.0. The video wall is made up of a host and client. The host runs Xdmx and takes keyboard and mouse input. The client is then controlled by the host.
This tutorial uses generic names for the computers. In any of the commands in this file, you should replace these generic names with the appropriate names or ip addresses for your setup.
host-computer: your machine that will host machine. Replace this with either the hostname or IP address of your host.
client-computer: replace with either hostname of IP address of the client
This tutorial assumes that you have two computers with a clean installation of Debian Squeeze 6.0. Also you should install and setup Xorg. I won't cover how to do this here as it falls outside the scope of this tutorial.
By default, Xorg disables TCP listening. We need to enable it so that the host and client x sessions can communicate over the network.
There's some way to do this using SSH X forwarding instead of Xorg TCP forwarding. If you can figure it out please post it here.
Do the following on both the host and client computers:
it will read:
#!/bin/sh exec /usr/bin/X -nolisten tcp "$@"
remove the “-nolisten tcp” so that the file reads:
#!/bin/sh exec /usr/bin/X "$@"
To verify that X is now listening for TCP connections, start X in a virtual terminal by:
root@computer# startx
Switch to another virtual terminal, and execute:
root@computer# ps aux | grep X
Find the X process. It should be running without the “-nolisten tcp” switch. If it still has that option, verify that you correctly edited the configuration file.
While X is running, verify that X is listening on port 6000 by running:
root@computer# nmap localhost
You should see that port 6000 is open.
We will use the Xdmx binary from node132 because it is old enough that it still works. SSH into node132 and execute the following command to copy the binary to your host computer:
scp /usr/bin/Xdmx host-computer:~
The versions of Xdmx in the Debian repositories have been broken ever since Debian Lenny. The older Etch package still works. This used to mean that you could download the old package from the Debian Etchpackage archives. However, Debian no longer holds all the old Etch packages. If you find an online source for the working package, let me know or post it here.
On both the client and host computers, run xhost to allow any computer to connect to each x server. Execute these commands while X is running. You will need to repeat these commands every time you restart Xorg.
root@computer# export DISPLAY=":0" root@computer# xhost +
On the host machine, run the following command to initialize Xdmx.
root@host-computer# ./Xdmx :1 +xinerama -ac -ignorebadfontpaths -noglxproxy -display :0 -display client-computer:0
Figure out how to run a window manager on top of Xdmx Automate the process of starting Xdmx
Much of this tutorial comes from this site: http://mitros.org/p/xdmx-setup.html
For ideas on how to automate the process of starting Xdmx, investigate the /root/menu2 and /root/sources/w-up_2.sh scripts on node132