Xpra: Ticket #2228: server refuses to act on client start/attach to shadow server

I don't know what happens and server does not connect. There is not even log activity in the server.

this is what -d all shows after do_set_icon up until the error message:

do_set_icon(0xc70669)
make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x000000000598b1e0> tooltip='ssh://user@ip/0', app_id=0, actual flags=ICON, GUID
make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x000000000598b1e0> tooltip='ssh://user@ip/0', app_id=0, actual flags=ICON, GUID
poll() procinfo list: [ProcInfo({'pid': 4720, 'name': 'ssh', 'command': ['plink', '-ssh', '-agent', '-l', 'user', '-T', 'ip', 'sh -c \'xpra initenv;if [ -x $XDG_RUNTIME_DIR/xpra/run-xpra ]; then $XDG_RUNTIME_DIR/xpra/run-xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif which "xpra" > /dev/null 2>&1; then xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x /usr/local/bin/xpra ]; then /usr/local/bin/xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x ~/.xpra/run-xpra ]; then ~/.xpra/run-xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";else echo "no run-xpra command found"; exit 1; fi\''], 'ignore': True, 'forget': False, 'callback': None, 'process': <subprocess.Popen object at 0x0000000005774a58>, 'returncode': None, 'dead': False})]
poll() procinfo list: [ProcInfo({'pid': 4720, 'name': 'ssh', 'command': ['plink', '-ssh', '-agent', '-l', 'user', '-T', 'ip', 'sh -c \'xpra initenv;if [ -x $XDG_RUNTIME_DIR/xpra/run-xpra ]; then $XDG_RUNTIME_DIR/xpra/run-xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif which "xpra" > /dev/null 2>&1; then xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x /usr/local/bin/xpra ]; then /usr/local/bin/xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x ~/.xpra/run-xpra ]; then ~/.xpra/run-xpra _shadow_start ":0" "--opengl=no" "--clipboard=no" "--desktop-scaling=0.75" "--debug=all" "--speaker=off" "--webcam=no" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";else echo "no run-xpra command found"; exit 1; fi\''], 'ignore': True, 'forget': False, 'callback': None, 'process': <subprocess.Popen object at 0x0000000005774a58>, 'returncode': None, 'dead': False})]
read_parse_thread_loop starting
read thread: eof
parse thread: empty marker, exiting
io_thread_loop(read, <bound method Protocol._read of Protocol(Pipe(ssh://user@ip/0))>) loop ended, closed=False
Protocol.close() closed=False, connection=Pipe(ssh://user@ip/0)
Protocol.close() calling <bound method TwoFileConnection.close of Pipe(ssh://user@ip/0)>
Pipe(ssh://user@ip/0).close() close callback=<function ssh_exec_connect_to.<locals>.stop_tunnel at 0x000000000598b0d0>, readable=<_io.BufferedReader name=5>, writeable=<_io.BufferedWriter name=4>
Pipe(ssh://user@ip/0).close() calling <function ssh_exec_connect_to.<locals>.stop_tunnel at 0x000000000598b0d0>
Pipe(ssh://user@ip/0).close() done
terminate_queue_threads()
Protocol.close() done
check_server_echo(0) last=True, server_ok=True (last_ping_echoed_time=0)
write thread: empty marker, exiting
Protocol.close() closed=True, connection=None
Error: failed to receive anything, not an xpra server?
io_thread_loop(write, <bound method Protocol._write of Protocol(None)>) loop ended, closed=True
  could also be the wrong protocol, username, password or port
  or the session was not found
Connection lost
GTKXpraClient.quit(1) current exit_code=None


Wed, 20 Mar 2019 12:03:42 GMT - Antoine Martin: owner changed

Please post the full command lines, OS and version information.

Looks like plink is just not connecting.


Thu, 21 Mar 2019 11:44:14 GMT - stdedos: owner changed

Xpra-Python3-x86_64_2.5-r21877\xpra_cmd" shadow ssh://user@ip/0 -d all --clipboard=no --opengl=no --desktop-scaling=0.75 --webcam=no --speaker=off --microphone=off
Xpra-x86_64_2.5-r21877\xpra_cmd" attach ssh://user@ip/0  --clipboard=no --opengl=no --min-quality=20 --desktop-scaling=0.75
2019-03-20 13:38:59,431 Xpra GTK2 client version 2.5-r21877 64-bit
2019-03-20 13:38:59,436  running on Microsoft Windows 10
2019-03-20 13:38:59,463 Warning: failed to import opencv:
2019-03-20 13:38:59,464  No module named cv2
2019-03-20 13:38:59,464  webcam forwarding is disabled
2019-03-20 13:39:00,035 GStreamer version 1.14.4 for Python 2.7.15 64-bit
2019-03-20 13:39:00,138  keyboard settings: layout=us
2019-03-20 13:39:00,140  desktop size is 1600x900 with 1 screen:
2019-03-20 13:39:00,140   Default (423x238 mm - DPI: 96x96) workarea: 1600x860
2019-03-20 13:39:00,141     DISPLAY1 (309x174 mm - DPI: 131x131)
2019-03-20 13:39:00,141  downscaled to 75%, virtual screen size: 2133x1200
2019-03-20 13:39:00,141   Default (423x238 mm - DPI: 128x128) workarea: 2133x1147
2019-03-20 13:39:00,141     DISPLAY1 (309x174 mm - DPI: 175x175)
# authenticated by password correctly here
2019-03-20 13:39:04,893 Error: failed to receive anything, not an xpra server?
2019-03-20 13:39:04,894   could also be the wrong protocol, username, password or port
2019-03-20 13:39:04,895   or the session was not found
2019-03-20 13:39:04,895 Connection lost
Press any key to continue . . .

Thu, 21 Mar 2019 11:46:49 GMT - Antoine Martin: owner changed

Is the shadow server running? Can you run xpra info against it? (run the command directly on the server in a terminal) Is it shown with xpra list? Is the process still there? Can you attach gdb to it? etc.


Thu, 21 Mar 2019 11:51:25 GMT - stdedos:

Replying to Antoine Martin:

Is the shadow server running? Can you run xpra info against it? (run the command directly on the server in a terminal) Is it shown with xpra list? Is the process still there? etc.

If I do xpra shadow from the client, no. If I do xpra attach, yes, because I manually started it myslef.

Can you attach gdb to it?

Have never tried it, but yes (?)


Thu, 21 Mar 2019 11:53:29 GMT - Antoine Martin:

If I do xpra shadow from the client, no. If I do xpra attach, yes, because I manually started it myslelf.

I don't understand what that means in this context.

One important thing to consider is that maybe the session is getting killed when your ssh session terminates. If you can run xpra info directly on the server and you can't attach with ssh from the client, please attach xpra info and the server log here.


Thu, 21 Mar 2019 12:10:20 GMT - stdedos:

Client commands xpra shadow and xpra attach (to a shadow server) are not working. They don't even leave logs on the server. xpra attach ssh://u@i/200 is working

Find attached example log file of:

C:\Users\stavros.ntentos>"C:\Users\stavros.ntentos\Documents\xpra-clients\Xpra-Python3-x86_64_2.5-r21877\xpra_cmd" shadow ssh://sntentos@172.16.57.121/0 -d all --clipboard=no --opengl=no --desktop-scaling=0.75 --webcam=no --speaker=off --microphone=off  > C:\Users\stavros.ntentos\Desktop\xpra-shadow-0.log 2>&1

Thu, 21 Mar 2019 12:11:13 GMT - stdedos: attachment set


Thu, 21 Mar 2019 13:36:44 GMT - Antoine Martin:

This bug report is so confusing. I have no idea which commands do what and when.

For example:

... and xpra attach (to a shadow server) are not working. xpra attach ssh://u@i/200 is working

How can they both be true?

So, when it does attach, your shadow server got started somehow. Not clear. Note: if a shadow is already running, you will fail to start a new one, you can only attach.


Thu, 21 Mar 2019 14:05:56 GMT - stdedos:

Replying to Antoine Martin:

This bug report is so confusing. I have no idea which commands do what and when.

For example:

... and xpra attach (to a shadow server) are not working. xpra attach ssh://u@i/200 is working

How can they both be true?

It is confusing for me too. In the beginning, no xpra shadow or xpra attach was working. Now that I am re-trying it, xpra attach seems to work :/

I would've changed descriptions, but I don't see how ...

So, when it does attach, your shadow server got started somehow. Not clear.

It was started manually, executing xpra shadow :0 on the server.

Note: if a shadow is already running, you will fail to start a new one, you can only attach.

I know, not the case


Fri, 17 May 2019 08:04:07 GMT - stdedos: status changed; resolution set

Since the bug is confusing, and xpra shadow and attach works, it's best to close it


Sat, 23 Jan 2021 05:45:36 GMT - migration script:

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