EDV:FreeNX/NX-3.0.0-freenx-solaris-10

From KIP Wiki
⧟kip-jumptonavigation⧽⧟kip-jumptosearch⧽

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

Solaris 9

Die hier vorliegende Beschreibung gilt fßr Solaris 10. Ich habe es auch auf Solaris 9 versucht, dabei musste ich zusätzlich noch folgendes anpassen:

in nxloadconfig musste ich einige Zeilen anpassen:


und auch in /usr/NX/bin/nxsetup:


Zeile 362 cp -af "$CUPS_BACKEND/ipp" "$CUPS_IPP_BACKEND" ändern in

		cp -prf "$CUPS_BACKEND/ipp" "$CUPS_IPP_BACKEND"

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