xpra icon
Bug tracker and wiki

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

Opened 6 years ago

Closed 5 years ago

Last modified 16 months ago

#1335 closed task (worksforme)

provide a system service for the proxy server

Reported by: Antoine Martin Owned by: Smo
Priority: major Milestone: 1.0
Component: server Version: trunk
Keywords: Cc:

Description (last modified by Antoine Martin)

Now that the proxy server can be used for starting new sessions on demand (#1319) and that we have ssl support (#1252) and a default port (#731), it makes sense to have a default service that can be used for all this.
Somewhat related to #1105, #888 and #1334.


  • generate a test certificate
  • install the service files (init and systemd...)

Change History (7)

comment:1 Changed 6 years ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to alas
Summary: provide a service for the proxy serverprovide a system service for the proxy server

Major changesets (there are many more):

  • r14020 + r14022 + r14023: cleanup + preparatory work
  • r14024: generate a test ssl cert (RPM only), r14029 for DEB
  • r14026: systemd + init file and packaging
  • r14045: pidfile support
  • r14081: update firewall during rpm installation (centos7 and fedora)

The service is not started by default at the moment, to change that see Enabling and disabling services during start up in GNU/Linux (instructions vary depending on the init system used by the distribution).

To start the service (these commands should work almost everywhere: fedora, centos, debian, ubuntu, etc):

sudo service xpra start

After that, you should be able to confirm that it is running with:

sudo service xpra status

or with systemd (fedora, centos7):

sudo systemctl status xpra.service

or with systemd it should be listed in the system slice:

$ systemd-cgls
Control group /:
│ └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
│ ├─avahi-daemon.service
│ │ ├─1140 avahi-daemon: running [desktop.local
│ │ └─1173 avahi-daemon: chroot helpe
│ ├─xpra.service
│ │ └─7249 /bin/python /usr/bin/xpra proxy :14500 --bind-tcp= --auth=sys --tcp-auth=sys --ssl-cert=/etc/xpra/ssl-cert.pem --socket-permissions=666 --daemon=no --log-dir

or on systems with a "/var/run/xpra" directory (those that support tmpfiles.d, see #888):

xpra list

(as any user)

xpra version tcp/


xpra version ssl/ --ssl-server-verify-mode=none

(see #1252 for details)
or even hitting this proxy server with a browser to get the session login page:


In order to use any other sub-commands against this proxy server, you need to authenticate with a system account (the proxy server is configured to use the "sys" authentication module).

xpra start ssl/$USERNAME:$YOURUNIXPASSWORD@ --ssl-server-verify-mode=none --start-child=xterm --exit-with-children

(see #1319 for details, bugs related to connecting or using the proxy server itself do not belong here)

@afarr: just a FYI, feel free to close.

Version 2, edited 6 years ago by Antoine Martin (previous) (next) (diff)

comment:2 Changed 5 years ago by Antoine Martin

Owner: changed from alas to Smo

fallback to firewall-offline-cmd in r14484.

Further notes:

  • to permanently add the rule to another zone, ie "trusted":
    firewall-cmd --add-port=14500/tcp --zone=trusted --permanent
  • the default zone where we add the rule as part of the rpm postinstall is:
    firewall-cmd --get-default-zone

More examples: https://www.certdepot.net/rhel7-get-started-firewalld/.

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:3 Changed 5 years ago by Antoine Martin

We now also silence the "success" message during RPM (un)install: r14602.

comment:4 Changed 5 years ago by Antoine Martin

Added a wiki page linking back here: wiki/Service.

comment:5 Changed 5 years ago by Smo

Resolution: worksforme
Status: newclosed

comment:6 Changed 5 years ago by Antoine Martin

Debian packaging of the systemd service: #1530

comment:7 Changed 16 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1335

Note: See TracTickets for help on using tickets.