Skip to Content

Installation de FreeNX sur Debian Testing et du client NoMachine

But de ce document

Ce document me sert de mémo pour installer le serveur «  FreeNX  » sur une Debian testing. Il me sert également de mémo pour installer les clients fournis gratuitement par la société «  NoMachine  » sous Debian ou sous Windows.

La technologie «  nx  » a été développée par la société «  NoMachine  ». Cette technologie est comparable à celle développée par Citrix et reprise par Microsoft sous le nom « Windows Terminal Serveur ».

La technologie est libre, et la société « NoMachine « commercialise la partie serveur et fournit gratuitement des clients. ATTENTION : NoMachine propose également un serveur gratuit (mais non libre), limité à seulement 2 accès.

Le serveur libre «  FreeNX  » est donc basé sur cette technologie. Il existe également des clients libres, mais ceux-ci sont pour le moment plus compliqués à utiliser.

Pré-requis

Le but de FreeNX est d’exporter un bureau graphique complet sur un poste distant en utilisant une bande passante minimum (Une connexion par modem à 56kbps suffit). Il faut donc qu’un bureau graphique soit installé sur le serveur. Pour installer une Debian Testing avec KDE, vous pouvez suivre ce mémo :

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

    FreeNX reposant entièrement sur un serveur SSH, il faut également qu’un serveur SSH soit opérationnel sur le serveur. Pour cela, vous pouvez suivre ce mémo :

  •  http://www.coagul.org/article.php3 ?id_article=168

    Installation de FreeNX 0.4.4

    Les paquets ne sont pas fourni en standard pour Debian, mais ils sont téléchargeables sur plusieurs adresses. L’adresse standard est la suivante :

  •  http://freenx.berlios.de/download.php

    ATTENTION : A ce jour les paquets téléchargés à cette adresse fonctionne correctement sur une Debian Sarge, mais pour sur une Debian Testing/SID avec Xorg 7.0, il pose plusieurs problèmes. Voire le chapitre « Problèmes avec Xorg 7.0 » à la fin de ce document.

    Pour Testing/SID, je conseil d’utiliser les paquets pour Ubuntu de cette adresse :

  •  http://doc.ubuntu-fr.org/serveur/freenx

    Il faut donc ajouter la ligne suivante au fichier « /etc/apt/sources.list  » :

    deb http://mirror2.ubuntulinux.nl/ dapper-seveas all

    Installer la clé gpg :

    # gpg --keyserver subkeys.pgp.net --recv-keys 1135D466
    # gpg --export --armor 1135D466 | apt-key add -

    Mettre à jour la liste des paquets

    # aptitude update

    Et installer le nouveau paquet contenant le serveur « FreeNX » :

    # aptitude install freenx

    Remarque : L’installation de ce paquet, entraîne l’installation des dépendances suivantes :

  •  libxcomp1 libxcompext1 nxagent nxlibs

    Gestion des clés

    Pour des raisons de sécurité, le serveur FreeNX utilise des clés privés. Pour éviter de devoir installer une clé sur chaque client, il est possible d’utiliser la clé par défaut fournie avec le client NoMachine ou d’utiliser une clé personnelle. La deuxième méthode étant un peu plus contraignante, mais plus sécurisée.

    La commandes suivante permet de créer les clés privées :

    # nxsetup

    Cette commande crée le dossier « /etc/nxserver/ » contenant les fichiers suivant :

  •  passwords passwords.orig users.id_dsa users.id_dsa.pub

    Elle crée également le dossier « /home/.nx/.ssh/ » contenant les fichiers suivant :

  •  authorized_keys2 client.id_dsa.key known_hosts server.id_dsa.pub.key

    Lors de l’installation des clients, il faudra importer le fichier « /home/.nx/.ssh/client.id_dsa.key »

    Si vous voulez utiliser la clé fournie par défaut avec le client NoMachine est donc éviter une gestion des clés pour chaque client, il faut exécuter la commande suivante :

    # nxsetup --setup-nomachine-key

    Et supprimer le fichier suivant :

    # rm /home/.nx/.ssh/authorized_keys2

    Arrêt démarrage du serveur FreeNX

    En fait, il n’existe pas réellement de serveur FreeNX, étant donné que tout passe par le serveur SSH. Cependant, il est possible d’activer ou de désactiver l’accès via FreeNX.

    La commande suivante, permet de connaître l’état du serveur FreeNX :

    # nxserver --status
    shell-init: error retrieving current directory: getcwd: cannot access parent
    directories: Aucun fichier ou répertoire de ce type
    NX> 100 NXSERVER - Version 1.4.0-02 OS_(GPL)
    NX> 110 NX Server is running
    NX> 999 Bye

    La commande suivante permet d’arrêter le serveur FreeNX

    # nxserver --stop

    La commande suivante permet de démarrer le serveur FreeNX

    # nxserver --start

    Installation d’un client sous Windows

    Le client Windows est normalement téléchargeable sur le site de NoMachine à cette adresse :

  •  http://www.nomachine.com/download.php

    Mais la version actuelle (2.10) n’est pas compatible avec la version 0.4.4 du serveur FreeNX.

    Il faut donc utiliser l’ancienne version téléchargement par exemple ici :

  •  http://assistance.dedibox.fr/documentation/doku.php ?id=admin:connect

    Ce programme installe l’assistant de configuration des sessions « NX Connection Wizard »

    Lors de la configuration, il faut renseigner les champs suivants :

  •  Le nom de la session (Libre)
  •  L’adresse IP ou le nom du serveur FreeNX dans le champ « Host »
  •  En fonction du type de connexion, il faut placer le curseur entre MODEM et LAN
  •  Dans le champ « Select Size », je chois « Fullscreen » pour être en pleine écran.
  •  Il faut cocher « Enable SSL encryption of all trafic »
  •  Il est possible de cocher « Show the Advanced configuration dialog » pour avoir d’autres options et en particulier la mémorisation du mot de passe (Remember my password).

    Cet assistant crée un icône sur le bureau permettant de lancer la connexion. Tous les utilisateurs ayant un accès SSH et un environnement graphique de configuré, pourront se connecter au serveur FreeNX.

    Configuration de la clé sur le client

    En fonction de la clé utilisée lors de la configuration du serveur (Celle par défaut de NoMachine ou celle personnalisée), il faut configurer le client en fonction.

    Pour cela, il faut aller dans la configuration du client, dans l’onglet « Général » et cliquer sur le bouton « Key... »

    Si vous voulez utiliser la clé par défaut de NoMachine, il faut cliquer sur « Default », sinon, il faut cliquer sur « Import » et rechercher le fichier « client.id_dsa.key » disponible sur le serveur dans le dossier « /home/.nx/.ssh/ »

    Installation d’un client sous Linux (Debian Testing)

    Comme pour le client Windows, la version 2.1 fourni par NoMachine ne fonctionne pas avec la version 0.4.4 de serveur FreeNX.

    Le plus simple est d’utiliser le client NX disponible sur la source Ubuntu ayant servi à l’installation dus serveur :

    # aptitude install nxclient  

    La commande suivante permet de lancer le client :

    $ /usr/NX/bin/nxclient

    La configuration est exactement la même que sous Windows.

    Remarque : L’installation du client a crée de nouveaux icônes dans le menu « K » de KDE dans la section « Internet / NX Client for Linux »

    Remarques sur le lancement du client

  •  Si votre login Windows comporte des majuscules, il faut tout mettre en minuscule pour que la connexion au serveur FreeNX sous Linux fonctionne.
  •  Sous Windows, Il faut utiliser les touches « Ctrl+Esc » pour basculer entre la fenêtre de nxclient en plein écran et les autres fenêtres du poste.
  •  Sous Linux, Il faut utiliser les touches « Ctrl+Alt+Esc » pour basculer entre la fenêtre de nxclient en plein écran et les autres fenêtres du poste.
  •  Pour repasser sur l’écran d’origine, il est également possible de cliquer dans le coin supérieur droit de l’écran.
  • Problèmes rencontrés

    Le clavier est en qwerty

    Lors de ma première connexion sous KDE, je me suis retrouvé avec un clavier en qwerty. Pour remédier à ce problème, j’ai fait :

  •  K / Centre de configuration de KDE / Régionalisation et accessibilité / Disposition du clavier
  •  Cocher « Activer les disposition du clavier », sélectionner « France » et « Ajouter »

    Impossible de se connecter

    Sur un nouveau serveur, je n’arrivais pas à me connecter. J’avais le message suivant dans les logs du client lors de la connexion :

    NX> 204 Authentication failed.

    Pour remédier à ce problème, j’ai modifié la configuration du serveur SSH en rempalcant la ligne suivante :

    AuthorizedKeysFile      %h/.ssh/authorized_keys2

    Par la ligne suivante :

    AuthorizedKeysFile      %h/.ssh/authorized_keys2

    Et j’ai redémarré le serveur SSH :

    # /etc/init.d/ssh restart

    Une autre solution (plus propre), consiste à re-installer openssh :

    # aptitude purge openssh-server
    # aptitude install openssh-server

    Problèmes suite au passage à Xorg 7.0 (Remarque : Sur une Debian testing récente, ces problèmes n’apparaissent plus avec les paquets du dépôt Ubuntu)

    Suite au passage à Xorg 7.0, plusieurs chemins ont été modifié, et le serveur FreeNX, ne fonctionne plus correctement.

    Impossible de se connecter

    Le début de la connexion semble fonctionner mais au démarrage du serveur X, la connexion se ferme brutalement. Pour faire fonctionner la connexion, il faut ajouter dans le fichier de configuration de FreeNX « /etc/nxserver/node.conf » la ligne suivante à mettre sur une seule ligne et sans espace après les virgules :

    AGENT_EXTRA_OPTIONS_X="-fp
    /usr/share/fonts/X11/misc/,
    /usr/share/fonts/X11/75dpi/:unscaled,
    /usr/share/fonts/X11/100dpi/:unscaled,
    /usr/share/fonts/X11/Type1/,
    /usr/share/fonts/X11/100dpi/,
    /usr/share/fonts/X11/75dpi/"

    Le clavier est en qwerty

    Après de nombreuses recherches, la seule solution que j’ai trouvé est de passer par « xmodmap  » pour reconfigurer complètement le clavier. Le problème, c’est qu’il faut installer le paquet « gnome-applets » et se dernier nécessite l’installation complète de Gnome soit 250Mo, juste pour avoir la bonne définition du clavier !!

    Donc, il faut commercer par installer le paquet « gnome-applets » avec ses dépendances :

    # aptitude install gnome-applets

    Et lancer cette commande :

    # xmodmap /usr/share/xmodmap/xmodmap.fr-2      

    Remarque 1  : Pour éviter d’installer les 250Mo de gnome, il est possible de récupérer seulement le fichier texte « xmodmap.fr-2 » sur un autre poste.

    Remarque 2 : Sous KDE, il est possible de placer un script dans «  /.kde/Autostart » pour lancer cette commande automatiquement au démarrage de la session

    Problème de configuration de fonts

    Sur mes postes sous Windows NT, en lançant un xterm (entre autre), j’avais ce message d’erreur :

    $ xterm

    Warning: Cannot convert string "nil2" to type FontStruct

    Pour régler ce problème, j’ai installé sur mes clients Windows les paquets de fonts complémentaires disponibles sur le site de NoMachine :

  •  http://www.nomachine.com/download-client-windows.php

    Problème de chargement des couleurs

    Suite à une mise à jour de Xorg, le chemin de configuration des «  xterm  » a changé. Auparavant c’était « /usr/X11R6/lib/X11/app-defaults/XTerm » mais désormais, c’est « /usr/lib/X11/app-defaults/Xterm ». Dans mon cas , j’ai du créer manuellement le dossier « app-defaults » et le fichier « XTerm ». De plus, toujours suite à cette mise à jour j’avais un message d’erreur en lançant un «  xterm  » car il ne trouvait plus la table des couleurs :

    $ xterm: Cannot allocate color black

    Pour régler ce problème, j’ai créé un lien symbolique :

    ln -s /etc/X11/rgb.txt /usr/X11R6/lib/rgb.txt

    Après ces modifications, il faut arrêter et redémarrer le serveur Freenx :

    # nxserver --stop
    # nxserver --start

    et se déconnecter et se reconnecter de KDE

    Autres liens

    La documentation pour Ubuntu fonctionnant très bien sur Debian Testing / SID

  •  http://doc.ubuntu-fr.org/serveur/freenx

    La documentation pour Debian fonctionnant pour Sarge :

  •  http://wiki.debian.org/freenx

    Le site de FreeNX :

  •  http://freenx.berlios.de/download.php

    Le site de NoMachine :

  •  http://www.nomachine.com/

    Historique des modifications

    Version Date Commentaire
    0.1 28/07/05 Création par Tony GALMICHE
    0.5 06/04/06 Mise à jour suite à nouvelle installation
    0.6 29/06/06 Mise à jour suite aux problèmes rencontrés avec Xorg 7.0
    0.7 29/09/06 Nouvelle source pour le serveur FreeNX, fonctionnant correctement avec Xorg 7.0
    0.91 17/01/07 Mise à jour suite à nouvelle installation
  • Commentaires

    Installation de FreeNX sur Debian Testing et du client NoMachine

    bonjour,

    il semblerait que la version nxclient-1.5.0-138.exe du client d’accès au serveur FreeNX 0.7.1 ne fonctionne pas sur VISTA.

    Une fois installé sous Vista, je lance le programme entre le login, le mdp, l’ip et je me log. FreeNX indique connexion failed et ne permet pas de voir de détail de l’erreur en plus.
    Sous XP, via la même procédure, ça fonctionne très bien.

    Mon serveur FreeNX 0.7.1 est la version opensource (sans connexion limitée donc), installée sur une debian etch .

    ma question est donc la suivante : quel est le problème avec Vista ?

    Bien-entendu, avec la version FREE du serveur de NoMachine (pas opensource, connexion LIMITée) et le client à jour (version 3.xx@2008 au lieu de 1.5xx@2005) ça fonctionne très bien sous Vista....

    Grrrr...que faire donc pour fonctionner cette version opensource sous Vista ?

    merci de votre aide.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Jusqu’a ce que je passe en ubuntu 7.10 sur le poste serveur de nx, tout ce passait bien. En passant en 7.10 la connection ce cassait au moment de l’ouverture du displayn je suppose donc, à la lecture de ce bon toturial, que mon problème vient du du pasage à Xorg 7.0 pour ubuntu 7.10.

    Sinon si j’ai bien compris le problème de CaptN a propos de l’importation de la clé, je propose la méthode suivante.

    Cas du poste client sous linux
    S’il veux monter une "liaison NX" c’est qu’il a un acces SSH sur le client et sur le serveur donc dans ce cas pourquoi ne pas faire un scp de la cle du server vers le client.

    Cas du poste client sous Win
    Faire la meme chose en passant par un utilitaire style winscp ou alors avec un csp sous cygwin.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    C’est vrai, mais maintenant je ne sais plus ce que j’ai mis :-( car j’ai ré-installé ssh

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Bonjour,
    Il n’y a pas de difference entre les deux lignes de votre configuration (les clefs ssh)

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Je viens également de rencontrer ce problème et j’ai ajouté la solution dans cette nouvelle version.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    A noter que NoMachine a mis à disposition sur son site les binaires de NXserver 2.0 gratuitement dans les formats RPM, DEB, et TAR pour Linux (i386 et AMD64) et pour Solaris (SPARC 8/9/10).

    Il est nécessaire d’installer NXClient et NXNode pour les dépendances.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    bonsoir a tous et merci pour le tuto
    je n’arrive pas a me connecter malgré que j’ai fait comme dit le tuto
    voici le log de nx client
    NX> 203 NXSSH running with pid : 3264
    NX> 285 Enabling check on switch command
    NX> 285 Enabling skip of SSH config files
    NX> 200 Connected to address : (ip de mon serveur) on port : 22
    NX> 202 Authenticating user : nx
    NX> 208 Using auth method : publickey
    NX> 204 Authentication failed.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Bonjours a tous ...

    j’ai tester FreeNX et sa marche superb bien... mais y a un tout petit truck qui me gène ....
    l’histoire de l’importation de la clé sa me semble pö tres sécuriser d’autent plus qu’on a pas les droits pour l’importer....

    y a un moyen de générer un certificat pour que sa face plus ’propre’ ?

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Voici le log de ma connection FreeNx depuis mon PC windows ver Debian Linux. Apparemetn l’Authentification se fait bien mais c est un droit utilisateur nx au lancement de la session SSH VNC qui pose problème. qq’un a une idée ?
    Merci
    Hervé

    log :
    NX> 203 NXSSH running with pid : 4676

    NX> 285 Enabling check on switch command

    NX> 285 Enabling skip of SSH config files

    NX> 200 Connected to address : 192.168.0.10 on port : 22

    NX> 202 Authenticating user : nx

    NX> 208 Using auth method : publickey
    HELLO NXSERVER - Version 1.4.0-45-SVN OS (GPL)

    NX> 105 hello NXCLIENT - Version 1.5.0

    NX> 134 Accepted protocol : 1.5.0

    NX> 105 SET SHELL_MODE SHELL

    NX> 105 SET AUTH_MODE PASSWORD

    NX> 105 login

    NX> 101 User : nx

    NX> 102 Password :

    NX> 103 Welcome to : solar user : nx

    NX> 105 listsession —user="nx" —status="suspended,running" —geometry="1024x768x32+render" —type="unix-kde"
    NX> 127 Sessions list of user ’nx’ for reconnect :

    Display Type Session ID Options Depth Screen Status Session Name

    ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------

    NX> 148 Server capacity : not reached for user : nx

    NX> 105 startsession —session="192.168.0.10 SSH VNC" —type="unix-kde" —cache="8M" —images="32M" —cookie="******" —link="lan" —kbtype="pc102/fr" —nodelay="1" —backingstore="never" —geometry="fullscreen" —media="0" —agent_server="" —agent_user="" agent_password="******"" —screeninfo="1024x738x32+render"

    Permission denied (publickey,password).
    Killed by signal 15.

    Installation de FreeNX sur Debian Testing et du client NoMachine

    Bonsoir, il faut peut-être arréter le serveur avant :

    # nxserver --stop
    # nxsetup

    Autrement si le paquet utilisé n’est pas le même, il faut peut-être regarder ce que dit la doc de celui-ci.

    Bonne chance.