X2Go Bug report logs - #487
hardcoded /opt/X11/bin/xmodmap in onmainwindow.cpp

version graph

Package: x2goclient; Maintainer for x2goclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goclient is src:x2goclient.

Reported by: joerg@hydrops.han.de

Date: Mon, 5 May 2014 22:35:01 UTC

Severity: normal

Tags: pending

Merged with 977

Found in version 4.0.2.0

Fixed in version 4.0.5.1

Done: X2Go Release Manager <git-admin@x2go.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to x2go-dev@lists.berlios.de, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#487; Package x2goclient. (Mon, 05 May 2014 22:35:01 GMT) (full text, mbox, link).


Acknowledgement sent to joerg@hydrops.han.de:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Mon, 05 May 2014 22:35:01 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: joerg@hydrops.han.de
To: submit@bugs.x2go.org
Subject: hardcoded /opt/X11/bin/xmodmap in onmainwindow.cpp
Date: Tue, 6 May 2014 00:25:37 +0200
Package: x2goclient
Version: 4.0.2.0

This bug affects mac clients only.

Systems: 
OSX 10.6.8 + XQuartz 2.7.5 from macports
OSX 10.9.2 + XQuartz 2.7.5 from macports

Macports installs xmodmap in /opt/local/bin and Apple installs it in
/usr/X11/bin . In onmainwindow.ccp there is a hard coded path "/opt/X11/bin/xmodmap"
which may be the correct location for the macosforge package. 

x2goclient does not complain about a missing xmodmap and no modifiers
are set on the server session. Keyboard is at least partially defunct. 

Workaround: symlink some existing xmodmap to the hard coded path works
fine.

IMHO there should be at least an error message, if xmodmap is not found on
client. Additinally the location of xmodmap could be a configuration
parameter.


Merged 487 977 Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Sun, 10 Jan 2016 06:10:02 GMT) (full text, mbox, link).


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#487; Package x2goclient. (Wed, 13 Jan 2016 05:05:01 GMT) (full text, mbox, link).


Acknowledgement sent to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 13 Jan 2016 05:05:02 GMT) (full text, mbox, link).


Message #12 received at 487@bugs.x2go.org (full text, mbox, reply):

From: Mihai Moldovan <ionic@ionic.de>
To: 487-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 487@bugs.x2go.org
Subject: X2Go issue (in src:x2goclient) has been marked as pending for release
Date: Wed, 13 Jan 2016 06:04:11 +0100 (CET)
tag #487 pending
fixed #487 4.0.5.1
thanks

Hello,

X2Go issue #487 (src:x2goclient) reported by you has been
fixed in X2Go Git. You can see the changelog below, and you can
check the diff of the fix at:

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=f399a04

The issue will most likely be fixed in src:x2goclient (4.0.5.1).

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
commit f399a0453487ac97eb113923f7503fd0f06e046d
Author: Mihai Moldovan <ionic@ionic.de>
Date:   Wed Jan 13 06:03:55 2016 +0100

    onmainwindow.{cpp,h}: don't use a hardcoded path to xmodmap on OS X and handle errors more gracefully. Fixes: #487.

diff --git a/debian/changelog b/debian/changelog
index 5c5bef8..92a3d0e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,8 @@ x2goclient (4.0.5.1-0x2go1) UNRELEASED; urgency=low
     - x2gosettings.cpp: let centralSettings () return false on Windows.
     - onmainwindow.cpp: be more precise in slotScDaemonError () regarding
       unknown and undefined errors.
+    - onmainwindow.{cpp,h}: don't use a hardcoded path to xmodmap on OS X and
+      handle errors more gracefully. Fixes: #487.
 
   [ Oleksandr Shneyder ]
   * New upstream release (4.0.5.1):


Added tag(s) pending. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Wed, 13 Jan 2016 05:05:02 GMT) (full text, mbox, link).


Marked as fixed in versions 4.0.5.1. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Wed, 13 Jan 2016 05:05:02 GMT) (full text, mbox, link).


Message sent on to joerg@hydrops.han.de:
Bug#487. (Wed, 13 Jan 2016 05:05:03 GMT) (full text, mbox, link).


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#487; Package x2goclient. (Thu, 24 Mar 2016 20:40:02 GMT) (full text, mbox, link).


Acknowledgement sent to X2Go Release Manager <git-admin@x2go.org>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 24 Mar 2016 20:40:03 GMT) (full text, mbox, link).


Message #24 received at 487@bugs.x2go.org (full text, mbox, reply):

From: X2Go Release Manager <git-admin@x2go.org>
To: 487-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 487@bugs.x2go.org
Subject: X2Go issue (in src:x2goclient) has been marked as closed
Date: Thu, 24 Mar 2016 21:38:45 +0100 (CET)
close #487
thanks

Hello,

we are very hopeful that X2Go issue #487 reported by you
has been resolved in the new release (4.0.5.1) of the
X2Go source project »src:x2goclient«.

You can view the complete changelog entry of src:x2goclient (4.0.5.1)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2goclient.

    http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=4f91293625f1b3c12a1fa0a414424557d82fc65a;hp=b69667ef6d5f762b988e756a85a429792871e88c

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2goclient.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2goclient
Version: 4.0.5.1-0x2go1
Status: RELEASE
Date: Thu, 24 Mar 2016 21:35:30 +0100
Fixes: 487 772 860 916 921 927 928 945 948 953 973 987 1000
Changes: 
 x2goclient (4.0.5.1-0x2go1) RELEASED; urgency=low
 .
   [ Mihai Moldovan ]
   * New upstream release (4.0.5.1):
     - onmainwindow.cpp: include sshd PID file path option in quotes to support
       whitespaces within the var directory path on Windows. Add comment to
       revisit this later on non-Windows-platforms, too. Fixes: #916.
     - onmainwindow.cpp: do NOT reformat. Reverts most of the previous commit
       because it breaks code logic.
     - res/txt/packs: add adaptive method.
     - {macbuild.sh,x2goclient.pro}: pass MacPorts library and include path's
       to qmake. Due to the qt4-mac's changes, we do not automatically get
       these values automatically "appended" in a usable way anymore.
     - x2gosettings.cpp: let centralSettings () return false on Windows.
     - onmainwindow.cpp: be more precise in slotScDaemonError () regarding
       unknown and undefined errors.
     - onmainwindow.{cpp,h}: don't use a hardcoded path to xmodmap on OS X and
       handle errors more gracefully. Fixes: #487.
     - x2goclient.pro: fix typo --stdlib=... -> -stdlib=... Fixes: #973.
     - onmainwindow.cpp: add some more error handling for parsing the return
       value of x2golistsessions. As it turns out, it can happen that "invalid"
       strings are inserted in there, for instance by the perl interpreter
       itself. We need to skip over these, or the client crashes when splitting
       up the invalid lines.
     - macbuild.sh: add stdlib forcing. Should not be used unless you really
       know what you're doing. If you ponder using this, you probably don't.
     - res/resources.rcc: add Turkish translation file. Fixes: #987.
     - onmainwindow.cpp: use lowercase version of locale. Fixes: #953.
       Fixes loading up the nb_NO translation file, which is actually baked as
       nb_no into the binary.
     - sshmasterconnection.cpp: let challenge-auth-based login attempts
       fallback to normal password authentication if the initial
       challenge-auth-based attempt was unsuccessful.
     - sshmasterconnection.{cpp,h}: support variable number of
       challenge-auth-code-based prompts.
     - sshmasterconnection.cpp: don't check prompts for full string equality -
       a matching prefix is good enough. Amongst others, this fixes errors in
       conditions where the prompt does not contain a trailing whitespace, but
       X2Go Client expects one.
     - sshmasterconnection.cpp: add OATH TOTP prompt prefix. Fixes: #860.
     - res/i18n: refresh translation files again.
     - res/i18n/x2goclient_nb_no.ts: replace "X-Serv..." with "X.Org Server"
       where applicable.
     - res/i18n/x2goclient_nb_no.ts: correctly use "XQuartz" where necessary.
     - res/i18n/x2goclient_nb_no.ts: whitespace only.
     - res/i18n/x2goclient_nb_no.ts: fix up some "x2go" -> "X2Go" errors.
     - res/i18n/x2goclient_nb_no.ts: mark translation strings needing some care
       ("x2go..." -> "X2Go...") as unfinished for later fixup.
     - res/i18n/x2goclient_nb_no.ts: fix (meta data) typo introduced with last
       commit.
     - res/i18n/x2goclient_nl.ts: fixup translation by respecting the original
       messages' format and other changes.
     - res/i18n/x2goclient_de.ts: fixup translation by respecting the original
       messages' format, fixing typos and general improvements.
     - res/i18n/x2goclient_es.ts: fixup translation by respecting the original
       messages' format and other changes.
     - res/i18n/x2goclient_sv.ts: fixup translation by respecting the original
       messages' format and other changes.
   * debian/control:
     - Change apache2-dev | libc6-dev build dependency back to apache2-dev
       only. Otherwise, apache2-dev is not installed at all, even though
       theoretically available. The initial reasoning for this dependency type,
       apache2-dev not being available on all Ubuntu/Debian platforms, is not
       true anymore.
     - Change apache2-dev build dependency yet again to apache2-dev |
       apache2-threaded-dev. Turns out all Debian distros but wheezy (currently
       oldstable) have an apache2-dev package. Even oldoldstable (squeeze)
       does...
 .
   [ Oleksandr Shneyder ]
   * New upstream release (4.0.5.1):
     - xsettingswidget: compile only on Windows.
     - Add support for new style command line options of xfreerdp on direct RDP
       connections. (Fixes: #772).
     - Replace "::" with "_" for the desktop link name on Windows.
     - Fix direct RDP in broker mode.
     - Fix crashing client when editing session from SessionManageDialog.
       Fixes: #921.
     - Configure audio input in pulseaudio on Windows.
     - Reconnect ssh broker in case of IO Error.
     - Reformat source onmainwindow.cpp.
     - Disable settings editing if a directory with central settings is exists.
     - Format long names on session buttons.
     - Central settings for Linux, Mac and Windows.
     - Fix VCXSRV parameter to disable PRIMARY clipboard in X2Go Client for Windows. Fixes: #927.
     - Fix reading settings for direct RDP connections in broker mode.
     - Auto accept RSA Keys for SSH Broker with --add-to-known-hosts option.
 .
   [ Mike Gabriel ]
   * New upstream release (4.0.5.1):
     - xinerama.conf: Don't choke if screen coordintate lines in xinerama.conf
       start with a dash ("-"). (Fixes: #948).
 .
   [ Mike DePaulo ]
   * New upstream release (4.0.5.1):
     - Windows: Update bundled Win32 OpenSSL from 1.0.1p to 1.0.1q,
       which fixes the multiple CVEs announced on 2015-12-03.
     - Windows: Upgrade Cygwin components to latest versions as of
       2016-01-21, except for the Cygwin DLL which is still at 1.7.33
       in order to avoid breaking folder sharing and printer sharing
       due to 1.7.34's ACL/permissions changes.
       (authorized_keys file would often have mode 660 instead of 600)
       The latest components include most notably:
         + openssh 6.8p1-1-x2go1 -> 7.1p2-1-x2go1 (security update)
         + openssl 1.0.2d-1 -> 1.0.2e-1 (security update)
     - Windows: Update nxproxy from 3.5.0.31 to 3.5.0.32
     - Windows: Update Unicode NSIS from 2.46.5 to 2.50.0 Pre-release,
       which fixes the DLL hijacking security vuln (NSIS bug 1125.)
     - Windows: Update PuTTY from 0.64 to 0.66, which fixes
       CVE-2015-5309.
     - Windows: Remove libzip. libssh no longer uses it.
 .
   [ Orion Poplawski ]
   * New upstream release (4.0.5.1):
     - ssh{process,masterconnection}.cpp: run bash as a login shell when
       invoking any command remotely. Fixes: #928. Because this opens the door
       for ~/.bash_logout and friend scripts to be executed, which may contain
       calls to ncurses' reset or clear, also set the TERM variable to dump to
       not have unexpected output on stderr at logout time.
     - sshmasterconnection.cpp: check correct variable for validity: public key
       instead of private key (again.) Fixes: #945.
 .
   [ Klaus Ade Johnstad ]
   * New upstream version (4.0.5.1):
     - res/i18n/x2goclient_nb_no.ts: update Bokmål (Norway) translation file.
 .
   [ Heinrich Schuchardt ]
   * New upstream version (4.0.5.1):
     - sshmasterconnection.cpp: don't fetch invalid proxy socket. Fixes: #1000.
       From http://doc.qt.io/qt-4.8/qabstractsocket.html#socketDescriptor:
       The socket descriptor is not available when QAbstractSocket is in
       UnconnectedState.
       So we have to connect to the proxy server first before retrieving the
       native socket.
 .
   [ Daniel Lindgren ]
   * New upstream version (4.0.5.1):
     - res/i18n/x2goclient_sv.ts: update Swedish translation file.
 .
   [ Sébastien Ducoulombier ]
   * New upstream version (4.0.5.1):
     - res/i18n/x2goclient_fr.ts: update French translation file.
 .
   [ Jos Wolfkamp ]
   * New upstream version (4.0.5.1):
     - res/i18n/x2goclient_nl.ts: update Dutch translation file.
 .
   [ Stefan Baur ]
   * New upstream release (4.0.5.1):
     - res/i18n/x2goclient_de.ts: update German translation file.
 .
   [ Ricardo Díaz Martín ]
   * New upstream release (4.0.5.1):
     - res/i18n/x2goclient_es.ts: update Spanish translation file.


Marked Bug as done Request was from X2Go Release Manager <git-admin@x2go.org> to control@bugs.x2go.org. (Thu, 24 Mar 2016 20:40:26 GMT) (full text, mbox, link).


Notification sent to joerg@hydrops.han.de:
Bug acknowledged by developer. (Thu, 24 Mar 2016 20:40:27 GMT) (full text, mbox, link).


Message sent on to joerg@hydrops.han.de:
Bug#487. (Thu, 24 Mar 2016 20:40:35 GMT) (full text, mbox, link).


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#487; Package x2goclient. (Tue, 05 Apr 2016 17:55:01 GMT) (full text, mbox, link).


Acknowledgement sent to njethwa@cirruscomputing.com:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Tue, 05 Apr 2016 17:55:01 GMT) (full text, mbox, link).


Message #36 received at 487@bugs.x2go.org (full text, mbox, reply):

From: Nimesh Jethwa <njethwa@cirruscomputing.com>
To: 487@bugs.x2go.org
Subject: "xmodmap failed to start" error
Date: Tue, 05 Apr 2016 13:44:48 -0400
[Message part 1 (text/plain, inline)]
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.

It seems like the search path does not include '/usr/X11/bin' or
'/opt/X11/bin' which indeed does have the xmodmap binary.

Some debug -

1) Executing 'echo $PATH' in the terminal displays
'/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin'

2) Below is a snippet of 'launchctl procinfo <x2go_pid>' when opening
the app from Launchpad.
        inherited environment = {
                DISPLAY
=> /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.FBStbBeusm/Render
        }

        default environment = {
                PATH => /usr/bin:/bin:/usr/sbin:/sbin
        }

        environment = {
                USER => zc
                COMMAND_MODE => unix2003
                LOGNAME => zc
                PATH => /usr/bin:/bin:/usr/sbin:/sbin
                DISPLAY
=> /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.FBStbBeusm/Render
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners
                SHELL => /bin/bash
                HOME => /Users/zc
                TMPDIR
=> /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/
                __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0
                XPC_SERVICE_NAME =>
com.apple.xpc.launchd.oneshot.0x10000006.x2goclient
        }

3) Executing 'launchctl setenv
PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin' in the
terminal, followed by opening the app from Launchpad, procinfo shows -
        inherited environment = {
                PATH
=> /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
                DISPLAY
=> /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.FBStbBeusm/Render
        }

        default environment = {
                PATH => /usr/bin:/bin:/usr/sbin:/sbin
        }

        environment = {
                USER => zc
                COMMAND_MODE => unix2003
                LOGNAME => zc
                PATH => /usr/bin:/bin:/usr/sbin:/sbin
                DISPLAY
=> /private/tmp/com.apple.launchd.jbbgc0SnWW/org.macosforge.xquartz:0
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.FBStbBeusm/Render
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.iQM7MSzyBK/Listeners
                SHELL => /bin/bash
                HOME => /Users/zc
                TMPDIR
=> /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/
                __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0
                XPC_SERVICE_NAME =>
com.apple.xpc.launchd.oneshot.0x10000007.x2goclient
        }

4) Opening the app using terminal by executing 'open
-n /Applications/x2goclient.app'
        inherited environment = {
                DISPLAY
=> /private/tmp/com.apple.launchd.8PPy9QYAsk/org.macosforge.xquartz:0
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.WjqkY6s8Nu/Listeners
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.foKIWVipU9/Render
        }

        default environment = {
                PATH => /usr/bin:/bin:/usr/sbin:/sbin
        }

        environment = {
                PWD => /Users/zc
                USER => zc
                SECURITYSESSIONID => 186a7
                LANG => en_CA.UTF-8
                COMMAND_MODE => unix2003
                TERM => xterm-256color
                PATH
=> /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
                LOGNAME => zc
                DISPLAY
=> /private/tmp/com.apple.launchd.8PPy9QYAsk/org.macosforge.xquartz:0
                Apple_PubSub_Socket_Render
=> /private/tmp/com.apple.launchd.foKIWVipU9/Render
                TERM_PROGRAM_VERSION => 361
                TERM_SESSION_ID => BAFCF5E5-BAA0-4415-AF96-FEBA6619784E
                SSH_AUTH_SOCK
=> /private/tmp/com.apple.launchd.WjqkY6s8Nu/Listeners
                SHLVL => 1
                SHELL => /bin/bash
                HOME => /Users/zc
                _ => /usr/bin/open
                TERM_PROGRAM => Apple_Terminal
                TMPDIR
=> /var/folders/dr/ylvdtkpd2rv2qkfclsw7y06r0000gn/T/
                __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x0
                XPC_SERVICE_NAME =>
com.apple.xpc.launchd.oneshot.0x10000006.x2goclient
        }

===

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.

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 'echo $PATH' shows it is set
to the right path? Or, in the code, we hard code the path to 
"/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/opt/X11/bin", regardless of what the env variable is set to?

Thanks,
Nimesh
[Message part 2 (text/html, inline)]
[xmodmap-error.jpg (image/jpeg, attachment)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.x2go.org> to internal_control@bugs.x2go.org. (Wed, 04 May 2016 05:24:01 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Thu Mar 28 22:58:21 2024; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.