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
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 pathcannot access python uinput module: No module named uinputcannot use uinput for virtual devicescannot access python uinput module: name 'ABS_MAX' is not defined— the python-uinput package is broken; contact your distributorFailed 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)' failedgui.py: Warning: invalid cast from 'GtkMenuBar?' to 'GtkWindow?'