# Desktop Sessions

> Source: https://parallelworks.com/docs/run/sessions/desktops

# Desktop Sessions

A **Desktop session** runs a graphical (VNC) desktop on a compute resource and streams it to your browser — useful for GUI applications, visualization tools, and file management. The desktop runs on the resource itself, so your data and processes stay on the cluster.

Need a code editor instead? See [VS Code Sessions](/docs/run/sessions/vscode).

:::info The resource must be running
A resource (a compute cluster or your user workspace) must be **running** before you can launch a desktop session on it.
:::

## Launch a desktop

### From a cluster (Quick Launch)

1. Open your cluster and find the **Quick Launch** panel (_Open this cluster in your browser_).
2. On the **Remote Desktop** card, click **Launch**.
3. Click **Launch** to confirm.

### From the Sessions page

1. Go to **Sessions** and click **New Session**.
2. Choose **Desktop** as the session type.
3. Pick the **Target** resource (a compute cluster or your user workspace).
4. Click **Launch**.

Once the session is running, the desktop appears in an embedded viewer on the session page. Use **Open in new tab** for a full-screen desktop.

## Desktop sessions vs. interactive sessions

There are two ways to get a graphical desktop on a resource, and which one to use depends on **where** the desktop should run:

- **On a controller (head node) or user workspace → use a Desktop session.** Desktop sessions launch directly through the ACTIVATE agent, which is more reliable and more general than the workflow-based approach. This is the preferred way to get a desktop on a controller.
- **On a compute node → use an [interactive session](/docs/run/sessions/interactive-sessions).** Interactive sessions submit a job through the scheduler to allocate a compute node, and remain the right tool for running a desktop — or an application like MATLAB or RStudio — on compute nodes.

In short: prefer **Desktop sessions** on the controller or workspace, and use **interactive sessions** when you need the desktop on a compute node.

:::note
Running a Desktop session directly on a **compute node** isn't available yet — it's planned for a future release. Until then, use an interactive session for compute-node desktops.
:::
