Skip to main content

Linux Remote Control

Which display servers and desktop environments support remote control, what the agent sets up on the device, and Linux-specific session behaviors.

Introduction

Remote control on Linux works the same way it does on Windows and macOS: click the OS icon next to an online device and a live desktop session opens in a new browser tab. The session is end-to-end encrypted and connects peer-to-peer when network conditions allow.

What's different on Linux is what's underneath. Linux desktops vary in display server (X11 or Wayland) and desktop environment, and remote control support depends on that combination rather than on which distribution you're running. This article covers what's supported, what the agent sets up on the device, and the behaviors specific to Linux sessions.

For session controls, toolbars, and clipboard tools, see Remote Control. Those work the same on every platform.


⚙️ PREREQUISITES

  • The Level agent is installed and online on the target device

  • Your account has remote control permission for the device's group

  • A graphical session (Wayland or X11) is running on the device, which includes the login screen

  • For Wayland sessions: PipeWire and a running D-Bus session bus


What's Supported

There's no fixed list of supported distributions. A Linux device supports remote control when three things are true:

  1. The Level Linux agent runs on it.

  2. It's running a supported display server and desktop environment combination (see below).

  3. The required system components are present (PipeWire and D-Bus for Wayland sessions).

If your distribution runs one of the environments below, remote control works regardless of which distro it is.

Display Servers

Both major Linux display servers are supported. The agent detects what's running and picks the right path automatically. Wayland is tried first, with X11 as the fallback.

Wayland is supported on these desktop environments:

  • GNOME (Mutter)

  • KDE Plasma (KWin)

  • COSMIC (System76 / Pop!_OS)

  • wlroots-based compositors such as Sway and Hyprland, provided the compositor implements the standard wlroots virtual pointer and virtual keyboard protocols

X11 / Xorg is supported under any desktop environment. XFCE, MATE, Cinnamon, and older GNOME or KDE sessions running on Xorg all use this path.

ℹ️ NOTE: Not every Wayland compositor will work. Outside of GNOME, KDE, and COSMIC, support depends on the compositor exposing the wlroots virtual input protocols. A compositor that doesn't expose them will have degraded or no input control. If you run a niche compositor and input doesn't work, switch the session to Xorg as a workaround.

Architectures

Both x86-64 and ARM64 devices are supported.


A Graphical Session Is Required

Remote control attaches to whichever graphical session is currently active on the device, including the login screen, and follows session changes automatically. If a user logs in, out, or switches accounts during a session, Level re-attaches to the new session.

You don't need a user logged in. A display manager sitting at the login screen counts as an active graphical session, so you can connect, watch a user log in, and stay attached through the transition. This is the same behavior as the Windows login screen and the macOS lock screen.

What has to be true is that a graphical session is running. The session must be Wayland or X11 on a seat. These cases have no graphical session and can't be remote controlled:

  • Headless servers with no display manager

  • Machines booted to a text or multi-user target

  • The display manager isn't running

  • Text-console (tty / getty) logins only

💡 TIP: For headless Linux devices, use background management instead. Terminal, File Explorer, Processes, and Services all work without a graphical session. See Device Manage.


What the Agent Sets Up

On most systems, remote control works with no manual setup. On GNOME and KDE, the agent installs a small component to enable Wayland session capture and input.

GNOME

The agent automatically installs a Level GNOME Shell extension for the logged-in user. It selects the right extension build for the installed GNOME Shell version, so a wide range of GNOME releases is handled without any action on your part.

KDE Plasma

The agent registers a desktop entry that grants it access to KWin's restricted Wayland interfaces, then refreshes KDE's application cache.

ℹ️ NOTE: Because of this registration step, remote control on a KDE device can take a moment to become available after the agent is installed or upgraded. If a fresh KDE install isn't accepting sessions yet, give it a minute and retry.


Linux Session Behaviors

A few things work slightly differently in a Linux session.

Multi-monitor is supported. Use the Display dropdown in the top toolbar to switch between monitors, the same as on other platforms.

Clipboard sharing is supported on GNOME, KDE, and X11 sessions. Send Clipboard and Get Clipboard work as described in Remote Control.

Keyboard input handles non-US layouts and Unicode characters, so typing in the session should match what you'd type locally.

Cursor rendering may look slightly different from a local cursor. The remote cursor is captured and rendered separately from the desktop image, which can make its movement or appearance differ subtly from sitting at the machine.


FAQ

  • Which Linux distros does remote control support? There's no distro list. Support is based on what the device is running, not which distribution it is. If the Level agent runs on it and it's using GNOME, KDE Plasma, COSMIC, a wlroots compositor, or any desktop on Xorg, remote control works.

  • I can't start a remote session on my Linux server. What's wrong? The machine probably has no graphical session running: it's headless, booted to a text target, or the display manager isn't running. Remote control needs a graphical session (Wayland or X11) to attach to, but it does not need a user logged in. A login screen counts. Text-console logins don't. Use the Terminal in background management for headless machines.

  • Can I connect before anyone logs in? Yes, as long as the graphical login screen is up. Level attaches to the login screen and stays connected through the login, so you can watch a user sign in or sign in yourself if you have credentials.

  • Remote control connects to my Sway/Hyprland machine but I can't move the mouse or type. Why? Your compositor probably doesn't expose the wlroots virtual pointer and virtual keyboard protocols the agent uses for input. Sway and Hyprland do; some niche compositors don't. If yours doesn't, run the session under Xorg instead.

  • I just installed the agent on a KDE machine and remote control isn't available yet. The agent registers a desktop entry with KDE to get access to KWin's Wayland interfaces, and that registration can take a moment after install or upgrade. Wait a minute and try again.

  • Does the GNOME extension require any setup from the end user? No. The agent installs and enables it automatically for the logged-in user, and picks the right build for the installed GNOME Shell version.

  • Is the connection encrypted the same way as Windows and macOS? Yes. Linux sessions use the same end-to-end encrypted P2P connection, with relay fallback when a direct connection isn't possible. See the main Remote Control article for details.

Did this answer your question?