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

From Hall A Wiki
Jump to: navigation, search
(Hall C)
(Hall C Cryo Controls)
Line 14: Line 14:
 
* Once you are connected to hccuser@hccweb1 using VNC, then you can access the HMI magnet and cryo controls using the icon in the top toolbar.
 
* Once you are connected to hccuser@hccweb1 using VNC, then you can access the HMI magnet and cryo controls using the icon in the top toolbar.
 
** That icon opens a shared session to the cmagnets@controls8 Windows10 desktop in a new window.
 
** That icon opens a shared session to the cmagnets@controls8 Windows10 desktop in a new window.
** If the magnet controls are already running, then the new window should look similar to this
+
 
 +
* If the magnet controls are already running, then the new window should look similar to this.
 
[[File:hccweb1desktop.png|500px|hccuser@hccweb1 desktop (empty)]]
 
[[File:hccweb1desktop.png|500px|hccuser@hccweb1 desktop (empty)]]
;** Otherwise, you will need to run the HMI software using the shortcut on the desktop
+
* Otherwise, you will need to run the HMI software using the shortcut on the desktop as noted in the above snapshot.  The HMI screen should look something like the snapshot below.
 
[[File:controls8desktop.png|500px|controls8 desktop with HMI software running]]
 
[[File:controls8desktop.png|500px|controls8 desktop with HMI software running]]
  

Revision as of 21:14, 4 April 2021

Hall A vs Hall C Connections

Hall A

  • NOTE: The instructions below use the username and hostname for Hall A.
 username:  hacuser
 hostname:  hacweb14

Hall C

  • The same instructions can be used for Hall C, but you need to make the following substitutions:
   username:  change hacuser to hccuser
   hostname:  change hacweb14 to hccweb1

Hall C Cryo Controls

  • Once you are connected to hccuser@hccweb1 using VNC, then you can access the HMI magnet and cryo controls using the icon in the top toolbar.
    • That icon opens a shared session to the cmagnets@controls8 Windows10 desktop in a new window.
  • If the magnet controls are already running, then the new window should look similar to this.

hccuser@hccweb1 desktop (empty)

  • Otherwise, you will need to run the HMI software using the shortcut on the desktop as noted in the above snapshot. The HMI screen should look something like the snapshot below.

controls8 desktop with HMI software running

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.
  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 / Mac

The ssh configuration for a Mac is done through the Terminal program following the linux instructions.

This is a 2-step process.

Step 1: Tunnel between your machine and JLab

  • Open a Terminal window
    • Windows10: 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

  • Open an new Terminal window
    • Windows10: Type command.com in the search bar (again) and run the program. A 2nd black terminal window should appear.
  • Run the following command:
ssh -p<port> -L5901:localhost:5901 hacuser@localhost
  • Use the hacuser password here.
  • port is the number from the previous step. For example 2321.
  • 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.

On Mac

Simply open Safari and enter “vnc://” followed by the IP Address of the VNC Server, for example: "vnc://localhost:1" ~ OR ~ Go to the Finder (ie. click on the desktop), type ⌘+k, then type in an address like "vnc://localhost:1"

Setting up the VNC Server

NOTE: This rarely needs to be done.  Once it is started it will stay running even after you disconnect.
      There is a crontab entry that should restart the server on a reboot.
  • 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