[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