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

Connect to a session

On a Mac
  • Select Connect to Server… from the Finder's menu, or press Command + K.
HPC 2012-10-04 VNC Finder Connect to Server.png
  • Enter the Server Address in the form vnc://localhost:displaynum/ and push Connect.
  • You will get a warning that the connection is insecure. This warning pertains only to an internal connection between your SSH-forwarded port and vncserver. Your main remote connection from your own desktop to clogin will continue to be encrypted over the SSH channel.
  • Enter the VNC password you chose earlier.
HPC 2012-10-04 VNC Screen Sharing warning.pngHPC 2012-10-04 VNC Screen Sharing password.png

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 all vncservers on a given host by using 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.