Skip to Content

Comment convertir un vieux PC en terminal FreeNX sous Linux

But de ce document

Le but de ce document est d’expliquer comment transformer un ordinateur récent en serveur de terminaux et comment configurer un vieil ordinateur pour qu’il se connecte avec un client NoMachine sur l’ordinateur récent contenant le serveur FreeNX.

Installation du serveur (Poste récent)

Sur le serveur, il faut installer un système complet avec une interface graphique. Pour cela, vous pouvez suivre ces mémos pour installer une Debian de Base et KDE :

  •  http://www.coagul.org/spip.php ?article158
  •  http://www.coagul.org/article.php3 ?id_article=159

    Ensuite, il faut installer le serveur FreeNX comme expliqué dans ce mémo :

  •  http://www.coagul.org/spip.php ?article330

    Installation du terminal FreeNX

    Sur le terminal, il faut commencer par installer un système minimaliste comme indiqué dans ce mémo :

  •  http://www.coagul.org/spip.php ?article158

    Ensuite, il faut simplement installer le serveur X (xorg) :

    aptitude install mdetect read-edid hwinfo xde

    Création d’un user spécial

    Notre terminal se connectera automatiquement sur un utilisateur spécial permettant de lancer le gestionnaire de fenêtre minimaliste (Fluxbox) et le client NoMachine.

    Nous allons donc créer l’utilisateur « nxuser » :

    # adduser nxuser

    Installation et test de Fluxbox

    Ensuite, nous allons installer un gestionnaire de fenêtres minimaliste comme Fluxbox qui a le mérite d’être très léger, facilement configurable et très joli :

    # aptitude install fluxbox

    Pour pouvoir tester notre gestionnaire de fenêtres, il faut créer le fichier « .xinitrc  » dans le home de notre utilisateur «  nxuser  » et ajouter cette ligne :

    exec startfluxbox

    Ensuite il faut lancer «  startx  » sous l’utilisateur «  nxuser  » :

    # su nxuser
    $ startx

    Autologin

    Lors du démarrage du terminal, celui-ci doit se connecter automatiquement sur l’utilisateur « nxuser » et lancer le gestionnaire de fenêtres Fluxbox. Pour cela, il faut installer le paquet «  mingetty  » :

    # aptitude install mingetty

    Ensuite, il faut remplacer dans « /etc/inittab », la ligne suivante :

    1:2345:respawn:/sbin/getty 38400 tty1

    Par cette ligne :

    1:2345:respawn:/sbin/mingetty --autologin nxuser tty1

    Et pour vérifier que la connexion automatique fonctionne correctement, il faut redémarrer le terminal.

    Lancement automatique du gestionnaire de fenêtres « Fluxbox »

    Une fois l’utilisateur «  nxuser  » connecté automatiquement au démarrage, nous voulons que le gestionnaire de fenêtres «  Fluxbox  » soit également exécuté automatiquement. De plus, si l’utilisateur quitte Fluxbox, nous souhaitons qu’il soit relancé automatiquement. Pour cela, il faut ajouter ces lignes à la fin du fichier « /home/nxuser/.bash_profile » :

    while [ 1 ]; do
           if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
                   startx
           fi
    done

    Remarque : La boucle infinie permet de relancer «  startx  » automatiquement en cas d’arrêt de celui-ci.

    Installation du client NoMachine

    Pour installer le client «  NoMachine  » sur le terminal, vous pouvez suivre ce mémo :

  •  http://www.coagul.org/spip.php ?article330

    Configuration d’une session de connexion au serveur FreeNX

    Pour configurer manuellement une session pour le client NoMachine, il faut depuis «  Fluxbox  » ouvrir un terminal et exécuter cette commande :

    $ /usr/NX/bin/nxclient

    Cela lance l’assistant de configuration d’une session de connexion au serveur FreeNX. Une fois le paramétrage terminé le fichier contenant la configuration est disponible ici :

    /home/nxuser/.nx/config/votreserveur.nxs

    Contenu du fichier « .xinitrc »

    Lors du lancement de l’interface graphique (startx), nous souhaitons que le client NoMachine soit exécuté automatiquement avec la configuration paramétrée précédemment. De plus si l’utilisateur quitte le client NoMachine celui-ci doit se relancer automatiquement. Pour cela, il faut modifier le fichier « .xinitrc  » de l’utilisateur «  nxuser  » comme ceci :

    fluxbox &
    while [ 1 ]; do
        /usr/NX/bin/nxclient --session "/home/tony/.nx/config/votreserveur .nxs"
    done

    Remarque : La boucle infinie permet de relancer «  nxclient  » automatiquement en cas d’arrêt de celui-ci.

    Historique des modifications

    Version Date Commentaire
    0.1 29/07/08 Création par Tony GALMICHE