I want to make use of an old laptop by extending my the desktop from my main PC onto the monitor of this other, old laptop over a LAN connection.

I've looked into Xdmx/dmx, but the project seems to have been dead for a while.

Are there any other alternatives or will I have to cobble my own script together?

  • Have you tried remote desktop viewer ? May 14, 2012 at 19:06
  • That doesn't allow me to extend the desktop, It's only a remote viewer.
    – jackweirdy
    May 14, 2012 at 19:50
  • Synergy is much easier if you don't need to drag windows eg if you just want to run a browser on the extra display. May 23, 2012 at 9:51

4 Answers 4


The Xdmx project is still active. You can download with:

sudo apt install xdmx

And here's a video on setting Xdmx


And just to keep you posted that the DMX software has been integrated into the X.org server software.

  • 1
    do you know where I can get the source?
    – jackweirdy
    May 21, 2012 at 17:08
  • 2
    You can browse/download the source code from dmx.cvs.sourceforge.net/viewvc/dmx/dmx/xc
    – Rupali
    May 25, 2012 at 13:54
  • Thank you, I've managed to install it on Ubuntu 12 but on Ubuntu 13, there are a few dependency conflicts: libaudit1 vs libaudit0. I don't know whether it's possible to keep two version of a shared lib at the same time. Probably it does't matter, you just need one machine with Xdmx running but I wanted to extend the desktop of my other newer machine
    – ZiglioUK
    Sep 17, 2013 at 2:08

Synergy is a nice program designed for something similar to what you want, it has intuitive GUI.

You won't be able to drag windows between displays though, since it does not use slave OS as another display device, but just sends keyboard/mouse input there.


Virtual Monitor Over VNC

xdmx didn't worked for me, however I was able to get it working using x11vnc by means of using my own code derived from the VNC Virtual Display Linker python code. I had a couple of issues with this code but I managed to get it working as shown below.

Simplified Intructions:

Please be aware of the notes and considerations at the end of this answer.

  1. Definitions: The "server" will be the computer which screen you want to extend, the "client" will be the computer (or tablet, any device able to deploy a VNC client) that you want to use as a screen.
  2. Required Software: On the server install x11vnc and gtf, on the client install a vnc client.
  3. You need to know client's screen size (we'll call them: CLIENT_WIDTH, CLIENT_HEIGHT) and the servers' screen size (we'll call them: SERVER_WIDTH, SERVER_HEIGHT).
  4. In the server, run in a terminal gtf CLIENT_WIDTH CLIENT_HEIGHT 60 (replace the CLIENT_WIDTH and CLIENT_HEIGHT with the corresponding values). As an example for gtf CLIENT_WIDTH CLIENT_HEIGHT 60 is
# 1384x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 86.62 MHz
Modeline "1384x768_60.00"  86.62  1384 1456 1600 1816  768 769 772 795  -HSync +Vsync
  1. From the previous result copy what is in front of Modeline, (in this case "1384x768_60.00" 86.62 1384 1456 1600 1816 768 769 772 795 -HSync +Vsync) and use that as a parameter to xrandr --newmode command. For example, in this case, we'll have to run in the server xrandr --newmode "1368x768_60.00" 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
  2. In 5 we've created a newmode in xrandr, now we need to add it to the virtual screen, as follows xrandr --addmode VIRTUAL1 "1368x768_60.00" (please remember to use your own newly created mode name, which is the value including quotes in 5).
  3. Run x11vnc -usepw -nocursorshape -nocursorpos -noxinerama -solid -repeat -forever -clip CLIENT_WIDTHxCLIENT_HEIGHT+SERVER_WIDTH+0. As an example: x11vnc -usepw -nocursorshape -nocursorpos -noxinerama -solid -repeat -forever -clip 1368x768+1920+0. This will create a VNC server in port 5900 you can connect to.
  4. Lastly, connect to the server from you other computer (or any VNC client, recommended krdc for linux machines). You should be able to enjoy your extended screen now.

Notes and considerations:

  • In step 8, with krdc, it is recommended to use the "Medium Quality" option, even if you are on cable: both the "Low" and "High" quality options produce errors.
  • I tried this over a WiFi network and it works properly, however on cable it's smoother.
  • I had problems when starting the VNC server in step 7, the screen started to flicker and I couldn't see what I was doing on the screen. To fix this, I connected via the VNC server (the extended screen already works at this point), opened the Displays tool (the one that comes with the system where you can see the displays that are connected) and Unify Outputs then Break Unified Outputs (an example of this option in Kubuntu is shown below). Then everything worked.

Unify Outputs


http://www.virtualgl.org even allows openGL!

  • 1
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. May 24, 2012 at 2:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .