<h2>But de ce document</h2>
<p class="spip">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.</p>

<h2>Installation du serveur (Poste récent)</h2>
<p class="spip">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 : 
<br /></p>
<li> <a href="http://www.coagul.org/spip.php?article158" class="spip_out">http://www.coagul.org/spip.php ?article158</a>
<br /><li> <a href="http://www.coagul.org/article.php3?id_article=159" class="spip_out">http://www.coagul.org/article.php3 ?id_article=159</a>
<p class="spip">Ensuite, il faut installer le serveur FreeNX comme expliqué dans ce mémo :
<br /></p>
<li> <a href="http://www.coagul.org/spip.php?article330" class="spip_out">http://www.coagul.org/spip.php ?article330</a>
<h2>Installation du terminal FreeNX</h2>
<p class="spip">Sur le terminal, il faut commencer par installer un système minimaliste comme indiqué dans ce mémo :
<br /></p>
<li> <a href="http://www.coagul.org/spip.php?article158" class="spip_out">http://www.coagul.org/spip.php ?article158</a>
<p class="spip">Ensuite, il faut simplement installer le serveur X (xorg) :</p>

<p class="spip"><code class='spip_code' dir='ltr'>aptitude install mdetect read-edid hwinfo xde</code></p>

<h2>Création d’un user spécial</h2>
<p class="spip">Notre terminal se connectera automatiquement sur un utilisateur spécial permettant de lancer le gestionnaire de fenêtre minimaliste (Fluxbox) et le client NoMachine.</p>

<p class="spip">Nous allons donc créer l’utilisateur « nxuser » :</p>

<p class="spip"><code class='spip_code' dir='ltr'># adduser nxuser</code></p>

<h2>Installation et test de Fluxbox</h2>
<p class="spip">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 :</p>

<p class="spip"><code class='spip_code' dir='ltr'># aptitude install fluxbox</code></p>

<p class="spip">Pour pouvoir tester notre gestionnaire de fenêtres, il faut créer le fichier « .<strong class="spip">xinitrc </strong> » dans le home de notre utilisateur « <strong class="spip"> nxuser </strong> » et ajouter cette ligne :</p>

<p class="spip"><code class='spip_code' dir='ltr'>exec startfluxbox</code></p>

<p class="spip">Ensuite il faut lancer « <strong class="spip"> startx </strong> » sous l’utilisateur « <strong class="spip"> nxuser </strong> » :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code># su nxuser<br />
$ startx</code></div>
<h2>Autologin</h2>
<p class="spip">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 « <strong class="spip"> mingetty </strong> » :</p>

<p class="spip"><code class='spip_code' dir='ltr'># aptitude install mingetty</code></p>

<p class="spip">Ensuite, il faut remplacer dans « <strong class="spip">/etc/inittab</strong> », la ligne suivante :</p>

<p class="spip"><code class='spip_code' dir='ltr'>1:2345:respawn:/sbin/getty 38400 tty1</code></p>

<p class="spip">Par cette ligne :</p>

<p class="spip"><code class='spip_code' dir='ltr'>1:2345:respawn:/sbin/mingetty --autologin nxuser tty1</code></p>

<p class="spip">Et pour vérifier que la connexion automatique fonctionne correctement, il faut redémarrer le terminal.</p>

<h2>Lancement automatique du gestionnaire de fenêtres « Fluxbox »</h2>
<p class="spip">Une fois l’utilisateur « <strong class="spip"> nxuser </strong> » connecté automatiquement au démarrage, nous voulons que le gestionnaire de fenêtres « <strong class="spip"> Fluxbox </strong> » 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 « <strong class="spip">/home/nxuser/.bash_profile</strong> » :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>while [ 1 ]; do<br />
        if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then<br />
                startx<br />
        fi<br />
done</code></div>
<p class="spip"><strong class="spip">Remarque</strong> : La boucle infinie permet de relancer « <strong class="spip"> startx </strong> » automatiquement en cas d’arrêt de celui-ci.</p>

<h2>Installation du client NoMachine</h2>
<p class="spip">Pour installer le client « <strong class="spip"> NoMachine </strong> » sur le terminal, vous pouvez suivre ce mémo :
<br /></p>
<li> <a href="http://www.coagul.org/spip.php?article330" class="spip_out">http://www.coagul.org/spip.php ?article330</a>
<h2>Configuration d’une session de connexion au serveur FreeNX</h2>
<p class="spip">Pour configurer manuellement une session pour le client NoMachine, il faut depuis « <strong class="spip"> Fluxbox </strong> » ouvrir un terminal et exécuter cette commande :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ /usr/NX/bin/nxclient</code></p>

<p class="spip">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 :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/home/nxuser/.nx/config/votreserveur.nxs</code></p>

<h2>Contenu du fichier « .xinitrc »</h2>
<p class="spip">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 « .<strong class="spip">xinitrc </strong> » de l’utilisateur « <strong class="spip"> nxuser </strong> » comme ceci :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>fluxbox &<br />
while [ 1 ]; do<br />
     /usr/NX/bin/nxclient --session "/home/tony/.nx/config/votreserveur .nxs"<br />
done</code></div>
<p class="spip"><strong class="spip">Remarque</strong> : La boucle infinie permet de relancer « <strong class="spip"> nxclient </strong> » automatiquement en cas d’arrêt de celui-ci.</p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>29/07/08</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td> </td><td> </td><td> </td></tr>
</tbody>
</table>