How to select and set up VNC on Ubuntu

I want to set up VNC (or whatever) on my office workstation so I can connect from home. I've been to and askubuntu and find a bewildering selection of VNC server some of which can start at boot, other require user login first, some require passwords, etc. Doing `apt-cache search vnc` lists 84 different VNC packages or related tools. There's also an x11rdp that suppose to work like Windows RDC, but that development is several years old, so maybe not a good choice. I find "krdc - Remote Desktop Connection client" in my `apt-cache` list. Is that something interesting? Here's what I'd like if it exists:

I'd like to be able to remotely connect to my running desktop session, or to get a new login prompt if there is not active session. I do not want to first have to ssh into the workstation and run something (vncclient?)

Help me sort through the pile!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dan CraciunIT ConsultantCommented:
MarkAuthor Commented:
Dan Craciun: Thanks! I'll check that out. Interestingly, teamviewer wasn't on any Ubuntu list I checked. Wonder why?

Other Experts, other suggestions?
Dan CraciunIT ConsultantCommented:
Teamviewer runs pretty much on anything. Their professional version is expensive, so they make sure you can access/support anything from anywhere.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

MarkAuthor Commented:
OK, I'll give it a shot and post back results. The problem is, I want to use this in our office, so I think we'd need to buy the commercial version.
MarkAuthor Commented:
more info ... OK, I installed Teamviewer on Ubuntu and Windows 7. I'll have to say, installation was dead simple. I've connected from my Windows computer to the Ubuntu computer.


To start, I have to run teamviewer from a terminal on the Ubuntu. This gives me a session ID and password. What I want is to always have teamviewer in "server" mode, not necessarily associated with a session. Ideally, if there is a running session my remote would connect to that. Otherwise, I want to see a login screen. I do not want the user to have to run teamviewer from a terminal session. For one thing, I don't want my users launching terminals. For another, the user would have to anticipate needing his/her computer remotely and remember to run teamviewer before he/she left the office. Also, if the office workstation happened to reboot (power loss ...) that would be the end of the user being able to get in.

Can teamviewer always be in "server" mode?

When I connected from my Windows workstations, I had to simply enter the session ID and password. I suppose that's fine if the target computer is on the LAN, but what if I'm trying to connect to my office? I don't see anywhere to enter an IP address.

When the teamviewer image of the remote desktop comes up on my Windows computer it is maybe 80% of the size of my Windows screen. Is that adjustable? Yes, I clicked full-screen mode.
Dan CraciunIT ConsultantCommented:
There is no Teamviewer host for Linux.
Anyway I prefer the QuickSupport version, as it requires the user to specifically give me access, so there are no misunderstandings.

The session ID is unique, you don't need an IP. The way it works, both computers connect to TeamViewer servers, those handles the authentication and then pair the connection.

For your use case, Teamviewer is not the solution. The free version is specifically only for private, home use. You'll need licenses to use it at the office.
MarkAuthor Commented:
Dan Cracium:
There is no Teamviewer host for Linux.
Actually, yes there is:, but no matter, you are right, it doesn't suit my needs.
MarkAuthor Commented:
Here are some of my testing results using different VNC servers and clients. Perhaps this will be of benefit to people like me searching for a VNC solution.

VNC Viewers - I tested these from Windows 7 only, which for now will be the main client.

TeamViewer - 10.0.47484

Pros: Well, it worked ...

Cons: Not free, but that's not that important. I don't mind paying for stuff. Main thing is that the target user must start a server-side session and generate a key and passcode. Then the client uses that key and passcode to connect. Does not appear to provide the possibility of an always-ready session. Obviously targeted to remote technical support use, not for regular users wanting to log into their office desktop. Speaking of which, I was able to connect to a LAN workstation using the key, but I saw no mechanism for specify IP:port (must be one though). OFF THE LIST!

RealVNC Viewer - 5.2.3

Pros: The best thing about this client is that it auto-scales the screen! It also provides encryption -- if the server-side supports it. It has a nice top-menu-bar, like Windows RDC, that lets you go to/from full-screen and hide the window.

Cons: Not free (but see above). The main problem was it was VERY slow by comparison to all other VNC viewers tested.

Ultra VNC Viewer -

Pros: Fast. Worked well enough. Also has a top-menu-bar, like Windows RDC and RealVNC, that lets you go to/from full-screen and hide the window.

Cons: Scaling has to be manually done, but works well. The top-menu-bar feature doesn't work if you have multiple physical displays and move the viewer off the main screen (might be a function of the display software). Worse, when off the main screen, the top-menu-bar slowly drifted down to about mid-screen, then just stuck there! Biggest issue: the CAPS-lock key usually didn't work. I had to hold it down for an unnatural period of time to get it to 'stick'. Likewise to un-CAPS-lock.

TightVNC Viewer - 2.7.10

pros: Best I've come across so far. Fast. Does scaling of screen (albeit manual setting). Let's you turn off the annoying 'local' cursor dot so your remote cursor is not always chasing the dot.

cons: No top-menu-bar for full-screening, shrinking, etc. You have to type CTRL-SHFT-F to get out of full screen mode -- that's probably the most annoying feature. Scaling is manual (oh well).



Pros: none discovered.

Cons: Requires a VNC password. When I connected using the TightVNC Viewer, I got a big white/gray screen with a black X in the middle for a cursor. No controls, nothing! There are probably ways to configure this but x11vnc worked well, so I'm not going to waste time. Ironic that the TightVNC viewer worked great but the server sucked.


Pros: This worked great! A user can run it to permit connecting to an already open session, or it can be run from root as: `x11vnc -auth guess -forever -loop -repeat` which will actually show the Display Manager login screen and, when you log out, will re-run itself and let you reconnect from the client. Warns you if you don't have a VNC password, but runs anyway.

Cons: Apparently encryption is not yet supported.

Conclusions - so far the x11vnc server with the TightVNC viewer have been the best combination. Response is fast. My Windows client is a 1.65 GHz AMD E-450 2-core laptop, 3.6GB memory (6 yrs old), and I'm connecting to a Ubuntu server running on a Gateway Netbook with 1.6GHz Intel Atom (!) and 2GB of memory. Even with these boat-anchors, response is quite usable. Connecting to the office workstation was also very responsive as that is a real computer.

I can run the server in background (though I haven't figured that bit out in the Ubuntu init.d labyrinth yet) and can repeatedly connect and disconnect from the server, forever. Supposedly, I can connect remotely even while an actual user is logged into the console -- something not possible with Windows RDC. I think I can even have multiple remote connections, but haven't tried that yet.

Security: When waiting for a connection and/or after logging out, the DM screen is displayed with the normal Ubuntu login dialog (I've removed the list of users, and guest from this page). My Cinnamon desktop has a screen-saver setting that requires the password to be entered to get back in. In this sense, security is no different that our current mechanism of connecting with Windows RDC. I have additional scripts on the AD/DC that look for break-in attempts and shut down the attacker.

What is missing, security-wise, is encryption of the connection. The screen updates are encoded, but the keystrokes and userID/PW entry are likely sent in plain text. Supposedly they (x11vnc) are working on encryption. I can't really do ssh tunneling from Windows because the users are non-technical and won't stand for the extra steps (if even doable -- putty/ssh?). Another solution might be to use VPN.

This is where I'm at now. Would love more feedback (still trying to find info on x11rdp). Perhaps someone can point out incorrect statements in my analysis. Anyone want to share experiences with other VNC server/viewers?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MarkAuthor Commented:
Latest bit. I've found ssvnc:, which creates an ssl tunnel from Windows to x11vnc on the Ubuntu host. No-brainer to configure, just run the ssvnc.exe. This works just fine except that the version of TightVNC viewer that ships with ssvnc 1.0.[29|30] is 1.3.9 which is older and much slower than the version 2.7.10 I downloaded earlier. My solution was to copy the 2.7.10 executable into the ..\ssvnc\Windows\util folder and rename it to the same as the 1.3.9 version. Odd that such an old version of TIghtVNC viewer is shipped with ssvnc (the 2.7.10 itself is from 2013).

I think this issue is resolved!
MarkAuthor Commented:
I researched the solution.

Thanks to Dan Craciun for being the lone participant in this question
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.