Tightvnc, Chicken of the VNC
VNC is "Virtual Network Computing" and is a crossplatform method
of allowing remote access to desktops (Windows or Unix/Linux, Mac
and others)). It is conceptually like using Terminal Services or
PcAnywhere etc for Windows but is license free and of course
capable of serving Linux/Unix machines also.
The origination of this was an AT&T project; you can find it
now. There have been a number of forks spun off from this, of which
the most popular (right now anyway) is Tight VNC, which uses a "tighter"
compression scheme to get better performance. That may still be
true when you read this, or someone else may have come up with
something even better. So although this article will be using
TightVNC and the Mac client Chicken
of the VNC, you should be more concerned with the overall
concepts rather than the specific implementation. You also need to
be aware that your choice of a viewer is also important: for
example, the Linux vncviewer I used did not properly display the
Windows VNC desktop, but the Mac viewer did. If you aren't getting
the results you need, the viewer may be the source of your
problems. Also keep in mind that any feature or limitation I
mention may not be present in some other version.
The final thing that Windows users may have a little trouble
grasping is the multiuser orientation of VNC on Unix platforms. For
example, as I write this, I have two vncservers running on a Linux
box: one was started by root, the other by the user apl. I am
connected to the root server from a Windows 98 machine, and to the
apl server from my Mac iBook. I also have a vncserver running on
the Windows 98 box, have connected to that from my iBook, and am
using THAT machines connection to the Linux vncserver too.
I can make multiple connections to the same vncserver: if I
connect to apl's vncserver multiple times, each connection sees the
same view: if I press enter on one connection, any other connection
sees that. That's great for training sessions and demos. Why pay
for expensive connections like NetMeeting etc. when this is
Finally, each Unix user can have multiple vncservers running. If
you aren't confused yet, you obviously aren't a Windows user. These
would be totally independent sessions, and none of them have
anything to do with any Unix desktop that happened to be running
when vncserver is started. In fact, you can start vncserver from a
character mode command line, and you can startup another one right
after that. The very first time you start it, it will ask for a
password: that password will be used for ALL vncservers. You can
change it with the "vncpasswd" command
Windows is different. When you start up vncserver on Windows a
user that connects to it sees your Windows desktop, just as you are
seeing it. This is very different on the Unix/Linux versions: the
vncserver is a completely different login session on Unix and
Linux. If you WANT a vncserver that serves up your current Unix
desktop, there's apparently a GEMSVNC
that does that, but I was unable to get to the web site at all.
for other vnc related software.
You would think that because Windows XP is multiuser, you could
have multiple users running VNC servers. Indeed you can, but you
can only use the one that has the currently active user - switch
away, and that server goes black, and in my testing, can't even be
used again. Windows XP is not really multiuser.
Before we go any farther, understand that VNC is full of
security problems, and many of them are just because of its basic
nature. If you are using this over the internet, you probably want
to run this over an ssh
tunnel, and you probably want to restrict access with your
firewall too. Of course, within your office as I am doing here
doesn't need that, but is still a great tool: I can access
QuickBooks on my wife's computer without getting up and going to
it, and she can see my calendar without coming over here.
Setting up and running vncserver on Windows is trivial. On Unix,
because it uses X11, it isn't quite as easy, though simply running
"vncserver" after installing it will startup a simple server
running twm and an xterm. That's probably not what you had in mind:
if an xterm were all you needed, you'd just ssh to the box, right?
To get my KDE desktop running, I made two changes: first, I
replaced ~/.vnc/xstartup with one line:
and then created a ~/.vnc/.xsession file that contained
"/usr/bin/startkde". That gave me my ordinary KDE desktop.
You are supposed to be able to startup vncserver that uses XDMCP
so that your connection would be presented with a login dialog
rather than being already logged in. So far, I haven't been able to
make that work, but I'll keep chipping away at it and will report
back here when I figure out what I'm doing wrong.
If this page was useful to you, please help others find it:
More Articles by Tony Lawrence
- Find me on Google+
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.
Jump to Comments
Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.
Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.
We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.