Connecting to your Linux system from a smartphone

Whose Display?

And now for the biggest problem: How do I tell x11vnc to use a separate display server and not the one the other logged-in user has spawned? In this case, my girlfriend has a normal user account without administrative privileges. Because I have administrative rights on my Ubuntu laptop and my girlfriend's user has limited access, my session is the one that logs in first. That would be display 0:0. Her user account loads the desktop in the next available display, which is 2:0 on my machine. X11vnc already starts with display :0 automatically if launched without arguments or with the x11vnc -many -rfbauth /home/user/.vnc/passwd command. The issue is that if I connect through Jaadu VNC (or any other VNC client for that matter), when she changes to her account, the VNC client also changes the display, showing me her user desktop. I need to tell x11vnc to search for the display associated with the remote user and keep that display. The -find argument tells xllvnc to find the appropriate desktop for the user account.

To view only my desktop in Ubuntu's GDM, the full command would be

x11vnc -many -rfbauth /home/user/.vnc/passwd -find

which you should add as a new entry in the Startup Applications app. The -find argument will tell x11vnc to keep showing the current display the VNC server started in.

Back on the client side, enter the password in Jaadu VNC. The server will check the password against the /home/user/.vnc/passwd file and authenticate the session.


Whenever I need to get up from my laptop and leave running processes while my girlfriend switches to her account, I can check on the progress on those ongoing processes from the palm of my hand. Besides a brief flickering of the screen when a desktop user changes back to my account in the exact same moment I'm viewing the iPod Touch, the method works perfectly. X11vnc will autostart on port 5900 and I can make a preset in the client application to remember that is the address for the remote connection.

If you don't want to use the default 5900 and would prefer to change the port that x11vnc starts on to 5933, for example, you can do it easily with the -rfbport 5933 option. Also, you can tell x11vnc to scan automatically for a free port (assuming the 5900-5999 range is accessible by the device on which the client runs) by attaching -autoport 1234 to the command string, where 1234 is an open port on your router.

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs