Desktop Sessions
A Desktop session gives you a full graphical desktop (Linux, or Windows on a Windows instance) on a compute resource, in your browser. Use it for GUI applications, visualization and post-processing, and browsing files on the cluster. The desktop runs on the resource itself, so your data and processes stay on the cluster, and nothing needs to be installed on your computer.
Need a code editor instead? See VS Code Sessions. Setting up desktops for a cluster you administer? See Configuring Desktop Sessions.
The resource must be running
A compute cluster must be running before you can launch a desktop on it. Your user workspace is always available.
Where your desktop runs
When you launch a desktop you choose where it runs:
| Target | Where it runs | Best for |
|---|---|---|
| User Workspace | Your personal workspace | Quick access to files and light GUI work, without starting a cluster |
| Login node | The cluster's login (controller) node, directly | Starting fast: no scheduler queue. Good for file management, job monitoring, and light pre- and post-processing |
| An environment | A compute node, allocated for you through the cluster's scheduler | Heavy or GPU work: visualization, simulation GUIs, anything that shouldn't run on a shared login node |
| An existing worker | A compute node you've already been allocated (see Workers) | Opening another desktop on a node you already hold, without queueing again |
| A Windows instance | A Windows Server VM, over Remote Desktop | Windows-only applications. See Windows Desktops |
Environments appear on clusters with a Slurm or PBS scheduler: ACTIVATE creates one for each partition automatically, and cluster owners can add more. See Environments. Choosing an environment submits a scheduler job that reserves one compute node just for this desktop. The desktop starts when the job starts, so it may wait in the queue, and it uses your allocation for as long as it runs.
Respect login-node policies
Login nodes are shared. Many sites restrict heavy workloads on them, so run demanding applications on a compute node through an environment.
Launch a desktop
From a cluster (Quick Launch)
-
Open your cluster. In the Quick Launch panel (Open this cluster in your browser), click Remote Desktop.
-
(Optional) Enter a Name. Leave it blank and ACTIVATE generates one.
-
If the cluster has environments or workers, choose a Compute target:
- Login node (direct connection): the default.
- Request new worker (provisions a new node): pick an environment. Fill in any required scheduling fields (such as account or QoS); the rest are under Advanced, with the environment's defaults shown.
- Run on existing worker: pick one of your connected workers.
-
Click Launch.
ACTIVATE opens the new session's page, and the desktop appears when it's ready. Desktops already running on the cluster are listed under Already running on this cluster.
From the Sessions page
-
Go to Sessions, click Create, and choose Desktop session.
-
(Optional) Enter a session name.
-
Choose a Target. User Workspace is selected by default. Each running cluster is listed with its Login node, its environments (with available node counts), and your connected workers. If you choose an environment, scheduling fields appear under Advanced.
-
Click Create session.
The session appears in the list. Click its name to open the desktop.
From the command line
# Desktop on a cluster's login node; open it in your browser when it's ready
pw sessions create --type desktop my-cluster --open
# Desktop on a compute node, scheduled through an environment
pw sessions create --type desktop my-cluster --environment gpu --openSee pw sessions create for all options, including scheduling parameters and existing workers.
While the desktop starts
The session page shows each step: Installing software, Starting session, then Running. Desktops scheduled through an environment first show Scheduling and Queued while the job waits for a node. The first desktop on a node takes longer, because the desktop software is downloaded and cached there.
While connecting, you can watch the desktop's startup logs (xstartup.log and xvnc.log) under the spinner.
Using the desktop
Open your desktop from the session page, or click Open in new tab for a full-window desktop with no ACTIVATE frame. The desktop scales and resizes to fit your browser window.
Move your mouse to the top center of the screen to show the toolbar:
| Control | What it does |
|---|---|
| Quality | Trade image quality for speed: Low, Medium, or High (the default). Try Low on a slow connection. |
| Ctrl+Alt+Del | Sends Ctrl+Alt+Del to the desktop, which your own computer would otherwise intercept. |
| Fullscreen | Fills your screen with the desktop. |
| Logs | Shows the desktop's startup logs. |
| Open in new tab | Opens the desktop in its own full-window tab. |
| Restart | Stops and restarts the desktop. Open windows are closed. |
| Disconnect | Closes your connection. The desktop keeps running. |
The browser tab title shows the cluster and the node the desktop runs on, which helps you tell several desktops apart.
Terminals and software
The desktop's Terminal opens a shell on the cluster, with your usual PATH, modules, and scheduler commands. On clusters that run the desktop in a container, Applications → System → Container Terminal opens a shell inside the desktop container instead.
Your home directory is always available. Ask your cluster administrator if a shared file system you need doesn't appear in the desktop.
Disconnecting and reconnecting
A desktop session keeps running on the resource until you delete it. Closing the tab or clicking Disconnect doesn't stop it: open the session again from Sessions and your windows are where you left them. If the connection drops, the viewer reconnects automatically. If the cluster goes offline, the session reconnects when the cluster is back.
If a desktop on a compute node stops with Worker disconnected or a job message such as Job TIMEOUT, its scheduler job has ended. Start a new desktop.
If a desktop can't connect, the viewer offers:
- Reconnect: try the connection again.
- Restart session: stop and restart the desktop process. Open windows are lost.
- Restart workspace (workspace desktops only): restart your whole workspace, which interrupts all its sessions.
Ending a desktop
Delete the session when you're done: on Sessions, open the session's menu, click Delete session, and confirm.
From the CLI, run pw sessions stop.
Deleting a desktop that was scheduled through an environment also ends its scheduler job and releases the compute node. A desktop on a worker you requested from the Workers page leaves that worker running, so you can start another session on it. Deleting a worker deletes every session on it.
Desktops don't time out
Desktops aren't stopped when idle. A desktop on a compute node holds that node, and uses your allocation, until you delete it or its scheduler job reaches its time limit. Delete desktops you're not using.