Package: x2goserver
Version: 4.1.0.0

Greetings.

In working on a deployment of X2Go on some Ubuntu machines, I found some logic 
errors in the x2goruncommand script that cased it not to determine the proper 
session to run for Gnome or Unity on Ubuntu 12.04 (and probably others). In 
essence, the script was testing the return code of bc, rather than the actual 
answer (1 or 0) to the boolean question being passed to it.

Here is a patch (also attached) that fixes this problem and I can verify that 
this works on at least Ubuntu 12.04 systems. I don't have any others I can 
easily test on. I'm not crazy about the quotes both outside and inside $(), but 
I think it should be okay. Perhaps a more adept bash programmer might have a 
better suggestion. :-)

Thanks for your attention and please let me know if you have any questions or 
need any other information. And, thanks for your hard work on this terrific 
project!

-- 
Matthew L. Dailey
Systems Administrator
Thayer School of Engineering
Dartmouth College

--- x2goruncommand.orig 2012-12-30 16:49:03.000000000 -0500
+++ x2goruncommand      2013-01-15 16:45:33.623393451 -0500
@@ -91,13 +91,13 @@
 if [ "$cmd" == "GNOME" ] || [ "$cmd" == "gnome-session" ]; then
 
        cmd="/usr/bin/gnome-session"
-       if [ "$DISTRIB_ID" == "Ubuntu" ] && $(echo "$DISTRIB_RELEASE >= 11.10" 
| bc); then
+       if [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE >= 
11.10" | bc)" == "1" ]; then
                export DESKTOP_SESSION="gnome-fallback"
                args=" --session=$DESKTOP_SESSION"
-       elif [ "$DISTRIB_ID" == "Ubuntu" ] && $(echo "$DISTRIB_RELEASE == 
11.04" | bc); then
+       elif [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE == 
11.04" | bc)" == "1" ]; then
                export DESKTOP_SESSION="2d-gnome"
                args=" --session=$DESKTOP_SESSION"
-       elif [ "$DISTRIB_ID" == "Ubuntu" ] && $(echo "$DISTRIB_RELEASE <= 
10.10" | bc); then
+       elif [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE <= 
10.10" | bc)" == "1" ]; then
                export DESKTOP_SESSION="gnome"
        elif cat /etc/debian_version | egrep "^(squeeze|6\.).*" >/dev/null; then
                export DESKTOP_SESSION="gnome"
@@ -108,13 +108,13 @@
 
 elif ([ "$cmd" == "UNITY" ] || [ "$cmd" == "unity" ]); then
        cmd="/usr/bin/gnome-session"
-       if [ "$DISTRIB_ID" == "Ubuntu" ] && $(echo "$DISTRIB_RELEASE" >= 12.10 
| bc); then
+       if [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE >= 
12.10" | bc)" == "1" ]; then
                export DESKTOP_SESSION="ubuntu"
                args=" --session=$DESKTOP_SESSION"
-       elif [ "$DISTRIB_ID" == "Ubuntu" ] && [ $(echo "$DISTRIB_RELEASE" == 
11.10 | bc) || $(echo $DISTRIB_RELEASE == 12.04 | bc) ]; then
+       elif [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE == 
11.10" | bc)" == "1" -o "$(echo "$DISTRIB_RELEASE == 12.04" | bc)" == "1" ]; 
then
                export DESKTOP_SESSION="ubuntu-2d"
                args=" --session=$DESKTOP_SESSION"
-       elif [ "$DISTRIB_ID" == "Ubuntu" ] && $(echo "$DISTRIB_RELEASE" == 
11.04 | bc); then
+       elif [ "$DISTRIB_ID" == "Ubuntu" ] && [ "$(echo "$DISTRIB_RELEASE == 
11.04" | bc)" == "1" ]; then
                export DESKTOP_SESSION="2d-ubuntu"
                args=" --session=$DESKTOP_SESSION"
        fi

Attachment: x2goruncommand.patch
Description: Binary data

_______________________________________________
X2Go-Dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/x2go-dev

Reply via email to