Multihead display using Xdmx

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 DISPLAY string 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

7 thoughts on “Multihead display using Xdmx

  1. I have exactly the same scenario .. complicated by the fact that the client(listener) machine is a windows machine. I have tried both cygwin and xming, without any luck. Were you able to find a solution to this problem ?


  2. Why not just use regular xforwarding? I used to use that method to open applications from my home computers at my office, where M$ Windows was in use. I actually preferred having the apps open in their own native windows vs. them all being confined to a windowed destop. It also makes for much less data to send over the network, so the performance overhead should be quite less, not to mention the greater overall simplicity.

    I’d give more details, but it’s been a decade or more… however, I’m fairly certain that if you just get X11 working in cygwin or something (if you’re using Winblows) then it should just be a matter of making an SSH connection with the ‘-Y’ option. On the remote end the only real configuration is to ensure x11forwarding is enabled in the sshd configuration, iirc.

    I realize this blog post is old, but since I came across this page others surely will continue to as well, and maybe this will at least point them in a direction that could be helpful! From what I’ve been reading xdmx is still fairly buggy and unstable, but in most cases one doesn’t actually need to bring the entire remote desktop over, rather just the specific applications.

    There are, of cource, some apps that just wont play well over xforwarding, but I imagine those same apps probably don’t play well over xdmx either (but I can’t say for certain). In some cases, despite it’s hienous overhead and sluggish performance, VNC is unfortunatly the best/most practical solution.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.