[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