HPC/Network Access/Virtual Desktop

From CNM Wiki
Jump to navigation Jump to search

Introduction

VNC is a multi-platform graphical remote access mechanism. It is not as common as the X Window System but is more light-weight on the user side and over the network. If you find that remote use over X11 is too slow, try VNC.

Principle of operation

  • Start a VNC server on a Carbon node. This is an application that will run under your user ID in the background and provide a virtual desktop for you.
  • Modify your SSH connection to forward an appropriate port.
  • Run a VNC client on your desktop machine and tell it to connect to the forwarded port. This will show the virtual desktop as a window on your actual desktop.
  • You can stop the VNC client and reconnect later.
  • When done, kill the VNC server process on Carbon.

VNC server startup

  • [Log in to Carbon] as documented.
  • On the clogin prompt (showing login5 or login6), enter:
vncserver
  • You may be asked for a password which will control access to a virtual desktop session. Choose and remember a password of good strength, but not your login password. The VNC password mechanism is weak; think of it as an office door to shut, keeping out unwanted guests.
  • To reset your password at any time, run:
vncpasswd
  • Obtain the display number from the output of the vncserver command:
New 'login5:1 (stern)' desktop is login5:1

Starting applications specified in /home/stern/.vnc/xstartup
Log file is /home/stern/.vnc/login5:1.log
The display number is shown after the : in the virtual desktop address, the last word in the first line.

Forward SSH ports

Forward a (TCP) port from your machine to the same port on the Carbon login node. How to do that depends on the SSH program you use, and which port to forward depends on the display number.

For Linux and Mac
  • Press <Enter>~C (three keys in succession: Enter, tilde, capital C). You should get a prompt like this:
ssh> 
  • At the prompt, enter:
-L port:localhost:port
where port = 5900 + displaynumber from above, for example:
ssh> -L 5901:localhost:5901
Forwarding port.
  • Press <Enter> to regain your regular prompt.
For PuTTY on Windows
TBD

VNC server teardown

On a Carbon login node, enter:

vncserver -kill :displaynumber

Troubleshooting

  • To see a list of recent VNC servers that you might be running:
ls -ltr ~/.vnc/*.pid
  • Identify and inspect server log files:
ls -ltr ~/.vnc/*.log
cat ~/.vnc/$HOSTNAME:displaynum.log
  • You can simply and unceremoniously kill a vncserver with the Unix kill command. For good measure, run it twice, then clean up:
kill `cat ~/.vnc/$HOSTNAME*.pid`
kill `cat ~/.vnc/$HOSTNAME*.pid`
rm ~/.vnc/$HOSTNAME*.pid

Please practice good housekeeping and do not needlessly leave vncserver processes running.