package: x2goserver-x2goagent version: 4.1.0.3
According to a user, when dash is set as the default shell, x2goagent.options are not being parsed correctly, as dash does not understand the "+=" syntax used in this file to concatenate various options. The particular piece of code that sources/runs this file should be calling bash explicitly to avoid this.
-Stefan
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Hi Stefan,
On Mo 10 Dez 2018 12:00:56 CET, Stefan Baur wrote:
package: x2goserver-x2goagent version: 4.1.0.3
According to a user, when dash is set as the default shell, x2goagent.options are not being parsed correctly, as dash does not understand the "+=" syntax used in this file to concatenate various options. The particular piece of code that sources/runs this file should be calling bash explicitly to avoid this.
-Stefan
The x2goagent.options file is sourced by x2gostartagent and that uses
/bin/bash as shebang.
I am inclined to close this bug unless you have more info. Even if you
user as /bin/dash as default shell, the x2goagent.options file should
be sourced by bash.
DAS-NETZWERKTEAM mike gabriel, herweg 7, 24357 fleckeby mobile: +49 (1520) 1976 148 landline: +49 (4354) 8390 139
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
Am 10.12.18 um 15:29 schrieb Mike Gabriel:
The x2goagent.options file is sourced by x2gostartagent and that uses /bin/bash as shebang.
I am inclined to close this bug unless you have more info. Even if you user as /bin/dash as default shell, the x2goagent.options file should be sourced by bash.
Interesting. Please keep it open for now; I will check back with the affected user. For some reason, their session wasn't picking up the x2goagent.options, and they had /bin/dash as their default shell.
Kind Regards, Stefan Baur
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Am 10.12.18 um 15:32 schrieb Stefan Baur:
The x2goagent.options file is sourced by x2gostartagent and that uses /bin/bash as shebang.
I am inclined to close this bug unless you have more info. Even if you user as /bin/dash as default shell, the x2goagent.options file should be sourced by bash. Interesting. Please keep it open for now; I will check back with the affected user. For some reason, their session wasn't picking up the x2goagent.options, and they had /bin/dash as their default shell.
The user says that not the individual accounts' shell was set to /bin/dash, but the system-wide default shell. And changing it to /bin/bash fixed the issue for them. Grepping through the X2Go code, I found several instances where /bin/sh is used (/usr/sbin/x2golistsessions_root, /usr/sbin/x2gocleansessions, /usr/bin/x2gopath, /usr/bin/x2gobasepath, /etc/init.d/x2goserver, /usr/bin/x2goprint). There is also a match in the /usr/bin/x2goagent binary.
Could it be that x2gostartagent itself is being called in a way that skips the shebang line? (e.g. "/bin/sh -c /usr/bin/x2gostartagent")
Kind Regards, Stefan Baur
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Am 10.12.18 um 20:32 schrieb Stefan Baur:
Am 10.12.18 um 15:32 schrieb Stefan Baur:
The x2goagent.options file is sourced by x2gostartagent and that uses /bin/bash as shebang.
I am inclined to close this bug unless you have more info. Even if you user as /bin/dash as default shell, the x2goagent.options file should be sourced by bash. Interesting. Please keep it open for now; I will check back with the affected user. For some reason, their session wasn't picking up the x2goagent.options, and they had /bin/dash as their default shell.
The user says that not the individual accounts' shell was set to /bin/dash, but the system-wide default shell. And changing it to /bin/bash fixed the issue for them.
Unable to reproduce the issue on a fresh Debian 8 install, also unable to reproduce the issue after upgrading to Debian 9. Currently investigating what might be different on the user's systems.
-Stefan
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
Hi Stefan,
On Monday, 10 December 2018, Stefan Baur wrote:
Am 10.12.18 um 15:32 schrieb Stefan Baur:
The x2goagent.options file is sourced by x2gostartagent and that uses /bin/bash as shebang.
I am inclined to close this bug unless you have more info. Even if you user as /bin/dash as default shell, the x2goagent.options file should be sourced by bash. Interesting. Please keep it open for now; I will check back with the affected user. For some reason, their session wasn't picking up the x2goagent.options, and they had /bin/dash as their default shell.
The user says that not the individual accounts' shell was set to /bin/dash, but the system-wide default shell. And changing it to /bin/bash fixed the issue for them. Grepping through the X2Go code, I found several instances where /bin/sh is used (/usr/sbin/x2golistsessions_root, /usr/sbin/x2gocleansessions, /usr/bin/x2gopath, /usr/bin/x2gobasepath, /etc/init.d/x2goserver, /usr/bin/x2goprint). There is also a match in the /usr/bin/x2goagent binary.
Could it be that x2gostartagent itself is being called in a way that skips the shebang line? (e.g. "/bin/sh -c /usr/bin/x2gostartagent")
Ouch! Good point. We should look at x2goclient debugging output and check how X2Go Client launches x2gostartagent. IIRC, it use such a call as you mentioned above....
Mike
-- Sent from my Jolla