Dans le processus d’apprentissage de certaines choses dans la programmation graphique (par exemple, réserver de l’espace à l’écran pour une application), je dois en apprendre plus sur le gestionnaire de fenêtres, généralement X11 sous Linux (je ne suis pas sûr qu’il existe même des distributions). , qui utilise autre chose que X11, bien que j’ai entendu parler de Wayland , qui n’a pas encore été implémenté dans aucun.)
Je suis assez nouveau en programmation et impatient; donc je plonge juste dedans. Maintenant, je lis le ICCCM, dans l’espoir d’en apprendre davantage. Ce document vise cependant un public qui en sait plus que moi. Je suis donc tombé sur certaines informations et j'aimerais obtenir des éclaircissements.
La section 2 de l'ICCCM cite:
Notez que toutes les données transférées entre un propriétaire et un demandeur doivent généralement passer par le serveur dans un environnement X Version 11. Un client ne peut pas supposer qu'un autre client peut ouvrir les mêmes fichiers ou même communiquer directement. L'autre client peut communiquer avec le serveur par le biais d'un mécanisme de réseau complètement différent (par exemple, un client peut être DECnet et l'autre TCP / IP). Ainsi, la transmission de références indirectes aux données (telles que les noms de fichier, les noms d'hôte et les numéros de port, etc.) n'est autorisée que si les deux clients sont spécifiquement d'accord.
Autant que je sache, X Window Manager est construit sur Top of X Server (merci Wikipedia). Dans la citation ci-dessus: il est indiqué que le client peut communiquer avec le serveur via DECnet ou TCP / IP. Jusqu'à présent, je pensais que "serveur" était une figure de style, maintenant je doute: le serveur X est-il un serveur comme dans un "serveur Web"? Comment devrais-je comprendre sa fonction / définition?
Ensuite, il est souvent fait référence à X11, Xorg, X Server et / ou X Window Manager. Cela devient déroutant: X11 est-il un paquet incluant Xorg et X Window Manager? Si oui, y a-t-il autre chose dans ce bundle X11?
X a également besoin d'une souris, d'un clavier ou de tout autre type de saisie: cela fait-il aussi partie des fonctions du serveur X? X Window Manager s’occupe-t-il uniquement de l’affichage?
Enfin, la citation ci-dessus mentionne également le fait que le client communique ou non entre eux: cela me faisait penser à D-Bus, que j'ai un peu utilisé à des fins d'apprentissage. Avec D-Bus, vous pouvez également déclencher des événements de fenêtre. Cela me laisse un peu perplexe quant à la manière dont les programmes doivent communiquer entre eux: * Quelle différence y a-t-il entre les programmes qui interagissent avec X Server ou avec D-Bus? *
C'est dommage que cette information reste obscure, cela rend plus difficile à apprendre, mais j'espère que vous pourrez apporter un peu de lumière à ce sujet :) Merci.