Difference between revisions of "Using a VNC Server/Client"

From Hall A Wiki
Jump to: navigation, search
(Instructions for Windows)
(Setting up the VNC Server)
Line 174: Line 174:
 
* Start the vncserver by running:
 
* Start the vncserver by running:
 
   [hacuser@hacweb14]# vncserver -geometry 1900x1100 :1
 
   [hacuser@hacweb14]# vncserver -geometry 1900x1100 :1
 +
* You can close that window and the VNC server will remain running.  Proceed to connect using the instructions above.
  
 
= Killing the VNC Server =
 
= Killing the VNC Server =
 
This will quit the server and all applications that were running under that server.
 
This will quit the server and all applications that were running under that server.
 
   [hacuser@hacweb14]# vncserver -kill :1
 
   [hacuser@hacweb14]# vncserver -kill :1

Revision as of 01:13, 13 November 2019

Instructions for Windows

Note: if you are running Windows 10, there is a command-line ssh client included. I recommend installing a VNC client as noted below, then proceeding to the Windows 10 instructions.

Downloading the Software

You'll need two pieces of software:

VNC and PuTTY icons on the Desktop
  • VNC client (lets you view the remote screen). Either client below should work.
    • NOTE: I recommend getting the standalone version when available. That way you can run it even if you don't have Administrator access on your machine.
    • RealVNC
    • TightVNC
  • PuTTY (lets the client talk to the remote machine through the firewall): PuTTY.
    • You want to save the putty.exe to your Desktop.

Setting up PuTTY


NOTE: The PuTTY screenshots below only examples.  Do not copy them blindly, be sure to read the notes in each section.

This is a 2-step process.

Step 1: Tunnel between your machine and JLab

Run PuTTY and create a Step 1 configuration.

Configure host name of remote machine

PuTTY's connect dialog
  • Set Host Name to hallgw.jlab.org
  • Set Saved Sessions field to Step 1


Configure user name

PuTTY's config, username
  • Select the Data entry under Connection in the left column.
  • Set Auto-login username field to your JLab username.


Configure tunnel

PuTTY's config, Tunnel Config
  • Click on the + next to SSH in the list on the left, then select Tunnels.
  • Set Source port to 2300 + the last 2 digits of your phone number.
    • Note: the port in this step just needs to be unique for each person connecting. The 'phone number' thing is just a way to make a number likely to be unique to you. For example, if your phone number ends with 4321 then set the port to 2321
  • Set Destination to hacweb14:22
  • Then click on the Add button.


Save configuration

PuTTY's config, main
  • Select the Session entry in the left column (scroll up if you have to), and click on the Save button. This will save your settings for Step 1.


Step 2: Tunnel between your machine and hacuser@hacweb14

We will now repeat the above steps to create a Step 2 configuration.

Configure host name of remote machine

PuTTY's connect dialog
  • Set Host Name to localhost
  • Set Port to the Source port you chose in Step 1 above (ie. 2321 in the above example)
  • Set Saved Sessions field to Step 2


Configure user name

PuTTY's config, username
  • Select the Data entry under Connection in the left column.
  • Set Auto-login username field to hacuser


Configure tunnel

PuTTY's config, Tunnel Config
  • Click on the + next to SSH in the list on the left, then select Tunnels.
  • Set Source port to 5901
  • Set Destination to localhost:5901
  • Then click on the Add button.
NOTE: After clicking Add you should only see a single line that looks like this in the Forwarded ports: field.
        L5901    localhost:5901
     If you see a second line, click on it, then click the Remove button to delete it.


Save configuration

PuTTY's config, main
  • Select the Session entry in the left column (scroll up if you have to), and click on the Save button. This will save your settings for Step 2.


Setting up the Tunnel using your settings

PuTTY's shell
  • Run PuTTY and select Step 1 from the Saved Sessions list and click Load.
    • Click on the Open button at the bottom of the dialog box. A black terminal will open and prompt you to login to the hallgw machine.
    • You will use your CUE 2-factor login here. Type it in and you should get a normal shell prompt like this: [<username>@hallgw1]~%
    • You can now minimize this window (do NOT quit PuTTY).
  • Run PuTTY a 2nd time and select Step 2 from the Saved Sessions list and click Load.
    • Click on the Open button at the bottom of the dialog box. A black terminal will open and prompt you to login to the hacweb14 machine.
    • You will use the hacuser password here. Type it in and you should get a normal shell prompt [hacuser@hacweb14]#
    • You can now minimize this window (do NOT quit PuTTY) and move on to running the VNC client


Running VNC Client

NOTE: The snapshots below are for an older software called UltraVNC.
  I'll update the snapshots soon, but you'll have to find the equivalents
  in the VNC client you use.

Run vncviewer.exe

UltraVNC config window
  • Enter localhost:5901 in the "VNC Server:" field at the top.
  • Enable the Save connection settings as default at the bottom.


Connect to the VNC session

UltraVNC auth and status windows
  • Click on the Connect button and you should see a couple of windows pop up:
  • Enter the hacuser password in the appropriate box and hit return.
  • You should be rewarded with the hacuser window session.
UltraVNC Session
  • NOTE: If you get a black screen with yet another password prompt, it means the screen saver software has kicked in. Just type in the 'hacuser' password again and you'll be good to go.


Quitting the VNC session

  • Be sure to close the VNC program window, not one of the windows running

inside the VNC session.

  • Any program/stripchart that you start inside the VNC session will keep

running and updating in the background. You can reconnect to the VNC session anytime from (nearly) any machine.

To Summarize

After setting up the PuTTY configurations, you can do the following:

  1. Run PuTTY, select 'Step 1', and click 'Load', then 'Open', login, then minimize that PuTTY window (leave it running)
  2. Run PuTTY, select 'Step 2', and click 'Load', then 'Open', login, then minimize that PuTTY window (leave it running)
  3. Run your VNC Client and Connect (generally it will default to the settings you saved earlier, but you may need to load a configuration)

Instructions for Linux / Windows 10

This is a 2-step process.

Step 1: Tunnel between your machine and JLab

  • Type command.com in the search bar and run the program. A black terminal window should appear.
  • Run the following command:
ssh -L<port>:hacweb14:22 <username>@hallgw.jlab.org
  • Use your JLab username and your 2-factor password.
  • Replace <port> with 2300 + the last 2 digits of your phone number.
    • Note: the port in this step needs to be unique for each person connecting. The 'phone number' thing is just a way to make a number likely to be unique to you. For example, if your phone number ends with 4321 then set the port to 2321. So the command would be ssh -L2321:hacweb14:22 ...
  • Leave the program running (you can minimize it if you like).

Step 2: Tunnel between your machine and hacuser@hacweb14

  • Type command.com in the search bar (again) and run the program. A 2nd black terminal window should appear.
  • Run the following command:
ssh -L5901:localhost:5901 hacuser@hacweb14
  • Use the hacuser password here.
  • Leave the program running (you can minimize it if you like).

Running VNC Client

On Windows 10

Use the Windows VNC instructions

On Linux

  • Type the following at a shell prompt (ie. in an xterm)
 vncviewer -Shared localhost :1
  • When prompted, enter the hacuser password.
  • NOTE: If you get a black screen with yet another password prompt, it means the screen saver software has kicked in. Just type in the 'hacuser' password again and you'll be good to go.

Setting up the VNC Server

NOTE: This rarely needs to be done.  Once it is started it will stay running even after you disconnect.
      In general, the vncserver will only need to be restarted if the hacweb14 machine is rebooted.
  • Log in to hacuser@hacweb14
  • Start the vncserver by running:
 [hacuser@hacweb14]# vncserver -geometry 1900x1100 :1
  • You can close that window and the VNC server will remain running. Proceed to connect using the instructions above.

Killing the VNC Server

This will quit the server and all applications that were running under that server.

 [hacuser@hacweb14]# vncserver -kill :1