[FreeNX-kNX] encoding/compression not respected when rootless mode used?

Fabian Franz FabianFranz at gmx.de
Sun Feb 25 23:49:14 UTC 2007


> I have Linux / nx 2.1.0 / freenx 0.6.0 on the server side, and Linux / 
> nxclient-2.1.0-11 on the client side.
> 
> I noticed that when I connect in a rootless mode to start single apps, 
> encoding/compression settings are not respected.

Sorry, took a while to find it, but 4 days response time is not that bad either ;). Fixed.

Here we go:

Index: nxnode
===================================================================
--- nxnode      (Revision 323)
+++ nxnode      (Arbeitskopie)
@@ -991,6 +991,10 @@
        rootless=0
        # Its still the clients decision
        [ "$ENABLE_ROOTLESS_MODE" = "1" ] &&  rootless=$(getparam rootless)
+
+       # Rootless fix from 2x nxserver 1.5.0
+       realtype=$type
+       [ "$type" = "unix-application" -o "$type" = "unix-default" ] && realtype="unix-desktop"

        # FreeNX specific variables
        clientproto=$(getparam clientproto)
@@ -1061,7 +1065,7 @@
        umask 0077

 cat << EOF > $USER_FAKE_HOME/.nx/C-$sess_id/options
-${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$type,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}:$display
+${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}:$display
 EOF
        umask $OLD_UMASK
 #samba=$samba,

will be commited to SVN.

Problem is in nxcomp Loop.cpp:

if (strncmp(sessionType, "raw", strlen("raw")) == 0 ||
          strncmp(sessionType, "unix-raw", strlen("unix-raw")) == 0 ||
              strncmp(sessionType, "unix-console", strlen("unix-console")) == 0 ||
                  strncmp(sessionType, "unix-default", strlen("unix-default")) == 0 ||
                      strncmp(sessionType, "unix-application", strlen("unix-application")) == 0)
  {
    control -> SessionMode = session_raw;
  }

Hope you are happy now :-).

cu

Fabian



More information about the FreeNX-kNX mailing list