Good afternoon. CentOS 7.3 64 bit. Xpra any version, including v2.1-r16525. Local users of Linux without any problems start the session both via ssh and tcp. Domain users can not start the session. You receive an error when starting:
[user@srvusi06 ~]$ xpra start --start-child=firefox --bind-tcp=0.0.0.0:10001 2017-08-08 09:23:10,657 server failure: disconnected before the session could be established 2017-08-08 09:23:10,657 server requested disconnect: server error (failed to start a new session) Warning: cannot use the system proxy for 'start' subcommand, FAILURE [user@srvusi06 ~]$ Entering daemon mode; any further errors will be reported to: /run/user/16777219/xpra/S23948.log Actual display used: :13 Actual log file name is now: /run/user/16777219/xpra/:13.log
--
[user@srvusi06 xpra]$ cat /run/user/16777219/xpra/:13.log _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running X.Org X Server 1.17.2 Release Date: 2015-06-16 X Protocol Version 11, Revision 0 Build Operating System: 2.6.32-573.18.1.el6.x86_64 Current Operating System: Linux srvusi06 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue J ul 4 15:04:05 UTC 2017 x86_64 Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-514.26.2.el7.x86_64 root=/dev/ma pper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=ru_RU.UTF-8 Build Date: 06 November 2016 12:43:39AM Build ID: xorg-x11-server 1.17.2-22.el7 Current version of pixman: 0.34.0 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: "/run/user/16777219/xpra/Xorg.S23948.log", Time: Tue Aug 8 09:23 :10 2017 (++) Using config file: "/etc/xpra/xorg.conf" (==) Using system config directory "/usr/share/X11/xorg.conf.d" 2017-08-08 09:23:13,560 created unix domain socket: /run/user/16777219/xpra/srvu si06-13 2017-08-08 09:23:13,561 created unix domain socket: /home/ABC/user/.xpra/srvusi0 6-13 2017-08-08 09:23:13,562 created unix domain socket: /run/xpra/srvusi06-13 2017-08-08 09:23:13,972 html server unavailable, cannot find websockify module 2017-08-08 09:23:13,981 Warning: webcam forwarding is disabled 2017-08-08 09:23:13,981 the virtual video directory '/sys/devices/virtual/video 4linux' was not found 2017-08-08 09:23:13,981 make sure that the 'v4l2loopback' kernel module is inst alled and loaded 2017-08-08 09:23:13,982 found 0 virtual video devices for webcam forwarding 2017-08-08 09:23:13,989 pulseaudio server started with pid 24108 2017-08-08 09:23:14,123 GStreamer version 1.4.5 for Python 2.7.5 64-bit 2017-08-08 09:23:14,139 D-Bus notification forwarding is available 2017-08-08 09:23:14,147 started command 'firefox' with pid 24137 2017-08-08 09:23:14,147 xpra X11 version 2.1-r16525 64-bit 2017-08-08 09:23:14,148 uid=16777219 (user), gid=16777216 (пользователи домена) 2017-08-08 09:23:14,148 running with pid 24064 on Linux CentOS Linux 7.3.1611 C ore 2017-08-08 09:23:14,148 connected to X11 display :13 with 24 bit colors E: [pulseaudio] pid.c: Daemon already running. 2017-08-08 09:23:14,456 printer forwarding enabled using postscript and pdf 2017-08-08 09:23:14,456 3.7GB of system memory Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/xpra/server/server_core.py", line 565 , in add_listen_socket sock.listen(5) File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 22] Недопустимый аргумент 2017-08-08 09:23:14,645 xpra is ready. 2017-08-08 09:23:15,650 Warning: pulseaudio has terminated shortly after startup . 2017-08-08 09:23:15,650 pulseaudio is limited to a single instance per user acc ount, 2017-08-08 09:23:15,658 and one may be running already for user 'user' 2017-08-08 09:23:15,658 to avoid this warning, either fix the pulseaudio comman d line 2017-08-08 09:23:15,658 or use the 'pulseaudio=no' option [Parent 24137] WARNING: pipe error: Обрыв канала: file /builddir/build/BUILD/fir efox-52.2.0/firefox-52.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.c c, line 685
---
[root@srvusi06 ~]# groups user user : пользователи домена wheel xpra user linuxusers BUILTIN\users
Help me plz
I don't know what this says: socket.error: [Errno 22] Недопустимый аргумент
Google says "invalid argument".
I'm not sure why 5 would be an invalid argument.
Socket errors are normally detected when we create them, not when we start listening to them.
Since you are creating the 3 standard socket locations:
created unix domain socket: /run/user/16777219/xpra/srvu si06-13 created unix domain socket: /home/ABC/user/.xpra/srvusi0 6-13 created unix domain socket: /run/xpra/srvusi06-13
It is fair to assume that error comes from the last one of those, which requires "xpra" group membership. (maybe you didn't logout and login again after adding the group?)
You should be able to workaround this by removing socket-dirs = /run/xpra
from /etc/xpra/conf.d/10_network.conf
.
Thanks for the answer.
I don't know what this says: socket.error: [Errno 22] Недопустимый аргумент
Yes, its "invalid argument".
It is fair to assume that error comes from the last one of those, which requires "xpra" group membership. (maybe you didn't logout and login again after adding the group?)
Im reboot. without changes
You should be able to workaround this by removing socket-dirs = /run/xpra from /etc/xpra/conf.d/10_network.conf.
I tried it. Rebooted. Without changes
Calculating the difference between local ("alex") and domain users ("user"), I found the following:
[root@srvusi06 ~]# groups user user : domain users linuxusers BUILTIN\users xpra
[root@srvusi06 ~]# groups alex alex : alex xpra
I tried changing the main group to the domain user "user":
[root@srvusi06 ~]# usermod user -g xpra Usermod: user "user" does not exist in /etc/passwd
I manually added a line to /etc/passwd (982 - its gid xpra):
user:x:16777219:982::/home/ABC/user:/bin/bash
Everything worked! The session started, I was able to connect to it from a remote computer. However, now the command
[root@srvusi06 ~]# getent passwd
returns 2 users "user" with the same ID:
... alex:x:1002:1003::/home/alex3:/bin/bash user:x:16777219:982::/home/ABC/user:/bin/bash administrator:*:16777216:16777216:administrator:/home/ABC/administrator:/bin/bash guest:*:16777217:16777217:guest:/home/ABC/guest:/bin/bash krbtgt:*:16777218:16777216:krbtgt:/home/ABC/krbtgt:/bin/bash user:*:16777219:16777216:User aa. family:/home/ABC/user:/bin/bash ....
It's probably wrong ... Any ideas?
What exactly do you mean by "Domain users"? How can I set one up? (without requiring a network server)
I manually added a line to /etc/passwd
Probably a bad idea as this will conflict with your domain user, this may take precedence over it.
What exactly do you mean by "Domain users"?
Its user Windows Server 2008 R2 (domain ABC). CentOS join to realm Windows (use samba & winbind)
How can I set one up? (without requiring a network server)
Probably nothing ... I'll try to find a solution on the CentOS forum
I installed CentOS 7.3 again. Connect to the domain using sssd (instead of winbind). Happened. Works under domain users.
And the last question: I develop a load balancer between servers (asp.net core mvc), on which xpra may work. The servers will need to use a single file server, which hosts user profiles (home directories). I need to completely end the xpra session when the user is disconnected (and turn off the socket running under the user who is disconnected). I tried (cmd-file on Windows-client):
Xpra stop ssh/user:password@192.168.1.103/1 --start-child=firefox Xpra start ssh/user:password@192.168.1.103/1 --start-child=firefox --window-close=shutdown Xpra attach ssh/user:password@192.168.1.103/1 --start-child=firefox --window-close=shutdown
The server is terminated, but this happens when you click on any "cross", for example in the firefox window "about the program." Also, you can not use the "cross" to use the "file-exit" menu. Then the xpra server does not shut down.
How to implement this?
I installed CentOS 7.3 again. Connect to the domain using sssd (instead of winbind). Happened. Works under domain users.
Do you mean to say that the problem is resolved when using sssd instead of winbind?
The servers will need to use a single file server, which hosts user profiles
You may want to look into sqlite auth (#1488) - that's easier to synchronize
I need to completely end the xpra session when the user is disconnected
Look at exit-with-client
and exit-with-children
. Only problem with exit-with-children
is that firefox sometimes does not exit when you close it... (most other application work fine).
window-close
is not what you want.
Do you mean to say that the problem is resolved when using sssd instead of winbind?
Yes.
Look at exit-with-client and exit-with-children.
exit-with-children -not create socket use this key. exit-with-client - not work. And not found in https://xpra.org/manual
exit-with-children -not create socket use this key.
I don't understand what that means.
exit-with-client - not work
How so? Just tried it now and it worked fine, when I disconnected my client, the server printed:
xpra client 1 disconnected. Last client has disconnected, terminating
And not found in https://xpra.org/manual
Oops: exit-with-client
was added a very long time ago (r5246), r16670 finally adds it to the man page
I don't understand what that means.
There were problems if the user was included in the xpra group. When specifying --exit-with-client --exit-with-client the server started under this user, but firefox did not start on the client. Simply connected to the session, but nothing was displayed. When the "empty" session was broken, the xpra server was terminated. As a result, I deleted the user from the group 'xpra' and everything worked as it should. I specify the keys -exit--whith-children -exit--with-client when the server is started, and after the closing of the firm on the client, the server exits. It works, thanks!
The truth is I still do not understand the meaning of the option --exit-with-client. All works (the server completes the work after the client closes firefox) and without it, but just in case, I use both options at the same time: On the server CentOS:
xpra start :5 --start-child=firefox --exit-with-children --exit-with-client
On the client Windows:
xpra attach ssh/login:IP/5
I use GSSAPI therefore for domain users when entering the SSH-server the password is not necessary to enter (SSO).
Its work. Thnx!
... but firefox did not start on the client
This often happens when there is already a firefox process running as that user, any new firefox commands will be forwarded to the existing firefox process. No xpra options have any effect on this (mis)feature.
The truth is I still do not understand the meaning of the option
--exit-with-client
.
As per the man page: the server will terminate when the last client connection is closed. I don't know how to make this clearer.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1616