xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Version 19 (modified by Antoine Martin, 5 years ago) (diff)




This feature allows printers connected to the client to be available on the server. It shares most of the code with wiki/FileTransfers, as the print job is first rendered to a file before being sent to the client.

Known limitations and caveats:

  • forwarding is only supported to a Posix server, support for MS Windows and OSX as servers may be added in the future.
  • OSX clients use Postscript (#995), other clients use PDF for transport
  • do not use socket authentication on your local sockets (see #1286)

Installation and platform support

  • MS Windows and OSX clients (10.6 onwards) should work out of the box
  • CentOS requires manual setup to support OSX clients as the cups-pdf package is not available in the default repositories
  • Debian and Ubuntu: the dependencies are listed as "suggestions" only, so you may need to run apt-get install cups-filters cups-common cups-pdf python-cups to install the missing pieces
  • you may encounter some permission issues: the user running the xpra server must be a printer administrator - whatever group that may be (if you need to add your user to a group you will also then need to logout and login again):
    • for Fedora and centos the sys group: gpasswd -a $USER sys
    • for Debian and Ubuntu the lpadmin group: usermod -a -G lpadmin $USER
  • the cups backend installed must have 0700 permissions: chmod 700 /usr/lib/cups/backend/xpraforwarder
  • SELinux can cause problems: either disable it or use the "cups_xpra" policy add-on (see #815)


  • run the xpra/platform/printing.py script to see which printers are detected (this script is available as Print.exe on MS Windows and as Xpra.app/Contents/Helpers/Print on OSX)
  • you can use the same script to print files, ie: ./xpra/platform/printing.py /path/to/yourfile.pdf
  • run the client and server with the -d printing debug flags (see wiki/Logging)
  • look for the cups backend messages in your syslog (ie: with journald: sudo journalctl -f -t xpraforwarder)
  • more details here: ticket:913#comment:14