Sur *nix l'affichage graphique est conçu de la même façon que les autres services: selon une architecture client/serveur. Au démarrage, le système exécute le serveur X en tache de fond. Lorsque une application graphique est exécutée, elle utilise par défaut le serveur X local, mais ce comportement peut être modifié. C'est particulièrement utile dans un environnement serveur où l'administrateur est rarement directement derrière le serveur mais opère dans la majorité des cas à distance.
L' environnement graphique est désactivé la plupart du temps sur les serveurs principalement pour des raisons de:
Il est possible d’exécuter une application graphique mais de déporter son affichage sur un serveur X distant: une machine quelconque du réseau.
Certains paramétrages ne doivent être appliquées que sur des réseaux privés de confiance (LAN derrière pare-feu) car ils exposent les machines à des risques de sécurité.
Le tunneling SSH est la façon la plus sécurisée de déporter l'affichage d'une application graphique. Cette solution est cependant limité a des application graphique (limite des buffers et traitements de chiffrement).
# vérifier que le client ssh supporte le X11 Forwarding $ cat /etc/ssh/ssh_config | grep X11Forwarding # Ouvrir un shell sur le serveur distant avec redirection de l'affichage $ ssh -X user@server # La commande xclock s’exécute sur le serveur distant mais son affichage # est redirigé sur le poste client user@server$ xclock &