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. L'export d'affichage peut se réaliser de différentes manières. L'export d'affichage par SSH est une de ces méthodes, cependant il en existe d'autres.
Pourquoi utiliser SSH ?
Pour réaliser de l'export display, 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 sûre. 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'export display 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'export display dans la configuration du serveur SSH. Enfin, votre client SSH doit supporter l'export display (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 l'export display 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 apparaître 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 export display 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'export display 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'export display. 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.