Chapitre 2. Faire de l'export display

Table des matières
1. Qu'est-ce que l'export display ?
2. Se connecter à un Unix/Linux à distance...
2.1. depuis une machine Unix/Linux
2.2. depuis une machine Windows
3. Se connecter à un Windows à distance depuis un Linux

1. Qu'est-ce que l'export display ?

L'export display consiste à se logguer à distance en mode graphique, comme on le fait avec un client et un serveur SSH en mode texte. On peut alors exécuter des applications graphiques sur le serveur distant : la fenêtre graphique de l'application et son contenu seront envoyés par le réseau vers la machine cliente ; les données du clavier et de la souris de la machine cliente sont envoyées vers le serveur.

L'export display nécessite une bonne connexion réseau entre le client et le serveur puisque le serveur envoie des images de l'écran au client...

Figure 2-1. Le principe de l'export display

2. Se connecter à un Unix/Linux à distance...

2.1. depuis une machine Unix/Linux

Il y a trois possibilitées de connexion, sachant que seule la première est entièrement cryptée.

2.1.1. Export display par SSH

SSH possède une fonction d'export display. Il faut que le serveur SSH distant ait autorisé la fonction d'export display, comme expliqué au chapitre L'accès à distance par SSH. Pour l'utiliser, tapez dans un xterm :


% ssh -X login@serveur.exemple.org

puis lancez l'application graphique de votre choix...

2.1.2. Export display classique

Le serveur graphique possède une fonction d'export display, mais qui n'est pas cryptée comme avec SSH. Il faut d'abord autoriser les connexions en provenance du serveur X, puis demander au serveur X distant de renvoyer le display vers le serveur X de la machine cliente :


% xhost + serveur.exemple.org
% ssh login@serveur.exemple.org
% export DISPLAY=client.exemple.org:0.0

Note

Pour que cela marche, il faut que le serveur X de la machine cliente ne soit pas lançé avec l'option -nolisten tcp, ce qui est le cas par défaut !

Si vous utilisez la commande startx, enlevez cette option du fichier /etc/X11/xinit/xserverrc :


#!/bin/sh
exec /usr/bin/X11/X -dpi 100

et redémarrez le serveur X.

Si vous utilisez GDM, enlevez cette option du paramètre command= de la section server-Standard du fichier /etc/gdm/gdm.conf :


[server-Standard]
name=Standard server
command=/usr/bin/X11/X -deferglyphs 16

et redémarrez GDM.

2.1.3. Export display avec XDMCP

Le protocole XDMCP permet de se logguer au serveur graphique d'une machine distante, et de faire exactement comme si on était loggué sous X en local sur la machine.

Avertissement

Ce protocole fait tout transiter en clair sur le réseau, y compris les mots de passe !

Pour cela, installez GDM sur le serveur, comme expliqué au chapitre Se logguer en graphique. Toujours sur le serveur, éditez le fichier /etc/gdm/gdm.conf et modifiez la section xdmcp :


[xdmcp]
Enable=true

Redémarrez GDM :


# /etc/init.d/gdm restart

Stopping GNOME Display Manager: gdm.
Starting GNOME Display Manager: gdm.

Sur le client, vous pouvez alors vous logguer au serveur graphique distant. En console, tapez :


% X -query serveur.exemple.org

et vous devriez voir la fenêtre GDM du serveur :

Figure 2-2. Export display par XDMCP

Si vous avez déjà un serveur graphique de lançé sur le client et que vous ne pouvez pas le fermer, vous pouvez lancer un deuxième serveur graphique depuis une console :


% X :1 -query serveur.exemple.org

Le deuxième serveur X est alors présent sur la console n°13 ; pour y accéder depuis une autre console, vous pouvez vous mettre sur la console n°1 et faire Alt-Flèche Gauche.

2.2. depuis une machine Windows

Il suffit d'installer sur la machine Windows un programme qui sait se connecter à un serveur X, comme Cygwin par exemple. Cygwin est un environnement Unix libre pour Windows.

Son installation et son utilisation, notamment pour faire de l'export display de Linux vers Windows, sont expliquées dans l'annexe Outils Windows pour Linuxiens.

3. Se connecter à un Windows à distance depuis un Linux

Il y a plusieurs possibilités ([TODO : quels sont les niveaux de sécurité de chaque possibilité ?] :