Qu'est-ce que X11 exactement?


14

Je lis Wikipedia sur X11 et il dit que:

Dans sa distribution standard, c'est une solution complète, quoique simple, d'affichage et d'interface qui fournit une boîte à outils standard et une pile de protocoles pour la construction d'interfaces utilisateur graphiques sur la plupart des systèmes d'exploitation de type Unix ...

Mais plus tard, il dit que:

X définit principalement le protocole et les primitives graphiques - il ne contient délibérément aucune spécification pour la conception de l'interface utilisateur de l'application, comme les styles de bouton, de menu ou de barre de titre de fenêtre.

Alors, X11 fournit-il des widgets comme un bouton ou un panneau / cadre de fenêtre, etc. ou non? Qu'est-ce qu'une primitive graphique? Qu'est-ce que X11 fournit exactement?

Il est également indiqué que:

X ne rend pas obligatoire l'interface utilisateur; les programmes clients individuels gèrent cela. Les programmes peuvent utiliser les capacités graphiques de X sans interface utilisateur.

Qu'est-ce que ça veut dire?


4
Je pense que vous devriez probablement aller sur la page de conversation correspondant à cette page dans Wikipedia et commencer une conversation visant à ce que les auteurs clarifient leur article.
RealSkeptic

Réponses:


18

Comme beaucoup de mots, «X11» peut avoir plusieurs significations.

«X11» est à proprement parler un protocole de communication. Dans les phrases «X définit principalement le protocole et les primitives graphiques…» et «X ne rend pas obligatoire l'interface utilisateur…», c'est à cela que X fait référence. X est une famille de protocoles, X11 est la 11e version et la seule qui a été utilisée au cours des 25 dernières années.

La première phrase de votre question fait référence à une distribution de logiciels qui est l'implémentation de référence du protocole X11. Le nom complet de cette distribution logicielle est «le système X Window». Cette distribution comprend des programmes qui agissent comme des serveurs dans le protocole X11, des programmes qui agissent comme des clients dans le protocole X11, des bibliothèques de code qui contiennent du code qui utilise le protocole X11, la documentation associée, des ressources telles que des polices et des dispositions de clavier qui peuvent être utilisées avec les programmes et bibliothèques susmentionnés, etc. Historiquement , cette distribution de logiciels a été réalisée par le MIT; elle est aujourd'hui entretenue par la Fondation X.Org .

Le protocole X11 permet aux applications de créer des objets tels que des fenêtres et d'utiliser des primitives de dessin de base (par exemple, remplir un rectangle, afficher du texte). Les widgets comme les boutons, les menus, etc. sont créés par les bibliothèques clientes. Le système X Window comprend une bibliothèque de base (l' ensemble de widgets Athena ) mais la plupart des applications utilisent des bibliothèques plus sophistiquées telles que GTK + , Qt , Motif , etc.

Certains programmes X11 n'ont pas du tout d'interface graphique, par exemple des outils de ligne de commande tels que xset , xsel et xdotool , des programmes de liaison de touches tels que xbindkeys , etc. La plupart des programmes X11 ont bien sûr une interface graphique.


2

X11, alias X.org Foundation Windowing est essentiellement utilisé par d'autres environnements de bureau comme KDE et GNOME, entre autres, pour fournir l'interface abstraite de gestion d'une interface graphique. Sans s'appuyer sur X, KDE / GNOME / autres devraient écrire le code pour faire eux-mêmes des choses de codage de bas niveau. Au lieu de cela, KDE / GNOME communique d'avant en arrière avec X (il fonctionne comme un processus serveur auquel les «clients» se connectent).


2
Cette aide permet également de l'expliquer et de comprendre pourquoi Wayland et d'autres remplacements X sont en cours de construction: art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
crajun

C'est une diatribe.
Stefan Skoglund

Et cela explique aussi d'une autre manière la caractérisation par Ken Olsen d'UNIX en tant que produits de colporteurs d'huile de serpent, mais c'est le capitalisme! La revendication est la conception pour MOTIF et s'exécute partout, de nos jours, cela ressemble plus à la conception pour MS Windows et s'exécute partout (c'est un monopole et non un marché.) Ken Olsen savait très bien que la conception pour MOTIF et l'exécution sur tout n'est pas dans l'intérêt des producteurs - ergo ça n'arrivera pas vraiment.
Stefan Skoglund

1

Quelques concepts:
- X Windows System Windowsing system. (permet de déplacer des fenêtres sur le périphérique d'affichage et d'interagir avec la souris et le clavier)
- X.Org Server Une implémentation open-source de X Windows System par X.Org Foundation.
- émulateur de terminal xterm pour le système X Windows.
- X Client : une application s'exécute sur un serveur X. Le système X Windows nécessite que les clients et le serveur fonctionnent séparément. Les applications, telles que QT, GTK et d'autres clients X ont besoin de la coopération du serveur X pour fonctionner correctement.

Auparavant, je me sens également très confus sur ce problème. Au départ, j'ai installé le système Linux de côté avec Windows, pendant de nombreuses fois j'ai rencontré des problèmes avec des erreurs Xorg.
Récemment, j'utilise xclipsur un serveur distant. Le logiciel a besoin d'une variable d'environnement DISPLAYà définir, ce qui n'est pas le cas sur mon serveur distant. Il n'y a pas de moniteur, de souris ou de clavier et la variable est gérée par le serveur X.


1

Le système de fenêtres X11 avait un support (avec un support spécial du fabricant) pour un bon nombre de constructions / conceptions plutôt compliquées.

L'utilisation de DisplayPostscript dans NeWS (Sun / Sony) signifiait que le serveur avait un support Postscript complet et plutôt agréable (Display) intégré. Ce support était utilisé à distance par l'application, par exemple un programme fonctionnant sur un crayon x-mp pourrait avec les mêmes contraintes / interface / capacités affichent une carte sismique sur l'ordinateur de la même manière que si la même carte était imprimée sur une imprimante / photocopieuse laser haut de gamme.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.