rsnt_translations
56,420
edits
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
<!--T:6--> | <!--T:6--> | ||
First you will need to install a VNC client on your machine to connect to the VNC server. We recommend using [http://tigervnc.org/ TigerVNC]. A TigerVNC package is available for Windows, MacOS and most Linux distributions. The following shows how to download, install and configure TigerVNC securely for each operating system. The certificate configuration steps are only required for connecting to VDI | First you will need to install a VNC client on your machine to connect to the VNC server. We recommend using [http://tigervnc.org/ TigerVNC]. A TigerVNC package is available for Windows, MacOS and most Linux distributions. The following shows how to download, install and configure TigerVNC securely for each operating system. The certificate configuration steps are only required for connecting to VDI nodes so the signing authority of the certificate presented by the vncserver is known. If a popup about a certificate issue occurs, either you have not configured it properly or you are not connected to our server and should not enter your password. | ||
== Windows == <!--T:8--> | == Windows == <!--T:8--> | ||
<!--T:10--> | <!--T:10--> | ||
Download and run the latest [https://bintray.com/tigervnc/stable/tigervnc/ tigervnc64-x.y.z.exe] installer. Be sure to uncheck both "Register new TigerVNC Server as a system service and "Start or restart TigerVNC service" | Download and run the latest [https://bintray.com/tigervnc/stable/tigervnc/ tigervnc64-x.y.z.exe] installer. Be sure to uncheck both "Register new TigerVNC Server as a system service and "Start or restart TigerVNC service"; these options are for sharing your desktop and not for connecting to our systems. Next, click to download [https://curl.haxx.se/ca/cacert.pem cacert.pem] to a local directory. Configure the default viewer settings by clicking the desktop TigerVNC Viewer icon. In the "VNC Viewer: Connection Details" window that appears click "Options -> Security" then tick all boxes except "Encryption None" and enter your <code>C:\full\directory\pathto\cacert.pem</code> in the "Path to X509 CA Certificate" field. To save the settings click OK and then click Connect (if Connect is not clicked, the settings will not be saved). Lastly, to create secure tunnels from your desktop to the vncserver as described in the sections below, you will need to open a terminal window and run the ssh command. This maybe done using PowerShell standard on Windows 10 since the 1809 October update. | ||
== MacOS == <!--T:12--> | == MacOS == <!--T:12--> | ||
<!--T:14--> | <!--T:14--> | ||
Download and run the latest [https://bintray.com/tigervnc/stable/tigervnc/ tigerVNC-x.y.z.dmg] package installer. Configure the default viewer settings by clicking the desktop TigerVNC Viewer icon. In the "VNC Viewer: Connection Details" window that appears click "Options -> Security" then tick all boxes except Encryption None and enter <b>/etc/ssl/cert.pem</b> in the "Path to X509 CA Certificate" field. To save the settings click OK and then click Connect. If Connect is not clicked the settings will not be saved. | Download and run the latest [https://bintray.com/tigervnc/stable/tigervnc/ tigerVNC-x.y.z.dmg] package installer. Configure the default viewer settings by clicking the desktop TigerVNC Viewer icon. In the "VNC Viewer: Connection Details" window that appears click "Options -> Security" then tick all boxes except "Encryption None" and enter <b>/etc/ssl/cert.pem</b> in the "Path to X509 CA Certificate" field. To save the settings click OK and then click Connect. If Connect is not clicked, the settings will not be saved. | ||
== Linux == <!--T:16--> | == Linux == <!--T:16--> | ||
<!--T:18--> | <!--T:18--> | ||
First install TigerVNC viewer with the package manager for your | First install TigerVNC viewer with the package manager for your Linux version: | ||
<!--T:20--> | <!--T:20--> | ||
Line 44: | Line 44: | ||
<!--T:22--> | <!--T:22--> | ||
Next start TigerVNC by either finding it in the | Next, start TigerVNC by either finding it in the applications menu or running <code>vncviewer</code> on the command line. In the "VNC Viewer: Connection Details" window that appears click "Options -> Security" then tick all boxes except "Encryption None" and enter one of the following paths in the "Path to X509 CA Certificate" field. | ||
<!--T:24--> | <!--T:24--> | ||
Line 60: | Line 60: | ||
| /etc/ssl/certs/ca-certificates.crt | | /etc/ssl/certs/ca-certificates.crt | ||
|} | |} | ||
To save the settings click OK and then click Connect. If Connect is not clicked the settings will not be saved. | To save the settings click OK and then click Connect. If Connect is not clicked, the settings will not be saved. | ||
= Connect = <!--T:26--> | = Connect = <!--T:26--> | ||
<!--T:28--> | <!--T:28--> | ||
Now you need a VNC server to connect to. This can be either a persistent vncserver running on dedicated VDI | Now you need a VNC server to connect to. This can be either a persistent vncserver running on dedicated VDI nodes which are part of [[Graham]], or a temporary vncserver you start on a cluster compute node. VNC is not a heavyweight server, so you can certainly run lightweight sessions on cluster login nodes. | ||
== VDI Nodes == <!--T:30--> | == VDI Nodes == <!--T:30--> | ||
Line 73: | Line 73: | ||
<!--T:34--> | <!--T:34--> | ||
Graham has dedicated VDI nodes collectively known as gra-vdi. These nodes provide a full graphical desktop, accelerated OpenGL, and shared access to | Graham has dedicated VDI nodes collectively known as gra-vdi. These nodes provide a full graphical desktop, accelerated OpenGL, and shared access to Graham's <code>/home, /project,</code> and <code>/scratch</code> filesystems. | ||
<!--T:36--> | <!--T:36--> | ||
To connect start your desktop VNC viewer (tigervnc) and input the address '''gra-vdi.computecanada.ca'''. This should bring up a login screen where you can enter your Compute Canada credentials and | To connect, start your desktop VNC viewer (tigervnc) and input the address '''gra-vdi.computecanada.ca'''. This should bring up a login screen where you can enter your Compute Canada credentials and log in. | ||
<!--T:38--> | <!--T:38--> | ||
As with regular login nodes, the VDI nodes are a shared resource and not intended for doing batch computation (that is what the compute nodes are for) so please only use them for graphics-related tasks. For example | As with regular login nodes, the VDI nodes are a shared resource and not intended for doing batch computation (that is what the compute nodes are for) so please only use them for graphics-related tasks. For example graphical pre-processing such as mesh generation, graphical post-processing such as visualization, or graphical integrated development environments. | ||
<!--T:40--> | <!--T:40--> | ||
If you want to perform computational tasks within a | If you want to perform computational tasks within a GUI, please do so on a cluster compute node using the <tt>salloc</tt> command as described in the Compute Nodes section below. This will ensure the memory and CPU resources on gra-vdi are fully available for interactive graphical visualization purposes by other users when needed. | ||
== Login Nodes == <!--T:41--> | == Login Nodes == <!--T:41--> | ||
Line 124: | Line 124: | ||
<!--T:52--> | <!--T:52--> | ||
Mac or Windows should click the <i>TigerVNC Viewer</i> application icon on their desktop and enter the '''localhost:port''' information in the Connection Details dialogue box that appears. Keep in mind strict memory and cputime limits apply on cluster login nodes. On | Mac or Windows users should click the <i>TigerVNC Viewer</i> application icon on their desktop and enter the '''localhost:port''' information in the "Connection Details" dialogue box that appears. Keep in mind that strict memory and cputime limits apply on cluster login nodes. On Graham, these are 8GB and 1 cpu-hour per process according to <code>ulimit -t -v</code>. If you require more resources, then run your VNC server on the VDI nodes or compute nodes instead as described above and below respectively. | ||
== Compute Nodes == <!--T:54--> | == Compute Nodes == <!--T:54--> | ||
<!--T:56--> | <!--T:56--> | ||
Where VDI login nodes are unavailable you can start a VNC server on a compute node, and | Where VDI login nodes are unavailable you can start a VNC server on a compute node, and with suitable port forwarding, connect to it from your desktop. This gives you dedicated access to the server, but does not provide a full graphical desktop or hardware-accelerated OpenGL. | ||
<!--T:58--> | <!--T:58--> | ||
Line 135: | Line 135: | ||
<!--T:60--> | <!--T:60--> | ||
Before starting your VNC server, | Before starting your VNC server, log in to a cluster (such as Cedar) and create an allocation on a compute node using the <code>salloc</code> commmand (a 3hr maximum time limit applies). For example, to request an [[Running_jobs#Interactive_jobs|interactive job]] using 4 CPUs and 16GB of memory you could use the command: | ||
<!--T:141--> | <!--T:141--> | ||
Line 188: | Line 188: | ||
<!--T:70--> | <!--T:70--> | ||
Once your VNC server has been started, create a "bridge" to allow your local desktop computer to connect to the compute node directly. This bridge connection is created using an [[SSH tunnelling|SSH tunnel]]. SSH tunnels are created on your computer in a new local terminal window using the same SSH connection command as usual, with an extra option added | Once your VNC server has been started, create a "bridge" to allow your local desktop computer to connect to the compute node directly. This bridge connection is created using an [[SSH tunnelling|SSH tunnel]]. SSH tunnels are created on your computer in a new local terminal window using the same SSH connection command as usual, with an extra option added which follows the format <code>ssh user@host -L port:compute_node:port</code>. | ||
<!--T:72--> | <!--T:72--> | ||
Line 242: | Line 242: | ||
Please note the port number in '''localhost:port''' specified above (5902) must match the local port (the first number) you specified when you set up the SSH tunnel. The default VNC port is 5900. If you specified 5900 for the local port of the SSH tunnel, you could omit it when you invoke <code>vncviewer</code>. However, Windows users may find that they cannot set up an SSH tunnel on local port 5900. Once connected, you will be presented with a [https://mate-desktop.org/ Linux MATE desktop]. To launch a terminal, click on the top menu on "Applications -> System Tools -> MATE Terminal". You may also add a shortcut to the top menu by right-clicking on "MATE Terminal" and by clicking on "Add this launcher to panel". Finally, to launch a program, invoke the command as you would normally within a <code>bash</code> session, for example <code>xclock</code>. To start a more complicated program like MATLAB, load the module and then run the <code>matlab</code> command. | Please note the port number in '''localhost:port''' specified above (5902) must match the local port (the first number) you specified when you set up the SSH tunnel. The default VNC port is 5900. If you specified 5900 for the local port of the SSH tunnel, you could omit it when you invoke <code>vncviewer</code>. However, Windows users may find that they cannot set up an SSH tunnel on local port 5900. Once connected, you will be presented with a [https://mate-desktop.org/ Linux MATE desktop]. To launch a terminal, click on the top menu on "Applications -> System Tools -> MATE Terminal". You may also add a shortcut to the top menu by right-clicking on "MATE Terminal" and by clicking on "Add this launcher to panel". Finally, to launch a program, invoke the command as you would normally within a <code>bash</code> session, for example <code>xclock</code>. To start a more complicated program like MATLAB, load the module and then run the <code>matlab</code> command. | ||
= | = More information = <!--T:86--> | ||
== Vncserver password == <!--T:88--> | == Vncserver password == <!--T:88--> | ||
<!--T:90--> | <!--T:90--> | ||
To reset your VNC server password use the <code>vncpasswd</code> command: | To reset your VNC server password, use the <code>vncpasswd</code> command: | ||
<!--T:170--> | <!--T:170--> | ||
Line 263: | Line 263: | ||
<!--T:98--> | <!--T:98--> | ||
If a vncserver is no longer needed terminate it with <code>vncserver -kill :DISPLAY#</code> as shown here: | If a vncserver is no longer needed, terminate it with <code>vncserver -kill :DISPLAY#</code> as shown here: | ||
<!--T:172--> | <!--T:172--> | ||
Line 280: | Line 280: | ||
Killing Xvnc process ID 27644 | Killing Xvnc process ID 27644 | ||
</source> | </source> | ||
If you have multiple vncservers running on a node, you may kill them all by running | If you have multiple vncservers running on a node, you may kill them all by running <code>pkill Xvnc -u $USER</code>. | ||
== Multiple connections == <!--T:100--> | == Multiple connections == <!--T:100--> | ||
Line 290: | Line 290: | ||
<!--T:103--> | <!--T:103--> | ||
Repeated | Repeated failing attempts to establish a new vncserver/vncviewer connection may be due to an old SSH tunnel still running on your desktop tying up ports. To identify and kill any such tunnels, open a terminal window on your desktop and run <code>ps ux | grep ssh</code> followed by <code>kill PID</code>. | ||
== Unlock screensaver == <!--T:104--> | == Unlock screensaver == <!--T:104--> | ||
<!--T:105--> | <!--T:105--> | ||
If your VNC screensaver times out and requests a password, enter your cluster account password to unlock it (not your vncserver password). If you are running the MATE desktop and the | If your VNC screensaver times out and requests a password, enter your cluster account password to unlock it (not your vncserver password). If you are running the MATE desktop and the screensaver will not unlock, try running <code>killall -9 .mate-screensaver</code>. This should no longer be a problem on Compute Canada clusters as the VNC screensaver has been disabled. | ||
= Software = <!--T:106--> | = Software = <!--T:106--> | ||
<!--T:107--> | <!--T:107--> | ||
The VDI nodes have special hardware and virtual server configuration and extra layers of software modules compared to cluster | The VDI nodes have special hardware and virtual server configuration, and extra layers of software modules compared to cluster compute nodes. Therefore, before running graphical software on gra-vdi it is important to have a high-level understanding of which software modules are available and will produce the best results before making a selection. | ||
== NIX == <!--T:108--> | == NIX == <!--T:108--> | ||
Line 319: | Line 319: | ||
<!--T:116--> | <!--T:116--> | ||
To install a nix package into your environment click the black terminal icon on the top menu bar or | To install a nix package into your environment, click the black terminal icon on the top menu bar or select "Applications -> System Tools -> Terminal". Once a terminal window appears, run <code>module load nix</code>. You can now search for programs using the <code>nix search <regexp></code> command and install them in your environment using the <code>nix-env --install --attr <attribute></code> command. As an example, to install [https://qgis.org QGIS] do the following: | ||
<!--T:152--> | <!--T:152--> | ||
Line 352: | Line 352: | ||
<!--T:126--> | <!--T:126--> | ||
The easiest way to do this is use the <code>patchelf</code> utility from nix (use <code>nix-env --install --attr nixpkgs.patchelf</code> to install it) to adjust the final binary. For example, if you built an OpenGL application against the system libraries and installed it as ''~/.local/bin/myglapp'', then you need to add the system VirtualGL library ''/usr/lib64/VirtualGL/libvglfaker.so'' as the first required library. | The easiest way to do this is to use the <code>patchelf</code> utility from nix (use <code>nix-env --install --attr nixpkgs.patchelf</code> to install it) to adjust the final binary. For example, if you built an OpenGL application against the system libraries and installed it as ''~/.local/bin/myglapp'', then you need to add the system VirtualGL library ''/usr/lib64/VirtualGL/libvglfaker.so'' as the first required library. | ||
<!--T:154--> | <!--T:154--> | ||
Line 361: | Line 361: | ||
<!--T:128--> | <!--T:128--> | ||
Note that it is also possible to pre-load ''vglfaker.so'' via the <code>LD_PRELOAD</code> environment variable. This is generally a bad idea as it applies indiscriminately to all binaries, and those that require a different ''vglfaker.so'' than that set in <code>LD_PRELOAD</code> will then fail, | Note that it is also possible to pre-load ''vglfaker.so'' via the <code>LD_PRELOAD</code> environment variable. This is generally a bad idea as it applies indiscriminately to all binaries, and those that require a different ''vglfaker.so'' than that set in <code>LD_PRELOAD</code> will then fail; however, it can be used safely in some cases in wrapper scripts. | ||
== CVMFS == <!--T:130--> | == CVMFS == <!--T:130--> | ||
<!--T:132--> | <!--T:132--> | ||
Compute Canada software modules reside under /cvmfs and are available by default when you log into | Compute Canada software modules reside under /cvmfs and are available by default when you log into Graham, Cedar and Béluga. These modules however are not loaded by default when you connect into gra-vdi over tigervnc. To load them open a terminal window and run the following: | ||
<!--T:155--> | <!--T:155--> | ||
Line 375: | Line 375: | ||
<!--T:134--> | <!--T:134--> | ||
All Compute Canada software modules will now be available on gra-vdi identical to the clusters. While these modules should always work reliably when running graphical applications on compute nodes, some may have stability issues running on gra-vdi such as sudden crashing or strange graphical artifacts including transparent windows or missing menus. To work around such problems, use an equivalent package from nix as described in the previous section; better graphics performance may also be realized. While the nix module provides a vast number of optimized/stable open-source packages for gra-vdi, it does not provide commercial module equivalents for ANSYS, COMSOL or StarCCM. These can be found by loading the SnEnv module instead: | |||
<!--T:156--> | <!--T:156--> |