xpra icon
Bug tracker and wiki

Opened 2 years ago

Closed 2 years ago

#1966 closed defect (fixed)

SSH: Paramiko fails to respect double quotes

Reported by: J. Max Mena Owned by: Antoine Martin
Priority: major Milestone:
Component: client Version: 2.3.x
Keywords: Cc:

Description (last modified by J. Max Mena)

For reference, both my server and client are Fedora 28 running trunk r20495 built from source.

Using xpra start ssh:user@host fails with Paramiko selected when a user gives a --start= flag that uses double quotes to run commands that are multiple words. For example, --start="xterm -hold -e dmesg" will fail, but --start=xterm does not.

I double checked that Paramiko was at fault by running the same commands with --ssh="ssh -X", and they go through just fine, and the session starts successfully. Unfortunately, I'm not getting any specific error in the client output, even with -d ssh, just the Xpra usage output that is given when a user enters an unrecognized option.

Interestingly, running xpra start-desktop ssh:user@host --start="xrandr -s 1920x1080" --start=i3 gives a different output:

2018-09-21 09:50:17,588 Error: failed to receive anything, not an xpra server?
2018-09-21 09:50:17,589   could also be the wrong protocol, username, password or port
2018-09-21 09:50:17,589   or the session was not found
2018-09-21 09:50:17,589 Connection lost

Running with -d ssh prints the following relevant line:

2018-09-21 09:51:16,269 Authentication (publickey) successful!
2018-09-21 09:51:16,282 will try to run xpra from: ['$XDG_RUNTIME_DIR/xpra/run-xpra', 'xpra', '/usr/local/bin/xpra', '~/.xpra/run-xpra']
2018-09-21 09:51:16,383 exec_command('which $XDG_RUNTIME_DIR/xpra/run-xpra')
2018-09-21 09:51:16,387 exit status is not ready yet, sleeping
2018-09-21 09:51:16,397 exit status is not ready yet, sleeping
2018-09-21 09:51:16,407 exit status is not ready yet, sleeping
2018-09-21 09:51:16,418 exec_command('which $XDG_RUNTIME_DIR/xpra/run-xpra')=0
2018-09-21 09:51:16,418 trying to open SSH session, window-size=134217727, timeout=60
2018-09-21 09:51:16,482 channel exec_command($XDG_RUNTIME_DIR/xpra/run-xpra "_proxy_start_desktop" ""--start=xrandr -s 1920x1080"" ""--start=i3"" ""--debug=ssh"")

I wonder if those double double quotes are to blame?

Change History (2)

comment:1 Changed 2 years ago by J. Max Mena

Description: modified (diff)

(forgot quotes, and clarified which command works as expected)

comment:2 Changed 2 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

FYI: the debug flag to use is -d ssh.

Fixed in r20497. (we were quoting command line arguments twice with paramiko)

Note: See TracTickets for help on using tickets.