[FreeNX-kNX] Suggested Diff for Fedora 8 nxloadconfig

Fabian Franz FabianFranz at gmx.de
Fri Mar 21 15:45:22 UTC 2008


Hello Gregory,

thanks for your patch.

Unfortunately I don't see the use of it for general FreeNX users. Lets take a look step by step.

> I found that, the freenx server config that ships with Fedora 8, has 
> less than desirable default settings.  These settings, tend to 
> malfunction depending on the package installation selected by the 
> administrator.  I found, black screens on some servers, plain old 
> disconnect errors and a variety of connection problems like connection 
> loss with the default install.

This is a problem regarding the packaging for Fedora.

Packagers are advised to change paths that do not work on the default install.

> The entire configuration for nx, is very bizarre in my opinion, due to 
> the fact configuration settings do not exist in a central file in a 
> directory under /etc.

/etc/nxserver/node.conf is not a good file?

All options in nxloadconfig can be overwritten by that file. However we need default values as else a missing node.conf can ruin the whole system.

> I almost feel like a Windows admin sometimes in dealing with this 
> software because, like Windows .ini files are usually spread out all 
> over the place with no rhyme or reason.   What is needed is a new 
> packaging system for nx that makes the thing incredibly non windows 
> like.  (i.e. organized under /etc )

This is a packaging decision. The FreeNX default is /etc/nxserver/node.conf.

Please use unified diffs (diff -u they are much eaqsier to read).

Thanks :-).

> < COMMAND_FOOMATIC="/usr/lib/cups/driver/foomatic-ppdfile"
> ---
>  > COMMAND_FOOMATIC="/usr/bin/foomatic-ppdfile"

There is a runtime check later on, btw. So this is always set right.
Even without the patch.

> <       { ! mywhich "$PATH_BIN/nxdesktop"; } >/dev/null 2>&1 && 
> ENABLE_EXTERNAL_NXDESKTOP="1"
> <       { ! mywhich "$PATH_BIN/nxviewer"; } >/dev/null 2>&1 && 
> ENABLE_EXTERNAL_NXVIEWER="1"

This is another runtime check and its needed.

> < [ -z "$APPLICATION_LIBRARY_PRELOAD" ] && 
> APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so.6.2:$APPLICATION_LIBRARY_PATH/libXext.so.6.4:$APPLICATION_LIBRARY_PATH/libXcomp.so:$APPLICATION_LIBRARY_PATH/libXcompext.so:$APPLICATION_LIBRARY_PATH/libXrender.so.1.2"
> ---
>  > [ -z "$APPLICATION_LIBRARY_PRELOAD" ] && 
> APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11.so.6.2"

This is plain wrong. However APP_LIB_PRELOAD is not in use in most cases anyway.

> <       if [ "ENABLE_EXTERNAL_NXDESKTOP" = "1" ]
> <       then
> <               [ ! mywhich "$COMMAND_RDESKTOP" >/dev/null 2>&1 ] && \
> <                       WARNING="yes" && echo "Warning: Could not find 
> COMMAND_RDESKTOP=$COMMAND_RDESKTOP. RDP sessions won't work."
> <       else
> <               [ ! -x "$PATH_BIN/nxdesktop" ] && \
> <                       WARNING="yes" && echo "Warning: Could not find 
> nxdesktop in $PATH_BIN. RDP sessions won't work."
> <       fi
> <
> <       if [ "ENABLE_EXTERNAL_NXVIEWER" = "1" ]
> <       then
> <               [ ! mywhich "$COMMAND_VNCVIEWER" >/dev/null 2>&1 ] && \
> <                       WARNING="yes" && echo "Warning: Could not find 
> COMMAND_VNCVIEWER=$COMMAND_VNCVIEWER. VNC sessions won't work."
> <               [ ! mywhich "$COMMAND_VNCPASSWD" >/dev/null 2>&1 ] && \
> <                       WARNING="yes" && echo "Warning: Could not find 
> COMMAND_VNCPASSWD=$COMMAND_VNCPASSWD. VNC sessions won't work."
> <       else
> <               [ ! -x "$PATH_BIN/nxviewer" ] && \
> <                       WARNING="yes" && echo "Warning: Could not find 
> nxviewer in $PATH_BIN. VNC sessions won't work."
> <       fi

This is needed for most users. nxdesktop and nxviewer are no longer shipped.

> <
> 499,504d476
> <       [ ! -x "$CUPS_IPP_BACKEND" ] && \
> <               WARNING="yes" && echo "Warning: \"$CUPS_IPP_BACKEND\" is 
> not executable." \
> <                                         && echo "         Users will 
> not be able to enable printing."
> <       [ ! -x "$CUPS_BACKEND/smb" ] && \
> <               WARNING="yes" && echo "Warning: \"$CUPS_BACKEND/smb\" is 
> not executable." \
> <                                         && echo "         Users will 
> not be able to enable printing."

This is needed so a sysadmin is not complaining: Why does printing not work ...

> 531,533c503
> <       ! mywhich "$COMMAND_START_CDE" >/dev/null 2>&1 && \
> <               WARNING="yes" && echo "Warning: Invalid value 
> \"COMMAND_START_CDE=$COMMAND_START_CDE\"" \
> <                                         && echo "         Users will 
> not be able to request a CDE session."
> ---
>  >

This is okay, the default CDE command could be /bin/true.

> 539,542d508
> <       ! mywhich "$COMMAND_SMBMOUNT" >/dev/null 2>&1 && \
> <               WARNING="yes" && echo "Warning: Invalid value 
> \"COMMAND_SMBMOUNT=$COMMAND_SMBMOUNT\". You'll not be able to use SAMBA. "
> <       ! mywhich "$COMMAND_SMBUMOUNT" >/dev/null 2>&1 && \
> <               WARNING="yes" && echo "Warning: Invalid value 
> \"COMMAND_SMBUMOUNT=$COMMAND_SMBUMOUNT\". You'll not be able to use
> SAMBA."

I agree this could be changed to see if either CIFS or SMB is available.

> 581c547
> <       [ -z "$(strings $PATH_BIN/nxagent | egrep 'NXAGENT - Version 
> 1.5.0|NXAGENT - Version 2.[01].0|NXAGENT - Version 3.0.0')" ] && \
> ---
>  >       [ -z "$(strings $PATH_BIN/nxagent | egrep 'NXAGENT - Version 
> 1.5.0|NXAGENT - Version 2.[01].0|NXAGENT - Version 3.0.0|NXAGENT - 
> Version 3.1.0')" ] && \

Fixed in 0.7.2.

All your changes were cosmetic and did not in any way influence runtime behavior.

It might be me, but  I cannot see how this can change FreeNX from non-working to working on FC8. Can you explain, please?

Regarding: /tmp/.X11-unix/ There is an init.d/freenx-server script in 0.7.2, which fixes the issue and should be used by distributions like Fedora.

Also the default for FreeNX is:

Libs in /usr/lib/
Bins in /usr/bin/
Session db in /var/lib/nxserver/db
Etc in /etc/nxserver

It might be that Fedora has chosen to do the packaging in another way, but these are the defaults.

Have a nice easter!

Fabian



More information about the FreeNX-kNX mailing list