Remote Desktop Administration Using Vino
Helping other with computer problems can often be complicated, especially if you are far away. Marcus Bauer explores and explains Vino, the default remote administration utility of the GNOME desktop.
Do you know how infuriating it is to explain to somebody via telephone how to administer his/her desktop computer? Have you ever wanted to use your laptop’s screen as a multihead together with your desktop computer? Two different things, one solution: Vino.
Vino is a tool for remote administration readily built into the GNOME Desktop Environment. It allows you to share your local desktop with a remote computer. This can be used for quick and efficient in-house support as well as for remote assistance via Internet. A broadband connection (adsl/cable) is advantageous, but with some speed limitations, classic modem lines are possible, too. Another potential scenario of use is the classroom where the trainer can be given insight into the student’s computers from his desk.
Fire up your favorite package manager and make sure that vino and a vncviewer are installed. Vino should already be installed as it is part of the GNOME core packages. However, a vncviewer may be missing. There are several available and all should work. On Debian, I would recommend xvnc4viewer. Other possibilities are TightVNC, RealVNC, or the older xvncviewer version 3. However, version 4 provides better performance via slow modem lines.
Sharing your desktop is very easy. Select “Remote Desktop” from your preferences menu:
The following dialog will appear:
Now activate the check box “Allow other users to view your desktop”. That’s all!
If another user now connects to your computer you will see the following dialog giving you the opportunity to allow or deny access:
You have the choice to restrict the remote computer to only view your desktop or you can give it full access. In the latter case, the remote computer can control yours with its keyboard and mouse.
You can set up a password, too, which the remote computer needs to submit before being able to connect. By default, you will be asked for confirmation as seen in the above screenshot. This behavior may be switched off, but this is not recommended for obvious security reasons.
Viewing the Desktop
Now that you know how to share your desktop you will most likely want to know how to access your desktop. To do this start a gnome-terminal (Applications->System tools->Terminal) and type in the following command:
For testing purposes you can do that all on one computer and consequently substitute “ip-address-of-remote-computer” with “localhost” or “127.0.0.1”. Voila – a new window opens with the remote desktop in it – in this case your own desktop a second time.
To clarify things here is one more example: Assume
- Computer A has ip 192.168.0.1 and
- Computer B has ip 192.168.0.2
If A wants to share his desktop with B then A is setting his “Remote Desktop Preferences” as shown above and B executes:
As a side note: vncviewer does exist for many platforms allowing you to share your Linux desktop with Macs and Windows, too. See URLs at the end of the article.
A magic key is the key which allows you to copy back and forth the content of the clipboard and to switch between window mode and fullscreen mode.
A common network/firewall configuration in home and office environments is NAT (Network Address Translation). The router translates one public ip address into several private ones (often from the 192.168.0.0 range).
If the computer who wants to share the desktop is sitting behind such a firewall/router, then port forwarding of port 5900 needs to be done on the router. Most SOHO routers nowadays come with a web-based administration GUI and should let you make the appropriate changes with no hassle. That’s all.
For the computer that wants to access another desktop there are no restrictions. Only the port 5900 must be open for outgoing connections which is usually the case.
The data is transmitted non-encrypted. Thus make sure you are not using Vino for sensitive material without further security measures. You can compare it to the transmission of a fax: stuff that should be confidential shouldn’t be transmitted without thought. And if you are a student living on a campus using wireless LAN you most likley want to have some more security, too. A possible solution is to set up an ssh tunnel for port 5900. Details will go beyond this tutorial, but your system admin or google will give you further advice.
Multihead – x2vnc
Many users have both – a desktop computer and a laptop. Quite commonly they are used together at home or workplace. And most users switch between the two keyboards and mice. Wouldn’t it be much nicer to have a “multihead” in no time and without any network magic and even be able to control a WinXP box or a Mac from your Linux keyboard and mouse?
Here is how: install x2vnc on your Linux computer (computer A) from which you want to control the other computer (Computer B, IP# 192.168.0.2). On Computer B you allow remote desktop access like described above and on Computer A you then simply enter the following command in a gnome-terminal:
x2vnc 192.168.0.2:0 -east
If you now move your mouse pointer out of the right of your screen of Computer A it will automatically appear on the left side of the screen of Computer B. The best thing is that the keyboard follows mouse – you don’t need to switch your fingers from one keyboard to the other. Simply move the mouse pointer around. That’s it.
You may have already guessed it, the ”-east” switch can be substituted by a ”-west” switch to allow going out of the left side of the screen. Plus you can go out on the top or bottom by using ”-north” or ”-south”.
This is a quick and easy solution for a pseudo “multihead” system. The advantage is that it only takes 20 seconds to start. The disadvantage is that it leads to a performance slow down on the computer which is sharing its desktop. In most cases you wont feel it. If so you can still switch to native X solutions. As a hint for the interested reader, it may be said that x2x is the solution but needs tweaking with gdm, xhost and xauth and probably ssh_conf and sshd_conf.
I mentioned already that vnc is available for many platforms allowing you the control of Macs and Windows boxes. This multihead solution will only work with a Linux box as master over all the other ones. How else should it be!
Vino is one of the nice little GNOME jewels that currently leads a somewhat shadowy existence. My hope is that this article helps to spread the word about it and to lower the barrier to install GNOME on your friend’s and family’s desktops. They will simply be in awe when they experience for the first time remote administration!
Weather you use it for remote desktop functionality, as a pseudo multihead solution, or both, it is one more component that follows the basic GNOME idea: “It just works!”.
Copyright © 2005; Marcus Bauer (marcus.bauer gmail com)