# Export d'affichage par SSH

L'export d'affichage (export display en anglais) est une technique qui permet d'exécuter à distance des applications graphiques. Elle permet donc d'exécuter quasiment n'importe quelle application sur un serveur distant. Tous les calculs et toutes les modifications sont effectués sur le serveur distant. Seul l'affichage est renvoyé vers le poste client.
Si un utilisateur a l'habitude d'utiliser des terminaux distants via SSH ou Telnet, l'export d'affichage lui permet de réaliser la même chose mais avec des applications graphiques, et pas seulement des terminaux texte. Il existe différentes méthodes pour réaliser une exportation d'affichage. L'export d'affichage par SSH en est une des méthodes, mais il en existe d'autres.

## Pourquoi utiliser SSH ?

Pour réaliser une exportation d'affichage, il faut un canal de données entre le serveur (la machine qui exécute réellement l'application) et le client. Il existe différentes manières d'établir un canal de données. La plus simple étant une connexion directe entre les deux postes. Le problème de cette méthode est qu'elle est peu sure. Ainsi une personne pourrait intercepter les communications entre les 2 machines et voir tout ce que vous écrivez, lisez... Ceci pose de très graves problèmes de sécurité, même si vous ne manipulez pas de données particulièrement sensibles car l'attaquant pourra par exemple lire vos mots de passe...
Pour éviter cela, on utilise SSH pour établir un canal de données sécurisé entre le client et le serveur. Comme SSH utilise une méthode d'authentification sécurisée et un canal de données chiffré, il est impossible à une tierce personne d'intercepter les données qui transitent au travers de ce canal. Vous avez donc la certitude que personne ne peut voir ce que vous faites sur la machine distante.

## Utilisation

Pour pouvoir utiliser l'exportation d'affichage, par SSH, plusieurs conditions doivent être vérifiées. Tout d'abord, vous devez disposer d'une connexion SSH entre les deux machines. Le serveur doit avoir activé l'exportation d'affichage dans la configuration du serveur SSH. Enfin, votre client SSH doit supporter l'exportation d'affichage (c'est le cas du client SSH par défaut de la majorité des distributions Linux).
Si toutes ces conditions sont vérifiées, alors vous pouvez utiliser exportation d'affichage par SSH. Pour cela, connectez-vous par SSH à la machine distante. Il ne vous reste plus qu'à exécuter une application graphique. Par exemple, tapez "kate" (si vous utilisez KDE) pour lancer l'éditeur texte Kate. Vous devriez voir apparaitre la fenêtre de l'éditeur sur votre machine. L'éditeur s'exécute en fait sur la machine à laquelle vous êtes connecté. Par conséquent, si vous sauvegardez un fichier, celui-ci sera enregistré sur la machine distante, et non pas sur votre machine. De plus, les calculs sont effectués par la machine distante, pas par la vôtre. Donc votre charge processeur devrait rester très faible, même si vous exécutez des applications lourdes. De même, exécuter une application par exportation d'affichage ne consomme quasiment pas de mémoire sur votre machine.

## Performances

Les performances de l'application seront déterminées par les performances de la machine qui l'exécute, c'est-à-dire la machine distante. Si votre serveur est rapide et que votre machine est lente, l'application s'exécutera rapidement. Vous devez disposer d'un canal de communication suffisamment rapide. Comme l'exportation d'affichage travail en mode graphique, votre connexion sera utilisée pour transmettre les images, les fenêtres, etc. Vous devez donc disposer d'une connexion d'au moins 512 kbit/s pour espérer travailler correctement.
De plus, comme la connexion SSH est chiffrée et parfois compressée, il existe un certain délai lors de la transmission de l'image. Ceci est imperceptible pour les applications bureautiques par exemple. Cela posera problème si vous exécutez un jeu ou une application affichant des vidéos... N'espérez alors pas obtenir beaucoup plus de 20 images par seconde.

## Intérêt

Si vous devez exécuter plusieurs applications très lourdes et gourmandes en ressources (mémoire et processeur), vous pouvez utiliser l'exportation d'affichage. Pour cela, il vous faut disposer d'au moins 2 machines, voire plus. Ainsi, vous pouvez exécuter chaque application sur une machine différente, tout en les ayant toutes à l'écran sur votre poste. Chaque application aura une très grande vitesse d'exécution car elle sera sur une machine différente. Vous pouvez ainsi travailler avec de multiples applications, sans en ressentir les effets.