4 merge requests!368Update prace.md to document the change from qprace to qprod as the default...,!367Update prace.md to document the change from qprace to qprod as the default...,!366Update prace.md to document the change from qprace to qprod as the default...,!323extended-acls-storage-section
The **Virtual Network Computing** (**VNC**) is a graphical [desktop sharing][a] system that uses the [Remote Frame Buffer protocol (RFB)][b] to remotely control another [computer][c]). It transmits the [keyboard][d] and [mouse][e] events from one computer to another, relaying the graphical [screen][f] updates back in the other direction, over a [network][g].
**Virtual Network Computing** (**VNC**) is a graphical [desktop sharing][a] system that uses the [Remote Frame Buffer protocol (RFB)][b] to remotely control another [computer][c]). It transmits the [keyboard][d] and [mouse][e] events from one computer to another, relaying the graphical [screen][f] updates back in the other direction, over a [network][g].
Vnc-based connections are usually faster (require less network bandwidth) then [X11][1] applications forwarded directly through ssh.
Vnc-based connections are usually faster (require less network bandwidth) than [X11][1] applications forwarded directly through SSH.
The recommended clients are [TightVNC][h] or [TigerVNC][i] (free, open source, available for almost any platform).
In this chapter we show how to create an underlying ssh tunnel from your client machine to one of our login nodes. Then, how to start your own vnc server on our login node and finally how to connect to your vnc server via the encrypted ssh tunnel.
In this chapter, we show how to create an underlying SSH tunnel from your client machine to one of our login nodes. Then, how to start your own VNC server on our login node and finally how to connect to your VNC server via the encrypted SSH tunnel.
## Create VNC Password
!!! note
Local VNC password should be set before the first login. Do use a strong password.
Local VNC password should be set before the first login. Use a strong password.
```console
[username@login2 ~]$vncpasswd
...
...
@@ -19,15 +19,15 @@ Password:
Verify:
```
## Start Vncserver
## Start VNC Server
!!! note
To access VNC a local vncserver must be started first and also a tunnel using SSH port forwarding must be established.
To access VNC, a local VNC Server must be started first and a tunnel using SSH port forwarding must be established.
[See below][2] for the details on SSH tunnels.
You should start by **choosing your display number**.
To choose free one, you should check currently occupied display numbers - list them using command:
Start by **choosing your display number**.
To choose a free one, you should check currently occupied display numbers - list them using the command:
@@ -55,7 +55,7 @@ Starting applications specified in /home/username/.vnc/xstartup
Log file is /home/username/.vnc/login2:1.log
```
Check whether VNC server is running on choosen display number (61):
Check whether the VNC server is running on the chosen display number (61):
```console
[username@login2 .vnc]$vncserver -list
...
...
@@ -76,12 +76,12 @@ username :102
```
!!! note
The VNC server runs on port 59xx, where xx is the display number. So, you get your port number simply as 5900 + display number, in our example 5900 + 61 = 5961. Another example for display number 102 is calculation of TCP port 5900 + 102 = 6002 but be aware, that TCP ports above 6000 are often used by X11. **Calculate your own port number and use it instead of 5961 from examples below!**
The VNC server runs on port 59xx, where xx is the display number. To get your port number, simply add 5900 + display number, in our example 5900 + 61 = 5961. Another example for display number 102 is calculation of TCP port 5900 + 102 = 6002, but note that TCP ports above 6000 are often used by X11. **Calculate your own port number and use it instead of 5961 from examples below**.
To access the VNC server you have to create a tunnel between the login node using TCP port 5961 and your machine using a free TCP port (for simplicity the very same) in next step. See examples for [Linux/Mac OS][2] and [Windows][3].
!!! note
The tunnel must point to the same login node where you launched the VNC server, eg. login2. If you use just cluster-name.it4i.cz, the tunnel might point to a different node due to DNS round robin.
The tunnel must point to the same login node where you launched the VNC server, e.g. login2. If you use just cluster-name.it4i.cz, the tunnel might point to a different node due to DNS round robin.
## Linux/Mac OS Example of Creating a Tunnel
...
...
@@ -91,7 +91,7 @@ At your machine, create the tunnel:
local $ssh -TN-f username@login2.cluster-name.it4i.cz -L 5961:localhost:5961
```
Issue the following command to check the tunnel is established (note the PID 2022 in the last column, you'll need it for closing the tunnel):
Issue the following command to check the tunnel is established (note the PID 2022 in the last column, it is required for closing the tunnel):
```console
local $netstat -natp | grep 5961
...
...
@@ -114,22 +114,22 @@ Connect with the VNC client:
local $vncviewer 127.0.0.1:5961
```
In this example, we connect to VNC server on port 5961, via the ssh tunnel. The connection is encrypted and secured. The VNC server listening on port 5961 provides screen of 1600x900 pixels.
In this example, we connect to VNC server on port 5961, via the SSH tunnel. The connection is encrypted and secured. The VNC server listening on port 5961 provides screen of 1600x900 pixels.
You have to destroy the SSH tunnel which is still running at the background after you finish the work. Use the following command (PID 2022 in this case, see the netstat command above):
You have to close the SSH tunnel which is still running in the background after you finish the work. Use the following command (PID 2022 in this case, see the netstat command above):
```console
kill 2022
```
!!! note
You can watch instruction video howto make vnc connection between local Ubuntu desktop and IT4I Salomon cluster [here][k].
You can watch the instruction video on howto make a VNC connection between a local Ubuntu desktop and the IT4I Salomon cluster [here][k].
## Windows Example of Creating a Tunnel
Start vncserver using command vncserver described above.
Start the VNC server using the vncserver command described above.
Search for the localhost and port number (in this case 127.0.0.1:5961).
Search for the localhost and port number (in this case 127.0.0.1:5961):
```console
[username@login2 .vnc]$netstat -tanp | grep Xvnc
...
...
@@ -140,7 +140,7 @@ tcp 0 0 127.0.0.1:5961 0.0.0.0:* LIST
### PuTTY
On the PuTTY Configuration screen go to Connection->SSH->Tunnels to set up the tunnel.
On the PuTTY Configuration screen, go to Connection->SSH->Tunnels to set up the tunnel.
Fill the Source port and Destination fields. **Do not forget to click the Add button**.
...
...
@@ -158,29 +158,29 @@ local $ ssh username@login2.cluster-name.it4i.cz -L 5961:localhost:5961
## Example of Starting VNC Client
Run the VNC client of your choice, select VNC server 127.0.0.1, port 5961 and connect using VNC password.
Run the VNC client of your choice, select the VNC server 127.0.0.1, port 5961 and connect using the VNC password.
### TigerVNC Viewer

In this example, we connect to VNC server on port 5961, via the ssh tunnel, using TigerVNC viewer. The connection is encrypted and secured. The VNC server listening on port 5961 provides screen of 1600x900 pixels.
In this example, we connect to the VNC server on port 5961, via the SSH tunnel, using the TigerVNC viewer. The connection is encrypted and secured. The VNC server listening on port 5961 provides a screen of 1600x900 pixels.
### TightVNC Viewer
Use your VNC password to log using TightVNC Viewer and start a Gnome Session on the login node.
Use your VNC password to log using the TightVNC Viewer and start a Gnome Session on the login node.

## Gnome Session
You should see after the successful login.
After the successful login, you should see the following screen:

### Disable Your Gnome Session Screensaver
Open Screensaver preferences dialog:
Open the Screensaver preferences dialog:

...
...
@@ -190,7 +190,7 @@ Uncheck both options below the slider:
### Kill Screensaver if Locked Screen
If the screen gets locked you have to kill the screensaver. Do not to forget to disable the screensaver then.
If the screen gets locked, you have to kill the screensaver. Do not forget to disable the screensaver then.
You should kill your VNC server using the command:
```console
[username@login2 .vnc]$vncserver -kill :61
...
...
@@ -210,20 +210,20 @@ Killing Xvnc process ID 7074
Xvnc process ID 7074 already killed
```
Or this way:
or:
```console
[username@login2 .vnc]$pkill vnc
```
!!! note
Do not forget to terminate also SSH tunnel, if it was used. Look on end of [this section][2] for the details.
Also, do not forget to terminate the SSH tunnel, if it was used. For details, see the end of [this section][2].
## GUI Applications on Compute Nodes Over VNC
The very same methods as described above, may be used to run the GUI applications on compute nodes. However, for maximum performance, proceed following these steps:
The very same methods as described above may be used to run the GUI applications on compute nodes. However, for maximum performance, follow these steps:
Open a Terminal (Applications -> System Tools -> Terminal). Run all the next commands in the terminal.
Open a Terminal (Applications -> System Tools -> Terminal). Run all the following commands in the terminal.

...
...
@@ -239,13 +239,13 @@ Get an interactive session on a compute node (for more detailed info [look here]