EDV:FreeNX/NX-3.0.0-freenx-solaris-10
FreeNX mit 3.0.0-backend auf Solaris 10
Nachdem FreeNX (fast nur) auf shell-Skripten basiert, sollte zumindest der FreeNX-Teil eines NX-Servers plattformunabhängig sein. D.h. mit den Libraries von nomachine.com für Solaris sollte man auch einen FreeNX-Server auf Solaris realisieren können. Hier beschreibe ich eine solche Installation.
NX-Pakete installieren
Die Pakete bekommt man von der Download-Seite von nomachine.com
pkgadd -d nxclient-3.0.0-84.sparc pkgadd -d nxnode-3.0.0-88.sparc pkgadd -d nxserver-3.0.0-74.sparc
die Original-Dateien sichern:
mv /usr/NX/bin/nxserver /usr/NX/bin/nxserver.nomachine mv /usr/NX/bin/nxclient /usr/NX/bin/nxclient.nomachine
FreeNX installieren
svn checkout svn://svn.berlios.de/freenx
cp freenx/freenx-server/trunk/nxkeygen /usr/NX/bin/ cp freenx/freenx-server/trunk/nxloadconfig /usr/NX/bin/ cp freenx/freenx-server/trunk/nxnode /usr/NX/bin/ cp freenx/freenx-server/trunk/nxnode-login /usr/NX/bin/ cp freenx/freenx-server/trunk/nxserver /usr/NX/bin/ cp freenx/freenx-server/trunk/nxsetup /usr/NX/bin/ cp freenx/freenx-server/trunk/nxcups-gethost /usr/NX/bin/ cp freenx/freenx-server/trunk/nxdesktop_helper /usr/NX/bin/ cp freenx/freenx-server/trunk/nxviewer_helper /usr/NX/bin/ [ -f /usr/NX/etc/node.conf ] || cp freenx/freenx-server/trunk/node.conf.sample /usr/NX/etc/node.conf
cd freenx/freenx-server/trunk/nxserver-helper/ gcc -o nxserver-helper nxserver-helper.c -lsocket cp nxserver-helper /usr/NX/bin/
ln -s /usr/NX/bin/nxserver /usr/bin/ ln -s /usr/NX/bin/nxsetup /usr/bin/ ln -s /usr/NX/bin/nxagent /usr/bin/ ln -s /usr/NX/bin/nxloadconfig /usr/bin/
Damit nxclient zur Verfügung steht:
ln -s /usr/NX/bin/nxclient.nomachine /usr/local/bin/nxclient
sicherheitshalber noch ein fehlender (?) Link:
cd /usr/NX/lib && ln -s libXrender.so.1.2.2 libXrender.so.1.2
Vorbereitungen
Für die unten gezeigte Konfiguration braucht man ein fakehome Verzeichnis, in dem die lokalen nx-Dateien angelegt werden können. In unserem Fall brauchen wir das, weil die Homeverzeichnisse per AFS zur Verfügung gestellt werden.
mkdir /usr/NX/fakehome chmod 1777 /usr/NX/fakehome
Auf dem Rechner werden die Pakete von blastwave verwendet. Von dort holen wir uns die noch benötigten Programme.
Dringend benötigte Pakete:
pkg-get -i expect pkg-get -i netcat pkg-get -i textutils
Zusätzlich noch
pkg-get -i icewm pkg-get -i xfce pkg-get -i cupsd pkg-get -i samba_client pkg-get -i rdesktop vncviewer
expect wird an einem bestimmten Ort erwartet:
ln -s /opt/csw/bin/expect /usr/bin/expect
Dann
modify the paths in /usr/NX/bin/nxloadconfig at the beginning:
NX_DIR=/usr/NX NX_ETC_DIR=$NX_DIR/etc NX_SESS_DIR=$NX_DIR/var/db NX_HOME_DIR=$NX_DIR/home/nx
das geht auch so :
cd /usr/NX/bin/ cat nxloadconfig | sed -e "s#^NX_DIR=.*#NX_DIR=/usr/NX#" > nxloadconfig.1 cat nxloadconfig.1 | sed -e "s#^NX_ETC_DIR=.*#NX_ETC_DIR=\$NX_DIR/etc#" > nxloadconfig.2 cat nxloadconfig.2 | sed -e "s#^NX_SESS_DIR=.*#NX_SESS_DIR=\$NX_DIR/var/db#" > nxloadconfig.1 cat nxloadconfig.1 | sed -e "s#^NX_HOME_DIR=.*#NX_HOME_DIR=\$NX_DIR/home/nx#" > nxloadconfig rm nxloadconfig.1 nxloadconfig.2
LOG-File vorbereiten
touch /var/log/nxserver.log chown nx /var/log/nxserver.log
Eine hier funktionierende Konfiguration
#grep -v ^# /usr/NX/etc/node.conf | grep -v ^$ ENABLE_PASSDB_AUTHENTICATION="0" NX_LOG_LEVEL=7 NX_LOGFILE=/var/log/nxserver.log ENABLE_FOOMATIC="0" CUPS_BACKEND="/opt/csw/lib/cups/backend" CUPS_ETC="/opt/csw/etc/cups" SAMBA_MOUNT_SHARE_PROTOCOL="none" USER_FAKE_HOME=/usr/NX/fakehome/$USER DEFAULT_X_WM=/opt/csw/bin/icewm DEFAULT_X_SESSION=/usr/dt/bin/Xsession COMMAND_START_KDE=/opt/csw/bin/icewm COMMAND_START_CDE=/opt/csw/bin/xfce4-session COMMAND_XAUTH=/usr/openwin/bin/xauth COMMAND_NETCAT=/opt/csw/bin/netcat COMMAND_CUPSD=/opt/csw/sbin/cupsd COMMAND_MD5SUM=/opt/csw/bin/gmd5sum COMMAND_RDESKTOP=/opt/csw/bin/rdesktop COMMAND_VNCVIEWER=/opt/csw/bin/vncviewer ENABLE_EXTERNAL_NXDESKTOP="1" ENABLE_EXTERNAL_NXVIEWER="1" AGENT_EXTRA_OPTIONS_X="-noshmem " AGENT_LIBRARY_PATH=/usr/NX/lib/ PROXY_LIBRARY_PATH=/usr/NX/lib/ APPLICATION_LIBRARY_PRELOAD=/usr/NX/lib/libXft.so.2.1.2:/usr/NX/lib/libX11.so:/usr/NX/lib/libXext.so:/usr/NX/lib/libXcomp.so:/usr/NX/lib/libXcompext.so:/usr/NX/lib/libXrender.so
Aktivierung der Installation
nxsetup --install --clean --purge