Frequently Asked Questions

August 7, 2026 · View on GitHub

Find answers to common questions about installing, using, and troubleshooting Xpra. For a broader overview, start with the documentation home or the Usage guide.

Installation

Choose a supported release and resolve package-signing or distribution-specific installation warnings before starting a session.

Which version should I use?

Always use the latest released version.

Should I use the version shipped with my Linux distribution?

Emphatically no.

Which versions are supported?

See the supported versions and platforms pages for compatibility information.

Why do I get a GPG signature warning when installing?

You probably forgot to import the GPG key before installing the package. Use key 0x17978FAF, with signature B499 3B57 3231 48E3 7977 E5D8 7325 4CAD 1797 8FAF.

What does KEYEXPIRED 1273837137 mean?

The old key expired. Please use the new key.

Debian says “Origin changed” when updating

Run:

apt-get update --allow-releaseinfo-change

Aptitude says some index files failed to download

See the previous Debian update answer above.

I found a security issue

Please report it privately.

Usage questions

These answers cover desktop integration, clipboard forwarding, Windows clients, and starting services inside sessions.

Where is Xpra’s system tray icon?

Some desktop environments cannot show a system tray icon.

Why does Xpra use CPU when the session is idle?

Audio forwarding consumes a fairly constant amount of CPU and bandwidth. Turn speaker forwarding off if you do not need it. Some applications also repaint their windows unnecessarily; try minimizing them.

Why does the clipboard keep flashing?

Make sure no other tool is also synchronizing the clipboard. Avoid clipboard managers whenever possible.

RDP or x2go causes clipboard problems

RDP #696 and x2go #735 perform their own clipboard synchronization, which interferes with Xpra. Disable one of the synchronization mechanisms and avoid layering remote-desktop protocols.

Where does Xpra.exe write command output?

Xpra.exe is a graphical application, so output goes to Xpra.log in %APPDATA%\\Xpra. Use Xpra_cmd.exe when you need command-line output.

How can I start gpg-agent, dbus, and similar services?

The solution is often distribution-specific. Add --start=/path/to/Xsession to the server options, or add each application individually with a start option.

VirtualBox will not release the mouse

Disable auto-capture keyboard.

Problems

Use these recovery steps when an application is slow to start, a session has stopped responding, or a desktop behaves differently inside Xpra.

GNOME applications take a long time to start

Try adding --source-start=gnome-keyring-daemon to the server. See the GNOME Terminal issue; older versions may require --start=gnome-keyring-daemon instead.

Can I recover a crashed seamless or desktop session?

Generally yes, as long as the virtual display server (VFB) is still running. Use xpra recover. If the Xpra server is gone, start a new one to reuse the existing display. If it is running but unresponsive, kill it first; use kill -9 to prevent teardown code from stopping the VFB.

Why does an application open on the wrong display?

If the application has no option to prevent this, use a different user account to launch multiple instances on different displays. This is a common issue with some applications, especially browsers.

Why are application menus missing on Ubuntu?

Start applications with xpra seamless --start=APP, not DISPLAY=:N APP (see #1419).

Network

For connection types, encryption, and performance diagnostics, see the networking guide.

How can multiple users connect through one port?

Use the proxy server.

How can Windows clients use an SSH key?

If the key is not detected correctly, use pageant: see the PuTTY FAQ and tell Xpra to use PuTTY with --ssh=plink.

Warnings and messages

Most messages below are harmless diagnostics. The answer explains when a warning can be ignored and when a configuration change is appropriate.

cannot create group socket '/run/xpra/USERNAME'

Usually followed by [Errno 13] Permission denied. This is harmless and safe to ignore, or add your user to the xpra group. The server creates this socket for sharing sessions through Unix group membership and the socket-permissions option.

/run/user/$UID does not exist

You probably used su or an ssh login. See why /run/user/ID is not created after su or sudo and use machinectl shell --uid=username instead.

uinput warnings

uinput is optional, so these warnings are safe to ignore:

  • Error: cannot query uinput device path
  • cannot access python uinput module: No module named uinput
  • cannot use uinput for virtual devices
  • cannot access python uinput module: name 'ABS_MAX' is not defined — the python-uinput package is broken; contact your distributor
  • Failed to open the uinput device: Permission denied — the user lacks permission to open /dev/uinput

found an existing window manager on screen ...

Xpra is a window manager, so two window managers cannot run on the same X11 display. To forward a whole desktop, see desktop mode; otherwise stop the other window manager.

cannot register our notification forwarder ...

The server started from a GUI session that already has a D-Bus instance and a notification daemon, so notification forwarding cannot be enabled.

DPI mismatch warnings

“DPI set to NN x NN (wanted MM x MM)” means the VFB command does not preserve DPI settings. You may want to use a patched Xdummy.

xpra [errno 2] no such file or directory over SSH

Xpra is not installed on the remote host.

X11 keyboard warnings

Unsupported high keycode XXX for name <INNN> ignored is harmless and unavoidable. See Bug 1615700.

MacOS reports a damaged application

Run:

sudo xattr -rd com.apple.quarantine /Applications/Xpra.app

GTK reports an invalid object warning

gi/overrides/Gtk.py:1632: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed is mostly harmless. It comes from GTK and cannot currently be silenced.

Other harmless macOS warnings

These messages are harmless and unavoidable on macOS:

  • gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
  • gui.py: Warning: invalid cast from 'GtkMenuBar?' to 'GtkWindow?'