SC26AI agents lab + dinner on the river · Nov 17
Parallel Works

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:

TargetWhere it runsBest for
User WorkspaceYour personal workspaceQuick access to files and light GUI work, without starting a cluster
Login nodeThe cluster's login (controller) node, directlyStarting fast: no scheduler queue. Good for file management, job monitoring, and light pre- and post-processing
An environmentA compute node, allocated for you through the cluster's schedulerHeavy or GPU work: visualization, simulation GUIs, anything that shouldn't run on a shared login node
An existing workerA compute node you've already been allocated (see Workers)Opening another desktop on a node you already hold, without queueing again
A Windows instanceA Windows Server VM, over Remote DesktopWindows-only applications. See Windows Desktops
Loading diagram...

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)

  1. Open your cluster. In the Quick Launch panel (Open this cluster in your browser), click Remote Desktop.

    Screenshot of the Quick Launch panel on a cluster page, with the Remote Desktop card highlighted.
  2. (Optional) Enter a Name. Leave it blank and ACTIVATE generates one.

  3. 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.
  4. Click Launch.

Screenshot of the Launch Remote Desktop dialog with Request new worker selected, an environment chosen, and its scheduling fields.

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

  1. Go to Sessions, click Create, and choose Desktop session.

    Screenshot of the Sessions page Create menu with Desktop session highlighted.
  2. (Optional) Enter a session name.

  3. 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.

  4. Click Create session.

Screenshot of the Target list in the Desktop session dialog, showing the user workspace, a cluster's login node, its environments with node counts, and a connected worker.

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 --open

See 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.

Screenshot of a desktop session page showing the Scheduling, Queued, Installing software, Starting session, and Running steps.

While connecting, you can watch the desktop's startup logs (xstartup.log and xvnc.log) under the spinner.

Screenshot of the Connecting to desktop screen with the xstartup.log tab showing the desktop's startup log.

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.

Screenshot of a running XFCE desktop session with a terminal open on the cluster host.

Move your mouse to the top center of the screen to show the toolbar:

Screenshot of the desktop toolbar with the Quality menu open, showing Low, Medium, and High.
ControlWhat it does
QualityTrade image quality for speed: Low, Medium, or High (the default). Try Low on a slow connection.
Ctrl+Alt+DelSends Ctrl+Alt+Del to the desktop, which your own computer would otherwise intercept.
FullscreenFills your screen with the desktop.
LogsShows the desktop's startup logs.
Open in new tabOpens the desktop in its own full-window tab.
RestartStops and restarts the desktop. Open windows are closed.
DisconnectCloses 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.

Screenshot of a desktop session's menu on the Sessions page with Delete session highlighted. 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.