Table des matières

Export Display


Services Réseaux

La machine cliente: machine qui va demander l'interface graphique
La machine serveur: machine qui va exporter l'interface graphique

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…

Le principe de l'export display

Se connecter à un Unix/Linux à distance... depuis une machine Unix/Linux

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

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. 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

Pour que cela marche, il faut que le serveur X de la machine cliente ( la machine qui va demander le X ) ne soit pas lancé 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 :

nano /etc/X11/xinit/xserverrc
#!/bin/sh
#exec /usr/bin/X -nolisten tcp "$@"
exec /usr/bin/X11/X -dpi 100

et redémarrez le serveur X.

/etc/init.d/lightdm restart  (en cas d'utilisation de lightdm)
/etc/init.d/gdm restart  (en cas d'utilisation de gdm)


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.


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 :

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.

Erreurs

X :1 -query 192.168.1.2
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
nano /etc/X11/Xwrapper.config
allowed_users = anybody



Services Réseaux