Le serveur X, c’est le serveur graphique traditionnel sous UNIX/Linux.
Il permet nativement la « transparence réseau », c’est à dire qu’une fenêtre (graphique) peut être indifféremment affichée localement sur l’écran ou affichée via le réseau sur une autre machine. C’est le protocole X qui permet ça, du nom du serveur.
Par défaut, et suite à de nombreux problèmes de sécurités, cette facilité avait été désactivée sur l’ensemble des distributions Linux.
Pour les habitués du monde Microsoft, c’est difficile à comprendre, il n’y a pas d’équivalent, sauf à émuler un serveur X justement…
Ce n’est pas la totalité de l’écran que l’on déporte (MSTS/TerminalServer/RDP, VNC, PCanywhere, etc…) mais juste un déport fenêtre par fenêtre avec l’habillage du serveur X qui affiche la fenêtre (local ou distant donc).
On peut donc tout à fait faire afficher la fenêtre d’un programme à interface graphique sur un serveur qui ne dispose pas de serveur X lancé, voire qui ne dispose pas de carte graphique du tout. On déporte l’affichage de ce programme vers une station qui a un serveur X lancé et celui-ci s’affiche comme si il semblait tourner sur cette station. Mais il tourne bien sur le serveur, le programme :-)
Et ça marche quelque soit la distribution Linux ou même quelque soit l’UNIX derrière. Je l’ai testé à une époque entre Solaris et Linux, et entre SCO/Unix et Linux. La manipe ci-dessous marche notamment sous Debian.
Comment ré-activer cette fonction bien pratique sous Ubuntu avec KDE?
Lorsque l’on utilise KDE, il y a de fortes chances que l’on utilise aussi KDM, je gestionnaire de connexion.
Modifier dans le fichier /etc/kde4/kdm/kdmrc la ligne :
ServerArgsLocal=-nr -nolisten tcp
en retirant l’option -nolisten tcp .
Et redémarrer le serveur X, en gros on redémarre la machine c’est plus facile…
Après redémarrage, on peut vérifier que le port TCP/6000 est bien ouvert :
netstat -aln46 | grep 6000 tcp       0     0 0.0.0.0:6000           0.0.0.0:*              LISTEN tcp6      0     0 :::6000                :::*                   LISTEN
C’est gagné, plus qu’à l’utiliser :-D
Prochaine leçon…