-
-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[5.0.4] xpra start --attach=yes
(combining server and client) always fails to connect the client to the just-started server
#4077
Comments
What exact distribution can I reproduce this on?
This may or may not work. |
Hi @totaam, thanks for your quick reply!
Sorry for being shy on that end, I did it out of experience with other upstreams, this is on Gentoo Linux.
For 4.x.x it was system package
Interesting! I'm assuming by "mar or may not work" you mean that the socket file could already be in place but not fully ready to connect to? I added experimental support for (nested X11 using) Xpra to my Open Source Wine-on-Linux sandbox "sandwine" at hartwork/sandwine#39 the other day, I'll probably make it use
I guess that means it would be good if I found the cause myself. My guess is that Xpra is giving up too early, but we'll see. I hope I can figure it out. |
Done: hartwork/sandwine#43 |
@totaam further investigation shows that
Once I append PS: This was with commit 6e7fe1a on |
That's the client socket, this is not used for connecting to a server.
That's only used if you're a member of the The client and server share the same command line invocation, so they should be using the same arguments to |
@totaam my bad, I'm rather new to Xpra.
Cannot confirm, I'm not in that group (but the group exists) and that path value was obtained using
I'll investigate more, it's got to be something 😃 |
@totaam second try, this is what's happening:
The code that makes the server pick def setup_local_sockets(bind, socket_dir:str, socket_dirs, session_dir:str,
display_name:str, clobber,
mmap_group:str="auto", socket_permissions:str="600", username:str="",
uid:int=0, gid:int=0) -> dict[Any, Callable]:
[..]
try:
[..]
for b in bind:
[..]
if sockpath=="auto":
[..]
if session_dir and not WIN32:
session_socket = os.path.join(session_dir, "socket")
sockpaths[session_socket] = options
[..] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The client fails to do the same and only looks at Regarding permissions: # ls -dl /run/xpra
drwxrwxr-t 3 root xpra 60 Dez 18 14:47 /run/xpra
# groups | grep xpra
<no output> Regarding # echo "${XDG_RUNTIME_DIR}"
/run/user/1000 I hope that should be convincing that |
$ xpra showconfig | grep socket-dirs
client-socket-dirs = '/run/user/1000/xpra/clients'
socket-dirs = '/run/user/1000/xpra', '/run/xpra', '~/.xpra' If both client and server use these settings, |
@totaam but they don't: # xpra showconfig | grep socket-dirs
Warning: invalid option: 'dbus-proxy'
Warning: invalid option: 'fake-xinerama'
Warning: invalid packet encoder(s) specified: rencode, bencode, yaml
client-socket-dirs = '/run/user/1000/xpra/clients'
socket-dirs (used) = '/run/xpra' <class 'list'>
socket-dirs (default) = '/run/user/1000/xpra', '/run/xpra', '~/.xpra' <class 'list'>
# xpra --version
Warning: invalid option: 'dbus-proxy'
Warning: invalid option: 'fake-xinerama'
xpra v6.0-r2888
# git rev-parse HEAD
9612a5bc4468c7a6d7066d67378c1fbc8e79460a How would you like to continue? |
You clearly have some old config files that don't match the version of the code you're running. So, you've changed the default config?
|
I have not changed anything manually, there is file $ cat ~/.config/xpra/xpra.conf
# xpra user configuration file
# place your custom settings in this file
# they will take precedence over the system default ones.
# Examples:
# speaker=off
# dpi=144
# For more information on the file format,
# see the xpra manual at:
# https://github.com/Xpra-org/xpra/tree/master/docs/ @totaam I wrote a detailed analysis of what is happening and why at #4077 (comment) — did you see that analysis? |
@totaam I now found this: # grep '^[^#].*/run/xpra' /etc/xpra/conf.d/10_network.conf
socket-dirs = /run/xpra Once I comment out that line, |
Probably. |
@totaam I understand and respect that decision. |
Closing as this is not a bug: I cannot reproduce this with a valid config. |
@totaam I have a hard time agreeing to that evaluation since the bug is that client and server behavior are not in sync, I have proven that they are not, that's the bug and it is a bug. |
There are a million ways to break things by using invalid options in your configuration. Please use a valid configuration. xpra needs at least one valid socket directory so that clients can connect to it. In the future, it may be possible to workaround this problem using abstract sockets: #4098, but those are not discoverable so you would not be able to connect again without knowing the display number. |
Describe the bug
Hi! 👋
xpra start --daemon=no --attach=yes
always fails to connect the client to the just-started server:Or:
What does work is using
xpra start
andxpra attach
separately, e.g.:To Reproduce
Run
xpra start --daemon=no --attach=yes
System Information (please complete the following information):
Additional context
n/a
The text was updated successfully, but these errors were encountered: