The Xdmx server allows your X server to extend its display to include other displays that are held by other X server across a network. Hence, the name Distributed Multihead X.
As a simple example, consider two computers with one display each, up and running their own versions of Ubuntu. Let us call one the master and the other slave. If they are connected to each other by a network, can ping each other, then the master can extend its display by grabbing the display of slave. Once this is done, the master computer X server believes it has two displays. So, while working on the master computer you can now throw windows into the second display as if it were connected to the master computer itself.
This is theory that Xdmx is supposed to make practical, however it did not work for my setup! 😦
The steps I followed:
- Installed Xdmx server on both master and slave computers:
$ sudo apt install xdmx
- Installed OpenSSH server on master computer:
$ sudo apt install openssh-server
- On the slave, SSH into master computer with X11 forwarding:
$ ssh -X joe@master
- Note down the
DISPLAYstring allocated to this SSH X session:
$ export | grep DISPLAY declare -x DISPLAY="localhost:10.0"
- Run the Xdmx server to fuse the two displays together for master:
$ startx -- /usr/bin/Xdmx :1 +xinerama -display :0.0 -display localhost:10.0 -norender -noglxproxy
The two displays blanked out for a while and then I got this error at the end:
xinit: XFree86_VT property unexpectedly has 0 items instead of 1 xinit: connection to X server lost waiting for X server to shut down
Suggestions from this page indicate that the best chance of this multihead display working is if both computers are running an extremely minimal X session. Since I am running the complex Unity desktop on both, this may not work.
Tried with: Xdmx 1.15.1 and Ubuntu 14.04