Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Qu’est-ce que le serveur X sur Linux – (X Window System)

Si Linux est connu pour ses terminaux et lignes de commandes, il est aussi capable d’afficher des interfaces graphiques.
Pour cela, Linux propose charge un serveur d’affichage du système de fenêtre X nommé souvent Serveur X ou Serveur X11 (11 étant la version actuelle).
Son fonctionnement est totalement différent de Windows et beaucoup plus modulaires et aussi accès réseau.

Dans ce tutoriel, je vous explique ce qu’est le serveur X.

Qu'est-ce que le serveur X sur Linux - (X Window System)

Qu’est-ce que le serveur X – (X Window System)

Le serveur X est une application le système de fenêtres X qui gère un ou plusieurs affichages graphiques et un ou plusieurs périphériques d’entrée (clavier, souris, etc.) connectés à l’ordinateur.
Il fonctionne comme un serveur et peut s’exécuter sur l’ordinateur local ou sur un autre ordinateur sur le réseau. Les services peuvent communiquer avec le serveur X pour afficher les interfaces graphiques et recevoir l’entrée de l’utilisateur.

Le serveur X fournit les types de services de base suivants :

  • Gestion des entrées
  • Services de fenêtre
  • Graphique
  • Texte et polices
  • La gestion des ressources

Pour rappel, dans Linux, l’organisation de l’affichage est la suivante :

  • En bas, on trouve le serveur X avec son système de fenêtre X ou Wayland qui se décompose en sous éléments
  • L’environnement de bureau utilise le niveau en dessous de la bibliothèque X ou Xlib.
  • Le gestionnaire de fenêtres (DWM, Awesome, Compiz, XMonad, Openbox, XMonad, …) qui définit l’apparence des fenêtres. Il se trouve au même niveau Xlib. L’environnement de bureau peut développer son propre gestionnaire de fenêtres. Par exemple, XFCE utilise Xfwm
  • Les applications peuvent aussi utiliser des bibliothèques logicielles d’interface graphique comme GTK ou QT. Elles utilisent directement Xlib
Un environnement graphique modulaire
Source: https://ift.tt/e1i3bos

Le système de fenêtres X (X Window System), communément appelé X, est un système client-serveur très configurable, multiplateforme, complet et gratuit pour gérer les interfaces utilisateur graphiques sur des ordinateurs uniques et sur des réseaux d’ordinateurs.

X est un système important et complexe, avec un niveau de complexité comparable à celui d’un système d’exploitation lui-même. C’est l’un des packages logiciels les plus puissants et les plus utiles pour Linux et d’autres systèmes d’exploitation de type UNIX, et c’est le moteur graphique standard de facto pour de tels systèmes. X est également l’une des technologies logicielles libres les plus réussies qui a été développée à ce jour.

x11-common                                 1:7.7+19ubuntu14                    all          X Window System (X.Org) infrastructure
xfonts-utils                               1:7.7+6                             amd64        X Window System font utility programs
xorg                                       1:7.7+19ubuntu14                    amd64        X.Org X Window System
xorg-docs-core                             1:1.7.1-1.1                         all          Core documentation for the X.org X Window System

Les deux implémentations principales sont X.Org et Wayland

Le serveur X : comment ça marche ?

Une architecture client/serveur

Dans les implémentations client-serveur traditionnelles, l’utilisateur du client demande des données du serveur, qui l’affiche ensuite sur l’écran de l’utilisateur via le client.
Lorsque vous utilisez un PC avec Linux installé, tout se fait en local.

Le serveur X peut être démarré avec la commande ‘startx‘, ou plus souvent, à partir d’un gestionnaire d’affichage tel que GDM, KDM, XDM et bien d’autres.
Ainsi, à la fin du processus de démarrage Linux, le serveur X.Org se lance avec le gestionnaire d’affichage.
La page d’identification s’affiche à l’écran et l’utilisateur saisit le nom d’utilisateur et mot de passe puis charge l’environnement de bureau.

/usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

Le serveur X ouvre aussi des des sockets Unix sur lesquels les applications peuvent se connecter.

unix  2      [ ACC ]     STREAM     LISTENING     53914    1579/Xorg            @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     219414   1516/gdm-session-wo  @/tmp/dbus-QXY2faMN
unix  2      [ ACC ]     STREAM     LISTENING     82102    1869/gvfsd-trash     @/dbus-vfs-daemon/socket-XL6q87Yv
unix  2      [ ACC ]     STREAM     LISTENING     53915    1579/Xorg            /tmp/.X11-unix/X0
L'architecture du Serveur X Linux

Ainsi le serveur X peut fonctionner en réseau, des clients se connectent dessus pour afficher les fenêtres sur leurs écrans.
Sur X11, la partie hôte de l’affichage pourrait être un serveur distant, et vous utiliseriez votre ordinateur comme “terminal graphique” pour accéder aux fichiers et programmes sur ce serveur distant.
Dans ce cas, votre ordinateur est le “serveur” qui sert un Clavier, une souris et un ou plusieurs périphériques d’affichage dans des programmes “Client” fonctionnant sur le serveur à distance.
Mais plus souvent, le serveur X11 et les programmes clients (un gestionnaire de bureau et divers clients graphiques tels qu’un navigateur Web, un client de messagerie, un programme de calendrier, etc.) s’exécutent sur votre ordinateur. Ceci est indiqué par la partie “serveur” de la valeur d’affichage, qui dans ce dernier cas est généralement vide (ce qui implique la valeur par défaut, localhost).

L'architecture du Serveur X Linux avec des machines distantes par le réseau

Les commandes et fichiers

Quelques fichiers à connaître :

/tmp/.X11-unix stocke les sockets ouverts du serveur X.

~/.xinitrc est un script shell utilisé par Xinit, qui démarre le serveur X lorsqu’il n’utilise pas un gestionnaire d’affichage, pour définir une application pour démarrer automatiquement dans le serveur X.

/etc/x11/xorg.conf est un fichier de configuration utilisé pour donner les informations du serveur X sur les composants matériels utilisés, mais maintenant le serveur X peut éviter de l’utiliser, car il est capable de se ficher automatiquement.

/etc/X11/Xsession.options et /etc/X11/Xsession.options.d/*.conf contiennent des options qui déterminent une partie du comportement de la XSESSION.

~/.xsessionrc,~/.xsession ou ~/.Xsession exécuter un script shell après la connexion de la console, ou du gestionnaire d’affichage tel que LightDM, GDM3 ou XDM.

Quelques commandes :

  • xauth : Le programme XAuth est utilisé pour modifier et afficher les informations d’autorisation utilisées pour se connecter au serveur X
  • xconsole : Affiche des messages qui sont généralement envoyés à /dev/console
  • xinput : est un utilitaire pour répertorier les périphériques d’entrée disponibles, les informations de requête sur un appareil et modifier les paramètres des périphériques d’entrée
  • xmessage : Affiche un message sur l’écran
  • xdpyinfo : Affiche des informations sur X
  • xhost : Utilisé pour ajouter et supprimer des noms d’hôtes ou des noms d’utilisateurs à la liste autorisée à établir des connexions au serveur X
  • xmodmap : Le programme XMODMAP est utilisé pour modifier et afficher la carte du modificateur de clavier et la table KeyMAP qui sont utilisées par les applications client pour convertir les KeyCodes d’événement en touches. Il est généralement exécuté du script de démarrage de session de l’utilisateur pour configurer le clavier en fonction des goûts personnels
  • xset : Ce programme est utilisé pour définir diverses options de préférence utilisateur de l’affichage
  • xsetroot : Le programme XSetroot vous permet d’adapter l’apparence de la fenêtre d’arrière-plan (“root”) sur un affichage de poste de travail en cours d’exécution X

La variable DISPLAY

Un affichage est géré par un serveur d’affichage, connu sous le nom de serveur X. Le serveur sert à afficher des capacités à d’autres programmes qui s’y connectent.
Le serveur distant sait où il doit rediriger le trafic réseau X via la définition de la variable DISPLAY.
C’est la variable d’environnement d’affichage qui pointe généralement vers un serveur d’affichage X situé sur votre ordinateur local.

Si vous vous connectez sur la console avec une interface graphique : la variable d’affichage est configurée par le programme qui gère votre session graphique pour indiquer aux clients graphiques auxquels les appareils d’E/S à se connecter.

La valeur de la variable d’environnement d’affichage est :

<nomhôte>:<affichage>[.<écran>]

où :

  • Le nom d’hôte est le nom de l’ordinateur où le serveur X s’exécute. Un nom d’hôte omis signifie le Host local.
  • Affichage : est un numéro de séquence (généralement 0). Il peut être varié s’il existe plusieurs écrans connectés à un seul ordinateur
  • Ecran : est le numéro d’écran. Un écran peut en fait avoir plusieurs écrans. Habituellement, il n’y a cependant qu’un seul écran où 0 est la valeur par défaut

Exemple de valeurs

localhost:4
malekal.com:0
:0.0

On utilise la commande export pour changer la variable :

export DISPLAY=127.0.0.1:10.0

La connexion au serveur X se fait alors avec la syntaxe suivante :

[transport/]host:[:]server[.screen]

L’article Qu’est-ce que le serveur X sur Linux – (X Window System) est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires