xpra icon
Bug tracker and wiki

Opened 10 days ago

Closed 10 days ago

Last modified 9 days ago

#2945 closed defect (invalid)

Xpra stopped working after Ubuntu update

Reported by: wanderyr Owned by: Antoine Martin
Priority: major Milestone:
Component: platforms Version: 4.0.x
Keywords: Cc: wanderyr

Description

I have had a working installation of v4.0.4-r27557 on Kubuntu 20.04. I just ran apt-get update then apt-get upgrade and now xpra doesn't start correctly. I'm not sure which of the changes might have broken it. I ran the update on Nov 18, 2020. The previous update was, perhaps, five weeks ago.

I've purged xpra and reinstalled it, with the same results. (sudo apt-get purge xpra, then sudo apt-get install xpra)

After the failure, there is a running xpra process but it doesn't work:

$ ps aux | grep xpra
{username}         5577  0.0  1.1 934796 158736 ?       SLl  03:43   0:00 /usr/bin/python3 /usr/bin/xpra start --start=xterm

$ xpra list
No xpra sessions found

Please let me know any additional information that would help. Thank you very much for your time.

$ xpra start --start=xterm
2020-11-18 03:43:29,037 Warning: failed to create script directory '/run/user/1000/xpra':
2020-11-18 03:43:29,037  [Errno 2] No such file or directory: '/run/user/1000/xpra'
2020-11-18 03:43:29,037  ($XDG_RUNTIME_DIR has not been created?)
jon@mighty-mitx:~/.config/xpra$ Entering daemon mode; any further errors will be reported to:
  /tmp/S5564.log
Actual display used: :1
Actual log file name is now: /tmp/:1.log

$ cat /tmp/:1.log
2020-11-18 03:43:29,091 cannot access python uinput module:
2020-11-18 03:43:29,091  No module named 'uinput'
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
2020-11-18 03:43:30,271 Warning: failed to create socket directory '/run/user/1000/xpra'
2020-11-18 03:43:30,271  [Errno 2] No such file or directory: '/run/user/1000/xpra'
2020-11-18 03:43:30,272 Warning: cannot create socket '/run/user/1000/xpra/mighty-mitx-1':
2020-11-18 03:43:30,272  [Errno 2] No such file or directory
2020-11-18 03:43:30,272  ($XDG_RUNTIME_DIR has not been created?)
2020-11-18 03:43:30,272 cannot create group socket '/run/xpra/mighty-mitx-1'
2020-11-18 03:43:30,272  [Errno 13] Permission denied
2020-11-18 03:43:30,272 Warning: no local server sockets,
2020-11-18 03:43:30,272  forward-xdg-open cannot be enabled
2020-11-18 03:43:30,272  non-embedded ssh connections will not be available
2020-11-18 03:43:30,310 pointer device emulation using XTest
2020-11-18 03:43:30,684 serving html content from '/usr/share/xpra/www'
2020-11-18 03:43:30,693 Warning: no local sockets defined,
2020-11-18 03:43:30,693  disabling printer forwarding
2020-11-18 03:43:30,708 D-Bus notification forwarding is available
2020-11-18 03:43:30,713 Warning: the runtime directory '%s' does not exist,
2020-11-18 03:43:30,713  cannot start a private pulseaudio server
2020-11-18 03:43:30,717 pulseaudio server started with pid 5604
W: [pulseaudio] pid.c: Stale PID file, overwriting.
2020-11-18 03:43:30,968 GStreamer version 1.16.2 for Python 3.8.5 64-bit

(Xpra:5577): Gtk-CRITICAL **: 03:43:31.019: gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
2020-11-18 03:43:31,025 Warning: webcam forwarding is disabled
2020-11-18 03:43:31,025  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2020-11-18 03:43:31,025  make sure that the 'v4l2loopback' kernel module is installed and loaded
2020-11-18 03:43:31,026 found 0 virtual video devices for webcam forwarding
2020-11-18 03:43:31,031 Warning: cannot watch for application menu changes without pyinotify:
2020-11-18 03:43:31,031  No module named 'pyinotify'
2020-11-18 03:43:31,054 Error parsing xdg menu data:
2020-11-18 03:43:31,054  ParsingError in file '/etc/xdg/menus/kde-debian-menu.menu', File not found
2020-11-18 03:43:31,054  this is either a bug in python-xdg,
2020-11-18 03:43:31,054  or an invalid system menu configuration
2020-11-18 03:43:31,192 xpra is ready.
2020-11-18 03:43:31,193 xpra GTK3 X11 version 4.0.4-r27557 64-bit
2020-11-18 03:43:31,294 13.7GB of system memory
2020-11-18 03:43:31,331  uid=1000 (jon), gid=1000 (jon)
2020-11-18 03:43:31,331  running with pid 5577 on Linux Ubuntu 20.04 focal
2020-11-18 03:43:31,331  connected to X11 display :1 with 24 bit colors
2020-11-18 03:43:32,209 OpenGL is supported on display ':1'
2020-11-18 03:43:32,209  using 'llvmpipe (LLVM 10.0.0, 128 bits)' renderer
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

Change History (4)

comment:1 Changed 10 days ago by wanderyr

Cc: wanderyr added

comment:2 Changed 10 days ago by Antoine Martin

Resolution: invalid
Status: newclosed
No such file or directory: '/run/user/1000/xpra'

If $XDG_RUNTIME_DIR does not exist, then your sockets won't be found.

Solutions:

  • ensure XDG_RUNTIME_DIR is created and available (ie: login via ssh instead of su)
  • put your sockets in a different location. ie:
    echo "socket-dirs = ~/.xpra" > /etc/xpra/conf.d/90_override_socket_dir.conf
    
  • add your user to the xpra group, then the sockets will be created in /run/xpra/

comment:3 Changed 9 days ago by wanderyr

Thank you Antoine. I have discovered something which may be helpful to you. If not, sorry to waste your time!

If I boot my server system, log in (via SSH) from my client system, and attempt xpra start --start=xterm, it fails as above ($XDG_RUNTIME_DIR doesn't exist).

But, if I boot my server system, log into it locally, log back out, and then SSH to the server, xpra starts up correctly. Interestingly, although xpra works, $XDG_RUNTIME_DIR doesn't appear defined in the SSH session. At least, $XDG_RUNTIME_DIR does not appear in the printenv result.

My local user is the same as my ssh user.

I usually don't start xpra using an SSH console. My normal use case is to run xpra start --start-child=konsole --exit-with-children --input-method=ibus ssh://username@192.168.100.32:3333/50 from my client system with no other interaction with the server.

In this case, the outcome is the same. If I haven't logged in to my server locally, then xpra doesn't start when requested by the client. But if I do log in to the server locally, then the client-initiated command works just fine.

Thanks, again, for everything!

comment:4 Changed 9 days ago by wanderyr

More info. This should be my last comment :)

As you suggested, adding my user to the xpra group worked. Now I do not need to log in locally after booting the server. Thanks!

Incidentally, this doesn't make it work when spawning xpra via an SSH terminal! If I SSH in and run xpra start --start=xterm, it fails unless I have previously logged in locally...

Anyway, thanks again!

Note: See TracTickets for help on using tickets.