Configuration de X.org :
A partir de la ligne de commande, pour lancer une fenêtre de login graphique (et choisir entre les différentes interfaces, kde, icewm, etc): gdm kdm mdkkdm … (en cas de “command not found”, penser à installer ces utilitaires !)
L'interface de kdm est la plus fonctionnelle. Si elle n'est pas installée par défaut, installer kdebase-kdm, puis mcc > System > Choose the display manager
cf répertoires /etc/X11/xdm/
# mcc System > Choose the display manager ….
K > System > Configuration > Configure your Desktop > System > Login Manager NB : K > System > Configuration > Configure your Desktop, c'est le “KDE Control Center”
Avant MDV 2008.0, le fichier de configuration de gdm est : /etc/X11/gdm/gdm.conf ou /etc/X11/gdm/custom.conf suivant les versions A partir de MDV 2008.0, ça se complique :
Par contre ce fichier est vide de toute configuration : il ne contient que la documentation sur gdm.conf !!! Il y a aussi un fichier /etc/X11/gdm/gdm.conf pratiquement vide
⇒
cp /etc/X11/gdm/custom.conf /etc/X11/gdm/custom.conf.original cp -f /usr/share/gdm/defaults.conf /etc/X11/gdm/custom.conf vi /etc/X11/gdm/custom.conf
Pour changer (supprimer) ces automatismes : # mcc Boot > Enable autologin and select the user to automatically log in Dans la fenêtre qui s'ouvre cocher/décocher les comportements désirés
Dans /etc/inittab, changer : id:3:initdefault: en id:5:initdefault: (sur Mandrake en effet : 3 - Full multiuser mode 5 - X11)
Editer /etc/X11/xdm/Xservers Mettre en commentaire (#) la ligne : :0 local /bin/nice -n -10 /usr/X11R6/bin/X -deferglyphs 16
Depuis la session X de départ (display 0) : <Alt Ctrl Fn> (Fn est une des touches de fonction F1 à F6 pour accéder à la console texte à utiliser)
startx – :n
(où n est un n° de console graphique virtuelle (0 est déjà pris Attention, espace indispensable entre – et :n)Pour passer d'une console à une autre :
cf. http://www.mandrakeuser.org/docs/xwin/xnet.html
Démarrer une interface graphique particulière :
startx /etc/X11/xdm/Xsession KDE -- :n startx /etc/X11/xdm/Xsession Gnome -- :n startx /etc/X11/xdm/Xsession IceWM -- :n startx /etc/X11/xdm/Xsession WindowMaker -- :n startx /etc/X11/xdm/Xsession Enlightenment -- :n startx /etc/X11/xdm/Xsession BlackBox -- :n startx /etc/X11/xdm/Xsession Sawfish -- :n startx /etc/X11/xdm/Xsession XFce -- :n
# init 3 ⇒ texte # init 5 ⇒ graphique
Au boot avec Grub : “e” pour éditer la ligne de commande Pour booter en init 3, il suffit donc d'ajouter un “3” à la liste des options sur la ligne qui appelle le noyau (kernel=….. 3 ), de valider les modifs (Entrée) et d'appuyer sur “b” pour poursuivre le boot. Cette manip n'affecte que le boot présent et donc au prochain passage par grub, tout se passe par défaut (init 5)
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html http://www.cpqlinux.com/redirect.html
3 descripteurs de fichier : stdin, stdout, stderr avec comme numéros stdout : 1 stderr : 2
Localisation : /etc/X11/XF86Config-4 (ou /etc/X11/XF86Config)
Section “InputDevice”
Option "XkbLayout" "fr"
Clavier us :
Option "XkbLayout" "us"
http://www.tldp.org/HOWTO/XDMCP-HOWTO/
3 possibilités:
Soit S le serveur (machine sur laquelle on veut se connecter) et T le terminal :
x:5:respawn:/usr/X11R6/bin/X -query nom_ou_IP_du_serveur_S
/etc/systemd/system
qui contient une ligne ExecStart=/usr/bin/X -query <IP>
Si on n'obtient pas la mire de login (l'écran reste bleu) c'est sans doute que le port 177 est resté fermé. Vérifier avec nmap à partir de T :
[T]# nmap -s U -p 177 le_serveur PORT STATE SERVICE 177/udp closed xdmcp
[Xdmcp] Enable=true
Puis relancer le Display Manager : # service dm restart
On doit alors avoir à partir de T :
# nmap -s U -p 177 le-serveur PORT STATE SERVICE 177/udp open|filtered xdmcp
- Sur le serveur, installer freenx (qui dépend de plusieurs autres programmes et les installe aussi). L'installation crée l'utilisateur système “nx” A la fin le message /usr/share/doc/freenx/README.urpmi s'affiche :
Pas de man, mais : # --help nombreuses commandes pour l'administration : intéressant, à lire absolument !
Info sur le paquetage dans /usr/share/doc/freenx-0.0.4.4/README.urpmi.
NB : pour connaître les dépendances de freenx : $ rpm -q –requires freenx
- Ajouter les utilisateurs qui pourront se connecter à ce serveur (utile ?) :
# nxserver --adduser utilisateur # nxserver --passwd utilisateur et entrer le mot de passe de l'utilisateur
- Démarrer (redémarrer) le serveur :
# nxserver --restart
/etc/nxserver/ /etc/nxserver/node.conf (configuration du serveur)
- Télécharger et installer le rpm disponible sur http://www.nomachine.com (NX client for Linux, free) - Copier la clé privée /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key qui est sur le serveur, dans un répertoire quelconque du client (répertoire /usr/NX/share/ ou répertoire /usr/NX/share/keys qui ont été créés lors de l'installation du client par exemple) avec un nom quelconque (du genre “NomDuServeur_client.id_dsa.key” par exemple) . S'il existe déjà une clé avec ce nom, l'écraser. - Démarrer le client nx nomachine :
$ nxclient (ou nxclient --wizard) et répondre aux questions pour se connecter. En particulier, dans l'onglet "General", cliquer sur le bouton "Key..." et importer la clé que l'on vient de copier. Autre solution (aussi simple, sinon plus) : - se logger par ssh en root sur le serveur - afficher la clé : cat /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key - la copier/coller dans la fenêtre "DSA Key" et sauvegarder (bouton [Save])
Explication (http://www.marco-plaut.fr/article.php3?id_article=2) : Le client se connecte d'abord au serveur en tant qu'utilisateur “nx” avec cette clé (/usr/NX/share/client.id_dsa.key ou le nom qu'on lui a donné, dans le cas de freenx : /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key). Puis l'utilisateur s'identifie ensuite sur le serveur avec le nom d'utilisateur et le mot de passe déclaré au niveau du serveur.
On peut créer sur le client plusieurs fichiers de configuration pour se connecter à différents serveurs et avoir autant d'icônes correspondantes sur le bureau. Les fichiers de configuration sont dans : ~/.nx/config/<NomDuServeur>.nxs
Installation des versions 2 du client et du serveur
Nettoyage de versions précédentes (après les avoir désinstallées) # rm -rf /usr/NX $ rm -rf ~/.nx (pour supprimer les configurations utilisateur)
Coté serveur ++++++++++++ Télécharger (les rpm) : - nxclient - nxnode - nxserver et les installer dans cet ordre.
Nb : il est préférable d'installer freenx à la place de nxserver. 1 - contrairement à nxserver, freenx n'est pas limité à 2 connexions 2 - nxserver ne fonctionne pas sous MDV 2007 ( freenx-0.5.0-3.rev281.1mdv2007.0 fonctionne parfaitement avec les versions actuelles nxclient-2.1.0-9.i386.rpm nxnode-2.1.0-12.i386.rpm voir plus loin.
Vérifier que ces installation se sont bien passées : $ less /usr/NX/var/log/install Consulter http://www.nomachine.com/documentation/admin-guide.php
Messages à l'installation de nxnode : NX> 700 Install log is '/usr/NX/var/log/install'. NX> 700 Creating configuration in /usr/NX/etc/node.cfg. NX> 700 Inspecting local CUPS environment. NX> 700 Generating CUPS entries in: /usr/NX/etc/node.cfg. NX> 700 Installation of version: 2.0.0-100 completed.
Messages à l'installation de nxserver : NX> 700 Install log is: /usr/NX/var/log/install. NX> 700 Creating configuration file: /usr/NX/etc/server.cfg. NX> 723 Cannot start NX statistics: NX> 709 NX statistics are disabled for this server. NX> 700 Showing file '/usr/NX/share/documents/server/install-notices': ⇒ voir la notice d'installation dans /usr/NX/share/documents/server/install-notices
Démarrage/arrêt : # /etc/rc.d/init.d/nxserver start|stop|restart (status absent) ou : # nxserver –start|–stop|–restart|–status (voir toutes les possibilités avec nxserver –help) ou : # service nxserver start|stop|restart|status
nxserver/freenx et MDV 2007 ++++++++++++++++++++++++++ Impossible de se connecter sur une MDV 2007 sur laquelle est installé nxserver-2.1.0-13.i386.rpm. Message d'erreur : Info: Established X server connection. Info: Using shared memory parameters 1/2048K. Error: Connection with remote peer broken. Error: Please check the state of your network and retry. Session: Session terminated at 'Tue Nov 28 09:35:19 2006'.
Solution : installer freenx.
Coté client +++++++++++ Installer nxclient version 2 Lancer nxclient
- Dans l'onglet “General” Cliquer sur <Configure> Cocher “Remember my password” Cliquer sur <Key> Dans le fenêtre que s'ouvre (DSA key) effacer la clé qui s'y trouve et la remplacer par la clé privée qui se trouve sur le serveur dans le fichier /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key (cf. le messageg qui termine l'installation de freenx : Your user must install the key located at: “/var/lib/nxserver/nxhome/.ssh/client.id_dsa.key to log in.”)
- Dans l'onglet “Advanced” Cocher “Enable SSl encryption of all traffic”.
Pour ajouter un utilisateur à la base de données NX : # /usr/NX/bin/nxserver –useradd <utilisateur> La commande : # /usr/NX/bin/nxserver –usercheck <utilisateur> donne exactement le même résultat !
Remarque : toutes les installations de nx ont la même clé privée (/usr/NX/share/keys/server.id_dsa.key) : ne semble pas très sûr ! Changer les clés.
Ajouter une autre session
$ nxclient ou $ nxclient –wizard –wizard a l'avantage de proposer de créer une icône sur le bureau.
Modifier une configuration
Une fois la session créée le bouton [Configure] n'est plus accessible lorsqu'on clique sur l'icône. Pour y accéder, lancer nxclient.
Debugging
cf. http://www.nomachine.com/documentation/supp-request.php Fichier /etc/nxserver/node.conf : changer les valeurs par défaut des variables suivantes, et mettre : SESSION_LOG_CLEAN=0 SESSION_LOG_LEVEL=7 Voir les logs dans - /var/log/nxserver.log (vérifier que le “user” nx a le droit d'y écrire) modifier la “verbosité” dans NX_LOG_LEVEL= - grep NX /var/log/messages - ~/.nx/temp/<un numéro>
Problèmes - bugs :
Après installation de nxserver, dans /usr/NX/var/log/install +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NX> 200 Connected to address: 127.0.0.1 on port: 22 NX> 202 Authenticating user: nx NX> 208 Using auth method: publickey NX> 204 Authentication failed..
⇒ éditer /etc/ssh/sshd_config S'il y a un ligne “AllowUsers”, vérifier que nx y soit déclaré : AllowUsers toto bibi nx
NB : nx@127.0.0.1 est suffisant pour l'installation, mais bloque la connexion (message “Server not installed or NX access disabled”, voir plus loin.
NX> 202 Authenticating user: nx NX> 208 Using auth method: publickey NX> 204 Authentication failed. +++++++++++++++++++++++++++++ Solutions possibles : - Vérifier que l'utilisateur nx existe sur le serveur (userdrake) - Vérifier sur le serveur que nxserver tourne (# nxserver –status). - Sur le client (nxclient de nomachine) vérifier que la clé publique est la bonne : ⇒ lancer nxclient Configure > General dans l'encadré “Server” : Key > Import charger la bonne clé et la sauvegarder dans la configuration
Session 'serveur' failed due to connection timeout ++++++++++++++++++++++++++++++++++++++++++++++++++ Configure > Advanced > cocher “Enable SSL encryption of all traffic”
Pas de connexion possible sur nxserver sous MDV 2005 et message d'erreur : ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $ nxproxy nxproxy: symbol lookup error: nxproxy: undefined symbol: NXTransParseCommandLine (ou autre symbole non défini) Est obtenu sous MDV2005 alors que nxserver fonctionne sans problème sous MDV 2006.0 Cause probable : une erreur dans le rpm freenx. Alors que le paquet semble le même dans MDV 2005 et 2006 (freenx-0.4.4-1mdk) les dependances installées sont différentes : MDV2005 MDV2006 nxproxy-1.5.0-2mdk nxproxy-1.5.0-3mdk nxpagent-1.5.0-2mdk nxproxy-1.5.0-3mdk
Server not installed or NX access disabled ++++++++++++++++++++++++++++++++++++++++++ Soit (par exemple) 241.89.78.13 l'adresse IP du client, sur le serveur dans “/var/log/messages” : sshd[32108]: User nx from 241.89.78.13 not allowed because not listed in AllowUsers sshd[32108]: Failed none for invalid user nx from 241.89.78.13 port 41170 ssh2
Solution : Sur le serveur, éditer le fichier /etc/ssh/sshd_config - à AllowUsers, rajouter nx (AllowUsers toto nx) - décommenter “#PubkeyAuthentication yes” (il semble qu'en fait la valeur par défaut soit “no”)
Server not installed or NX access disabled ++++++++++++++++++++++++++++++++++++++++++ dans “/var/log/messages” : sshd[2774]: reverse mapping checking getaddrinfo … failed - POSSIBLE BREAK-IN ATTEMPT!
Le client qui veut accéder au serveur nx n'est pas déclaré dans un DNS.
Error: nxagent failed to start with: Unrecognized option: 1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NXCLIENT - Version 2.0.0-98 donne cette erreur avec freenx (NXSERVER - Version 1.4.0-44) Une solution peut-être ici : http://mail.kde.org/pipermail/freenx-knx/2006-September/004074.html Autres solutions : - réinstaller nxclient-1.5.0-113.i386.rpm - utiliser les versions “free” nxserver, nxnode et nxclient disponibles sur le site http://www.nomachine.com/download-package.php?Prod_Id=34
- freenx : +++++++++++ Tcl_Init failed: Can't find a usable init.tcl in the following directories:
/usr/lib/tcl8.4 /usr/lib/tcl8.4 /lib/tcl8.4 /usr/library /library /tcl8.4.13
/library /usr/lib/tcl8.4
⇒ urpmi tcl et réinstaller freenx.
Mais ne semble pas fonctionner avec les versions 2 de NX : à éviter Utiliser plutôt “NX free editon for Linux” sur le site NX Nomachine.