<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
When connecting to a X2Go session using the latest release (4.0.5.1) on Mac OS 10.11, the client displays a dialog box with error message "xmodmap failed to start". Attached is a picture of the error message.<BR>
<BR>
It seems like the search path does not include '/usr/X11/bin' or '/opt/X11/bin' which indeed does have the xmodmap binary.<BR>
<BR>
Some debug -<BR>
<BR>
1) Executing '<TT>echo $PATH</TT>' in the terminal displays '<TT>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin</TT>'<BR>
<BR>
2) Below is a snippet of '<TT>launchctl procinfo <x2go_pid></TT>' when opening the app from Launchpad.<BR>
<TT> inherited environment = {</TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.FBStbBeusm/Render</TT><BR>
<TT> }</TT><BR>
<BR>
<TT> default environment = {</TT><BR>
<TT> </TT><TT><B>PATH => /usr/bin:/bin:/usr/sbin:/sbin</B></TT><BR>
<TT> }</TT><BR>
<BR>
<TT> environment = {</TT><BR>
<TT> USER => zc</TT><BR>
<TT> COMMAND_MODE => unix2003</TT><BR>
<TT> LOGNAME => zc</TT><BR>
<TT> </TT><TT><B>PATH => /usr/bin:/bin:/usr/sbin:/sbin</B></TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.FBStbBeusm/Render</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners</TT><BR>
<TT> SHELL => /bin/bash</TT><BR>
<TT> HOME => /Users/zc</TT><BR>
<TT> TMPDIR => /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/</TT><BR>
<TT> __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0</TT><BR>
<TT> XPC_SERVICE_NAME => com.apple.xpc.launchd.oneshot.0x10000006.x2goclient</TT><BR>
<TT> }</TT><BR>
<BR>
3) Executing '<TT>launchctl setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin</TT>' in the terminal, followed by opening the app from Launchpad, procinfo shows -<BR>
<TT> inherited environment = {</TT><BR>
<TT> </TT><TT><B>PATH => /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin</B></TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.FBStbBeusm/Render</TT><BR>
<TT> }</TT><BR>
<BR>
<TT> default environment = {</TT><BR>
<TT> </TT><TT><B>PATH => /usr/bin:/bin:/usr/sbin:/sbin</B></TT><BR>
<TT> }</TT><BR>
<BR>
<TT> environment = {</TT><BR>
<TT> USER => zc</TT><BR>
<TT> COMMAND_MODE => unix2003</TT><BR>
<TT> LOGNAME => zc</TT><BR>
<TT> </TT><TT><B>PATH => /usr/bin:/bin:/usr/sbin:/sbin</B></TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.FBStbBeusm/Render</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners</TT><BR>
<TT> SHELL => /bin/bash</TT><BR>
<TT> HOME => /Users/zc</TT><BR>
<TT> TMPDIR => /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/</TT><BR>
<TT> __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0</TT><BR>
<TT> XPC_SERVICE_NAME => com.apple.xpc.launchd.oneshot.0x10000007.x2goclient</TT><BR>
<TT> }</TT><BR>
<BR>
4) Opening the app using terminal by executing 'open -n /Applications/x2goclient.app'<BR>
<TT> inherited environment = {</TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.8PPy9QYAsk/org.macosforge.xquartz:0</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.WjqkY6s8Nu/Listeners</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.foKIWVipU9/Render</TT><BR>
<TT> }</TT><BR>
<BR>
<TT> default environment = {</TT><BR>
<TT> </TT><TT><B>PATH => /usr/bin:/bin:/usr/sbin:/sbin</B></TT><BR>
<TT> }</TT><BR>
<BR>
<TT> environment = {</TT><BR>
<TT> PWD => /Users/zc</TT><BR>
<TT> USER => zc</TT><BR>
<TT> SECURITYSESSIONID => 186a7</TT><BR>
<TT> LANG => en_CA.UTF-8</TT><BR>
<TT> COMMAND_MODE => unix2003</TT><BR>
<TT> TERM => xterm-256color</TT><BR>
<TT> </TT><TT><B>PATH => /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin</B></TT><BR>
<TT> LOGNAME => zc</TT><BR>
<TT> DISPLAY => /private/tmp/com.apple.launchd.8PPy9QYAsk/org.macosforge.xquartz:0</TT><BR>
<TT> Apple_PubSub_Socket_Render => /private/tmp/com.apple.launchd.foKIWVipU9/Render</TT><BR>
<TT> TERM_PROGRAM_VERSION => 361</TT><BR>
<TT> TERM_SESSION_ID => BAFCF5E5-BAA0-4415-AF96-FEBA6619784E</TT><BR>
<TT> SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.WjqkY6s8Nu/Listeners</TT><BR>
<TT> SHLVL => 1</TT><BR>
<TT> SHELL => /bin/bash</TT><BR>
<TT> HOME => /Users/zc</TT><BR>
<TT> _ => /usr/bin/open</TT><BR>
<TT> TERM_PROGRAM => Apple_Terminal</TT><BR>
<TT> TMPDIR => /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/</TT><BR>
<TT> __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0</TT><BR>
<TT> XPC_SERVICE_NAME => com.apple.xpc.launchd.oneshot.0x10000006.x2goclient</TT><BR>
<TT> }</TT><BR>
<BR>
===<BR>
<BR>
Basically, the correct path is set only when the app is opened via the terminal. If the user decides to hit 'OK' to the dialog box, then the x2go session is terminated, but if he decides to leave it unattended, then the user can continue using his session.<BR>
<BR>
I'm not sure what the fix would be here. Do we leave it on the user to fix his default path settings even though '<TT>echo $PATH</TT>' shows it is set to the right path? Or, in the code, we hard code the path to <BR>
<TT>"/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/opt/X11/bin"</TT>,<TT> </TT>regardless of what the env variable is set to?<BR>
<BR>
Thanks,<BR>
Nimesh
</BODY>
</HTML>