Why you should use SSH X Forwarding instead of VNC
While VNC is a powerful tool for manipulating desktops remotely, the UTCS department would prefer that you use SSH X forwarding when possible. VNC sessions are a drain on resources and are often abused. Each machine is only allowed two concurrent VNC sessions to prevent it from bogging down system resources. Also, people often leave their VNC sessions running when not in use which causes bandwidth issues and puts the department on ITS's radar. Typically people use VNC sessions to forward an entire desktop when they only need it for one program which could be easily forwarded singularly through SSH. These are behaviors the department would like to discourage. If you still believe VNC is the method you should use, see the instructions below, else check out the SSH X Forwarding documentation page.
VNC (Virtual Network Computing) is a system that allows you to view and control the desktop environment of another computer remotely. It operates independently of the operating system, meaning the server and client do not need to be of the same architecture (that is, you can control a MS-Windows machine from a Unix machine, and vice versa). This web page describes how to access a CS X-window environment from a remote Windows or Unix machine with a VNC client or java-enabled web browser installed. The computers available for use in the seminar rooms in ACES are such machines.
For more information on VNC visit the VNC website.
Starting a VNC server
- On the machine which you are physically logged into, use a SSH client to connect to a CS host. A SSH client is installed on the ACES seminar room machines and it can be started via Start Menu -> Programs -> Secure Shell Client, and then choosing the menu "Window" -> New Terminal.
- Once connected to the CS machine, you may want to configure your VNC session. It will run the window manager twm by default, which is probably not the same thing you have configured for your normal X window manager. To choose a different window manager such as fvwm or gnome, edit the ~/.vnc/xstartup file to contain the things you'd like to run in your x-session. We have found the following xstartup lines to provide the best compatibility:
- unset SESSION_MANAGER
- unset DBUS_SESSION_BUS_ADDRESS
- export XKL_XMODMAP_DISABLE=1
- gnome-session &
- Note: Using kde for VNC sessions will result in a distorted display. This is a known issue with VNC and kde, so we highly recommend the use of gnome.
- The xstartup file must be executable (use the command chmod u+x ~/.vnc/xstartup) or its contents will not be run.
- Once connected to the CS machine, type the command vncserver. The CS copy of the vncserver command is modified to only allow 2 sessions per host to be run. Please do not attempt to circumvent these measures. Creating more than 2 vncserver sessions on a machine tends to degrade machine performance for anyone else using it.
- If this is the first time you have run vncserver, it will ask you to create and confirm a password. Note: The password you set is stored in ~/.vnc/passwd. Remove this file if you wish to change the password.
- At this step you'll be told which display the vncserver was started on, for example: New 'X' desktop is mei.cs.utexas.edu:1. Make note of the display number for the next stage.
One final note about using VNC servers: to stop the server when you are finished using it type the command vncserver -kill :1. Make sure to use the same display number the server was initailly assigned. Please be sure to log in to the CS host and kill the server with this command! Failure to do so will leave it running forever, which prevents someone else from using that VNC display, which is a fairly scarce resource.
Using VNC viewer
- Find and run the program called "vncviewer.exe" on the Windows machine. (or, 'vncviewer' on a unix machine.) you may need to download this software (for any OS) from the VNC website if it is not already installed on your machine. On the ACES seminar room machines, it can be found as Start Menu -> Programs -> Run VNC Viewer. A good, free alternative VNC viewer is UltraVNC.
- Enter the host and display of the server you started as follows:
- Enter the password you previously chose.
- A window should now open allowing you to access the X11 session which you previously started (with vncserver above) on the unix host.
The Windows machines in the ACES seminar rooms are not maintained by the CS staff. Questions concerning them should be directed to ACES tech support. Questions concerning the operation of the VNC server or vncviewer on the CS machines should be directed to email@example.com.