Mon réseau

Mon réseau d’entreprise

8.3 Le serveur graphique X

Précédent   Suivant

Pour afficher une application graphique sur une station Linux, il y a principalement deux méthodes :

X-Window

est la combinaison d’un protocole réseau et d’une solution graphique ;

le framebuffer

est une solution très locale et qui dépend du matériel physique.

X-Window est donc la solution majoritairement présente sur les stations de travail GNU-Linux. Il offre une solution d’affichage graphique indépendante du matériel. Il est composé de deux logiciels : le serveur et le client.

Un serveur X dépend du matériel présent sur l’ordinateur. Les cartes graphiques offrent des modes de fonctionnement dégradé pour assurer une compatibilité avec les anciens logiciels. Un serveur X peut donc fournir un affichage dégradée si les pilotes sont absents ou défaillants. Il existe deux types de modules : les modules libres et les modules privatifs.

Les modules privatifs sont simple à gérer. Les mises à jour s’effectuent sans problèmes. Les versions privatives sont parfois gratuites. Il faut suivre une procédure spécifique pour ce matériel. L’expérience montre que cette procédure évolue relativement souvent. Lors des mises à jour du système, il faut parfois tout déinstaller avant de tout réinstaller les applications privatives. De plus, les mises à jour des pilotes pour un matériel passé est parfois très aléatoire.

(image) Installer des logiciels privatifs affaibli grandement la sécurité d’un système.

Le framebuffer est une solution souvent utilisée dans les systèmes embarqués. Les applications doivent connaître le matériel spécifique pour l’utiliser.

Il existe d’autres méthodes pour afficher du graphique, comme Wayland annoncé comme le successeur de X ou d’autres solutions plus anecdotiques.

8.3.1 Le serveur X

Le serveur est diffusé par la fondation X.Org. En résumé, le serveur gère le clavier, la souris et l’écran (voire les écrans). Il offre une interface réseau permettant à des applications de se connecter à distance. Cette connexion est souvent désactivée car les données circulent en clair et n’offrent que peu d’authentification. Néanmoins, l’application ssh permet de sécuriser ce genre de connexion. L’exécutable est Xorg. Il n’est pas lancé interactivement.

=> pgrep -l X
2164 Xorg

Le lancement se fait soit depuis la ligne de commande en utilisant xinit ou startx soit en installant un Display Manager comme lightdm. Ce gestionnaire offre une fenêtre dans laquelle il est possible d’entrer le couple (login, mot de passe).

8.3.2 Les clients X

Les applications graphiques vont se connecter au serveur X. Elles sont donc considérées comme des clients. Il en existe de nombreux. Les clients initiaux (depuis les années 80) sont relativent simples. Il y a :

xlogo

Ne fait rien, mais affiche le logo X, c’est utile pour prouver que l’affichage est possible ;

xeyes

logiciel permettant de suivre le travail de l’étudiant ;

xterm

un terminal graphique, il en existe d’autres mais moins pratiques ;

xev

affiche les événements ;

xcalc

une calculatrice ;

xdpyinfo

fournit des informations sur le serveur, en particulier sa dimension :

$ xdpyinfo| grep dimen
  dimensions:    4800x900 pixels (1270x238 millimeters)
xlsclients

liste les clients connectés ;

xmessage

affiche un message à l’écran ;

xwininfo

affiche les paramètres d’une fenêtre ;

xrandr

affiche les écrans connectés et leur géométrie.

Parmi les clients, certains ont un usage particulier :

Terminaux

Les terminaux, comme xterm, permettent d’entrer des commandes en utilisant un shell ;

gestionnaire de fenêtres

Un gestionnaire de fenêtre permet de déplacer les fenêtres, les dimensionner, les iconfier, etc.

Les suites bureautiques

offre une expérience utilisateur riche. Quand elles fonctionnent bien, elles peuvent être agréable. Mais c’est le programmeur de la suite qui décide de beaucoup de choses, comme les connexions réseau.

(image)Parmi les expériences utilisateurs riches les suites bureautiques offrent des possibilités de partage de document. Autrement dit : elles ouvrent des connexions réseau à l’insu du propriétaire.

8.3.3 Affichage distant

Le protocole réseau X permet d’afficher des fenêtres graphiques à distance. Les connexions étant établies en clair, ce service est désactivé le plus souvent. Le logiciel ssh permet de réutiliser ce mécanisme sans modifier le serveur X.

Pour cela, il faut deux ordinateurs : l’un, chip aura un serveur X, l’autre, dale un serveur ssh. L’utilisateur s’installe devant la station de travail chip et commence à travailler. Puis, il souhaite exécuter une application graphique sur dale. Pour cela, il se connecte avec son compte sur dale et lance l’application graphique. Avec la configuration par défaut, l’application n’arrive pas à se lancer.

arno@chip:~$ ssh stud@dale
stud@dale's password:
Linux dale 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u5 (2018-09-30) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
stud@dale:~$ xlogo
Error: Can't open display:
stud@dale:~$

Il n’y a pas de connexion entre le client distant et le serveur X. Pour permettre la connexion, nous allons ajouter l’option -X lors de la connexion ssh.

arno@chip:~$ ssh -X stud@dale
stud@dale's password:
Linux dale 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u5 (2018-09-30) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Oct 5 08:11:40 2018 from 10.33.106.2
stud@dale:~$ xlogo

La fenêtre graphique s’ouvre, le shell ne rend pas la main à l’utilisateur, comme dans la figure 8.3. Dans cette figure, nous voyons que l’utilisateur arno sur chip (et sur l’écran de chip) se connecte sur dale. Il lance une fenêtre xlogo qui s’affiche sur l’écran de chip.

(image)

Fig. 8.3 : Affichage distant.

Il est alors possible de lancer un logiciel qui n’est présent que sur un ordinateur ou qui doit s’exécuter spécifiquement sur un ordinateur distant, comme une machine virtuelle sur le serveur de virtualisation.

Précédent   Suivant