xpra had always worked out of the box for me, simple `xpra start :100` fired up the server Because of the python upgrade being blocked by xpra (among others) I wanted to try to use the newer version, but the command now fails for me. Downgrading to x11-wm/xpra-4.4.6-r2 makes it working again. kavol@w541 ~ $ xpra start :100 Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' kavol@w541 ~ $ Entering daemon mode; any further errors will be reported to: '/tmp/xpra/100/server.log.new' vfb failed to start, exiting Reproducible: Always kavol@w541 ~ $ cat /tmp/xpra/100/server.log 2024-06-25 12:05:50,872 Error: cannot enable SSH socket upgrades 2024-06-25 12:05:50,872 `paramiko` module not found Socket path '/tmp/.X11-unix/X100' not found 2024-06-25 12:05:50,893 no uinput module (not usually needed) X.Org X Server 1.21.1.13 X Protocol Version 11, Revision 0 Current Operating System: Linux w541 6.6.30-gentoo #1 SMP PREEMPT_DYNAMIC Sun May 5 23:49:42 CEST 2024 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.6.30-gentoo root=PARTUUID=051240df-01 rw Current version of pixman: 0.43.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (++) Log file: "/tmp/xpra/100/Xorg.log", Time: Tue Jun 25 12:05:50 2024 (++) Using config file: "/etc/xpra/xorg.conf" (==) Using system config directory "/usr/share/X11/xorg.conf.d" (EE) Fatal server error: (EE) no screens found(EE) (EE) Please consult the The X.Org Foundation support at http://wiki.x.org for help. (EE) Please also check the log file at "/tmp/xpra/100/Xorg.log" for additional information. (EE) (EE) Server terminated with error (1). Closing log file. 2024-06-25 12:05:50,907 2024-06-25 12:05:50,907 Xvfb command has terminated! xpra cannot continue 2024-06-25 12:05:50,907 if the display is already running, try a different one, 2024-06-25 12:05:50,908 or use the --use-display flag 2024-06-25 12:05:50,908 full command: /usr/bin/Xorg -noreset -novtswitch -nolisten tcp +extension GLX +extension RANDR +extension RENDER -auth $XAUTHORITY -logfile ${XPRA_SESSION_DIR}/Xorg.log -configdir "${XPRA_SESSION_DIR}/xorg.conf.d/$PID" -config "${XORG_CONFIG_PREFIX}/etc/xpra/xorg.conf" 2024-06-25 12:05:50,908 kavol@w541 ~ $ cat /tmp/xpra/100/Xorg.log [ 50908.391] X.Org X Server 1.21.1.13 X Protocol Version 11, Revision 0 [ 50908.391] Current Operating System: Linux w541 6.6.30-gentoo #1 SMP PREEMPT_DYNAMIC Sun May 5 23:49:42 CEST 2024 x86_64 [ 50908.391] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.6.30-gentoo root=PARTUUID=051240df-01 rw [ 50908.391] [ 50908.391] Current version of pixman: 0.43.4 [ 50908.391] Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. [ 50908.391] Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 50908.392] (++) Log file: "/tmp/xpra/100/Xorg.log", Time: Tue Jun 25 12:05:50 2024 [ 50908.392] (++) Using config file: "/etc/xpra/xorg.conf" [ 50908.392] (EE) Unable to locate/open config directory: "/tmp/xpra/100/xorg.conf.d/25981" [ 50908.392] (==) Using system config directory "/usr/share/X11/xorg.conf.d" [ 50908.392] (==) ServerLayout "dummy_layout" [ 50908.392] (**) |-->Screen "dummy_screen" (0) [ 50908.392] (**) | |-->Monitor "dummy_monitor" [ 50908.392] (**) | |-->Device "dummy_videocard" [ 50908.392] (**) Option "DontVTSwitch" "true" [ 50908.392] (**) Option "AllowMouseOpenFail" "true" [ 50908.392] (**) Option "AutoAddDevices" "false" [ 50908.392] (**) Option "AutoEnableDevices" "false" [ 50908.392] (**) Allowing byte-swapped clients [ 50908.392] (**) Not automatically adding devices [ 50908.392] (**) Not automatically enabling devices [ 50908.392] (==) Automatically adding GPU devices [ 50908.392] (==) Automatically binding GPU devices [ 50908.392] (==) Max clients allowed: 256, resource mask: 0x1fffff [ 50908.392] (WW) The directory "/usr/share/fonts/misc" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (WW) The directory "/usr/share/fonts/TTF" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (WW) The directory "/usr/share/fonts/OTF" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (WW) The directory "/usr/share/fonts/Type1" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (WW) The directory "/usr/share/fonts/100dpi" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (WW) The directory "/usr/share/fonts/75dpi" does not exist. [ 50908.392] Entry deleted from font path. [ 50908.392] (==) FontPath set to: [ 50908.392] (==) ModulePath set to "/usr/lib64/xorg/modules" [ 50908.392] (==) |-->Input Device "<default pointer>" [ 50908.392] (==) |-->Input Device "<default keyboard>" [ 50908.392] (==) The core pointer device wasn't specified explicitly in the layout. Using the default mouse configuration. [ 50908.392] (==) The core keyboard device wasn't specified explicitly in the layout. Using the default keyboard configuration. [ 50908.392] (II) Module ABI versions: [ 50908.392] X.Org ANSI C Emulation: 0.4 [ 50908.392] X.Org Video Driver: 25.2 [ 50908.392] X.Org XInput driver : 24.4 [ 50908.392] X.Org Server Extension : 10.0 [ 50908.393] (EE) systemd-logind: failed to get session: PID 25983 does not belong to any known session [ 50908.393] (II) xfree86: Adding drm device (/dev/dri/card0) [ 50908.393] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0 [ 50908.395] (--) PCI:*(0@0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xb1400000/4194304, 0xa0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072 [ 50908.395] (--) PCI: (1@0:0:0) 10de:0ff6:17aa:221e rev 161, Mem @ 0xb0000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288 [ 50908.396] (II) LoadModule: "glx" [ 50908.397] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so [ 50908.398] (II) Module glx: vendor="X.Org Foundation" [ 50908.398] compiled for 1.21.1.13, module version = 1.0.0 [ 50908.398] ABI class: X.Org Server Extension, version 10.0 [ 50908.398] (II) LoadModule: "dummy" [ 50908.398] (WW) Warning, couldn't open module dummy [ 50908.398] (EE) Failed to load module "dummy" (module does not exist, 0) [ 50908.398] (II) LoadModule: "mouse" [ 50908.398] (WW) Warning, couldn't open module mouse [ 50908.398] (EE) Failed to load module "mouse" (module does not exist, 0) [ 50908.398] (II) LoadModule: "kbd" [ 50908.398] (WW) Warning, couldn't open module kbd [ 50908.398] (EE) Failed to load module "kbd" (module does not exist, 0) [ 50908.398] (EE) No drivers available. [ 50908.398] (EE) Fatal server error: [ 50908.398] (EE) no screens found(EE) [ 50908.398] (EE) Please consult the The X.Org Foundation support at http://wiki.x.org for help. [ 50908.398] (EE) Please also check the log file at "/tmp/xpra/100/Xorg.log" for additional information. [ 50908.398] (EE) [ 50908.398] (EE) Server terminated with error (1). Closing log file.
Are you sure nothing is running on DISPLAY :100? Check via xpra list Can you attach your /etc/xpra/xorg.conf ?
(In reply to Paul Zander from comment #1) > Are you sure nothing is running on DISPLAY :100? Check via xpra list > > Can you attach your /etc/xpra/xorg.conf ? kavol@w541 ~ $ xpra start :100 Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' kavol@w541 ~ $ Entering daemon mode; any further errors will be reported to: '/tmp/xpra/100/server.log' vfb failed to start, exiting kavol@w541 ~ $ xpra list Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' No xpra sessions found kavol@w541 ~ $ cat /etc/xpra/xorg.conf # This xorg configuration file is meant to be used by xpra # to start a dummy X11 server. # For details, please see: # https://github.com/Xpra-org/xpra/blob/master/docs/Usage/Xdummy.md Section "ServerFlags" Option "DontVTSwitch" "true" Option "AllowMouseOpenFail" "true" Option "PciForceNone" "true" Option "AllowEmptyInput" "true" Option "AutoEnableDevices" "false" Option "AutoAddDevices" "false" EndSection Section "Device" Identifier "dummy_videocard" Driver "dummy" DacSpeed 30000 Option "ConstantDPI" "true" #VideoRam 2048000 #VideoRam 1024000 VideoRam 768000 #VideoRam 512000 #VideoRam 384000 #VideoRam 256000 #VideoRam 192000 EndSection Section "Monitor" Identifier "dummy_monitor" HorizSync 1.0 - 300000.0 VertRefresh 1.0 - 300.0 EndSection Section "Screen" Identifier "dummy_screen" Device "dummy_videocard" Monitor "dummy_monitor" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 8 #requires more ram: #Modes "16000x15000" "15000x15000" "16384x8192" .. Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" #Virtual 16384 16384 Virtual 11520 6318 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 #requires more ram: #Modes "16000x15000" "15000x15000" "16384x8192" .. Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" #Virtual 16384 16384 Virtual 11520 6318 EndSubSection SubSection "Display" Viewport 0 0 Depth 24 #requires more ram: #Modes "16000x15000" "15000x15000" "16384x8192" .. Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" #Virtual 16384 16384 Virtual 11520 6318 EndSubSection SubSection "Display" Viewport 0 0 Depth 30 #requires more ram: #Modes "16000x15000" "15000x15000" "16384x8192" .. Modes "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "3840x2160" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" #Virtual 16384 16384 Virtual 11520 6318 EndSubSection EndSection Section "ServerLayout" Identifier "dummy_layout" Screen "dummy_screen" EndSection
xorg.conf looks fine. "Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist" not so much. Can you _attach_, not paste the output of `emerge --info x11-wm/xpra` as well? And tell me if there is anything special about your setup?
Created attachment 896504 [details] emerge --info x11-wm/xpra
(In reply to Paul Zander from comment #3) > And tell me if there is anything special about your setup? don't know ... just that I'm trying to avoid systemd and other unnecessary stuff as much as possible (seeing "(EE) systemd-logind: failed" in the log ...)
Not having XDG_RUNTIME_DIR pointing at a valid directory is going to give you problems in general. It's a strong indicator that you're doing something unusual. If you're not using systemd, then this is handled by elogind. I can see this is enabled in your USE flags, probably by your profile. However, pam is missing from your USE flags, and this is what automatically activates elogind when you log in. pam is enabled by default in Linux profiles and disabling it is not a great idea. Seriously, you're saving all of 2MB here.
(In reply to James Le Cuirot from comment #6) > Not having XDG_RUNTIME_DIR pointing at a valid directory is going to give > you problems in general. well, if that is so, I'd expect that *something* (that really requires it) is going to take care of it ... or am I, as an "stupid" user, expected to put such things manually into .bashrc or wherever? > It's a strong indicator that you're doing something unusual. see above - is it unusual just not to set these things manually? > If you're not using systemd, then this is handled by elogind. I can > see this is enabled in your USE flags, probably by your profile. However, > pam is missing from your USE flags, and this is what automatically activates > elogind when you log in. pam is enabled by default in Linux profiles and > disabling it is not a great idea. Seriously, you're saving all of 2MB here. pam: it is not just about saving 2 MB - it is about saving the hassle to do extra steps to set up automatic login (without password) for the local user (by "local" I mean the one who has the access to the hardware) and not messing with ssh policies set in sshd config (disallowing password for both ordinary user and root while allowing keys for both) - well, yes, it is doable ... but with -pam, it just works out of the box - *seriously* why would I need an extra configuration layer (that is potentially prone to attacks, btw) for things that are just okay as they are, without that?
Sorry if my tone was a bit off. Please understand that we get a lot of reports from users who are not up front about having disabled key system components for no reason other than they couldn't spare 1MB on their 1TB drive or they believe anything vaguely systemd-related is evil. This ends up wasting everyone's time. We allow PAM to be disabled primarily for extremely minimal use cases, which this clearly isn't, so I was a little wary. However, your explanation for disabling PAM is quite reasonable, so I respect that. I would say that even with vulnerabilities considered, having PAM is normally much more secure than not having PAM, but most of what is does is password-related, so I can see that it probably doesn't add much in your case. For what it's worth, pam_autologin is pretty easy to set up, but that's up to you. Regarding this package's requirements, it doesn't strictly require PAM. I have successfully used it under WSL, where there is no PAM-based login. In that case, I did set up XDG_RUNTIME_DIR manually through .bashrc, although Xpra's /tmp fall back should theoretically work too. I was just trying to rule things out here and avoid you having wider problems later, as lots of software uses XDG_RUNTIME_DIR. On closer inspection, I think the problem is related to Xdummy. We used to disable that feature unconditionally, but we no longer do, perhaps because it is now mandatory. There is no dependency on x11-drivers/xf86-video-dummy though. Try installing that.
Also to be clear, I no longer use Xpra and didn't make that change, which is why I haven't spotted the problem myself. I have now dropped myself as a maintainer.
(In reply to James Le Cuirot from comment #8) > Sorry if my tone was a bit off. NP, I'm veteran of the times when opensource enthusiasts focused on the point of the message and not the tone, so I myself am not diplomatic enough most of the time ... > We allow PAM to be disabled primarily for extremely minimal use cases, which > this clearly isn't, so I was a little wary. However, your explanation for > disabling PAM is quite reasonable, so I respect that. I would say that even > with vulnerabilities considered, having PAM is normally much more secure > than not having PAM, but most of what is does is password-related, so I can > see that it probably doesn't add much in your case. For what it's worth, > pam_autologin is pretty easy to set up, but that's up to you. well, that's it, I don't care about passwords, because physical access is secured by physical lock on the front door and if someone overcomes it, I have a bigger problem than whether he is able to log into my computer and for remote access, I don't allow passwords at all and I am getting a bit tired by some developers - "hey, we've created this nice piece of software that solves something, let's make it hard dependency for everyone to be able to solve the thing, regardless of whether there even exists the problem to be solved in the first place" (and yes, this contributes to "anything vaguely systemd-related is evil" because systemd is prominent example of this approach and such things usually waste *my* time - with gross example being journald which slowed down boot to that extent that some machines weren't able to boot as things timed out (Fedora bug 967521)) > On closer inspection, I think the problem is related to Xdummy. We used to > disable that feature unconditionally, but we no longer do, perhaps because > it is now mandatory. There is no dependency on x11-drivers/xf86-video-dummy > though. Try installing that. thanks, it looks like it solves the problem - now the corresponding process is running: kavol 31431 1 0 10:57 ? 00:00:01 /usr/bin/Xorg-for-Xpra-100 -noreset -novtswitch -nolisten tcp +extension GLX +extension RANDR +extension RENDER -auth /home/kavol/.Xauthority -logfile /tmp/xpra/100/Xorg.log -configdir /tmp/xpra/100/xorg.conf.d/31429 -config /etc/xpra/xorg.conf -depth 24 :100 and I can run X applications on DISPLAY :100 however ... now my Fedora client which is version 5.0.6 is unable to connect and trying on localhost, I get kavol@w541 ~ $ xpra attach ssh:localhost:100 Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' failed to initialize Gtk, no display? while DISPLAY is set, I can run other apps without problem from the same terminal but thats different problem ... so, can someone please add the dependency at least?
Not sure if that is related to XDG_RUNTIME_DIR being undefined. Can you try to rebuild with USE=-gtk3? The client should work without iirc.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06ac0e5918c9ef2e319d6e562bd807241eae791b commit 06ac0e5918c9ef2e319d6e562bd807241eae791b Author: James Le Cuirot <chewi@gentoo.org> AuthorDate: 2024-06-30 22:23:11 +0000 Commit: James Le Cuirot <chewi@gentoo.org> CommitDate: 2024-06-30 22:23:11 +0000 x11-wm/xpra: Add missing x11-drivers/xf86-video-dummy dependency This used to be optional and we were disabling it, but now it's mandatory. Not entirely sure this needs to be among the test dependencies but seems likely. Bug: https://bugs.gentoo.org/934918 Signed-off-by: James Le Cuirot <chewi@gentoo.org> x11-wm/xpra/{xpra-6.0.1.ebuild => xpra-6.0.1-r1.ebuild} | 1 + x11-wm/xpra/xpra-6.9999.ebuild | 1 + x11-wm/xpra/xpra-9999.ebuild | 1 + 3 files changed, 3 insertions(+)
(In reply to Paul Zander from comment #11) > Not sure if that is related to XDG_RUNTIME_DIR being undefined. Can you try > to rebuild with USE=-gtk3? The client should work without iirc. BTW, disabling gtk3 requires explicitly disabling clipboard no luck, the same kavol@w541 ~ $ xpra attach ssh:kavol@localhost:100 Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' failed to initialize Gtk, no display? however, trying to stop, I get traceback now: kavol@w541 ~ $ xpra stop :100 Warning: XDG_RUNTIME_DIR is not defined and '/run/user/1000' does not exist using '/tmp' xpra main error: Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/xpra/scripts/main.py", line 138, in main return run_mode(script_file, cmdline, err, options, args, mode, defaults) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/xpra/scripts/main.py", line 521, in run_mode return do_run_mode(script_file, cmdline, error_cb, options, args, full_mode, defaults) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/xpra/scripts/main.py", line 616, in do_run_mode return run_stopexit(mode, error_cb, options, args, cmdline) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/xpra/scripts/main.py", line 3186, in run_stopexit app = StopXpraClient(opts) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/xpra/client/base/command.py", line 42, in __init__ super().init(opts) File "/usr/lib/python3.11/site-packages/xpra/client/base/gobject.py", line 36, in init XpraClientBase.init(self, opts) File "/usr/lib/python3.11/site-packages/xpra/client/base/client.py", line 163, in init self.install_signal_handlers() File "/usr/lib/python3.11/site-packages/xpra/client/base/gobject.py", line 43, in install_signal_handlers from xpra.gtk.signals import install_signal_handlers ModuleNotFoundError: No module named 'xpra.gtk'
That trackback is probably due to an untested scenario. Upstream doesn't even ensure all the tests pass before releasing. :-/ The client version you have on Fedora implies that you're using the distro's package rather than upstream's. I would normally recommend the distro package, but distros have historically done a bad job of packaging Xpra. Upstream will tell you to just use their own package. I'm not necessarily saying Gentoo's package is better, but upstream don't package for Gentoo.