web-dev-qa-db-fra.com

Différence entre Xorg et Gnome / KDE / XFCE

Je veux en savoir plus sur les systèmes UNIX et je pense avoir une question assez simple. Je pense que je sais ce que X est utilisé pour: il donne une norme aux applications de présenter leurs interfaces d'interface utilisateur (entre autres).

Mais pourquoi alors y a-t-il un besoin de gnome/kde et comment se rapportent-ils à X? Je pensais qu'ils utilisaient X comme une sorte d'interface entre l'application et l'interface graphique, l'interface graphique est donc personnalisée lorsque l'interface reste la même sur les applications.

Est-ce vrai ou est-ce génial/kde indépendant de x?

21
Liess Jemai

(Je regarde dans la relation de Gnome et X. J'aimerais partager certaines de mes compréhensions. Je vais le présenter de manière logique autant que possible.)

1. Qu'est-ce que GUI est composé de?

Vous trouverez ci-dessous une illustration des composants de base d'une interface graphique.

enter image description here

Le composant clé est le Server d'affichage . Plusieurs serveurs d'affichage sont disponibles. Tel que:

  • X11 (principalement pour * Nix)
  • Wayland (principalement pour * Nix)
  • Mir (principalement pour * Nix)
  • Surfaceflinger (Ceci est pour Google Android.)
  • Compositeur de quartz (c'est quoi Apple MacOS utilise.)
  • Gestionnaire de fenêtres de bureau (c'est ce que utilise Microsoft Windows.)

2. Qu'est-ce que x?

Le système de fenêtre X, X11 et X sont synonymes. Ils représentent tous un Système de fenêtres . Système de fenêtres est un type d'interface utilisateur graphique (GUI, comme je l'ai mentionné ci-dessus) qui implémente le WIMP (Windows , icônes, menus, pointeur) paradigme pour une interface utilisateur.

ICI est une liste des principaux systèmes de fenêtres pour les systèmes Linux et Windows.

Le composant principal de tout système de fenêtrage est généralement appelé Server d'affichage (aucune surprise car le système de fenêtres est une sorte d'interface graphique et d'affichage est la partie clé de toute interface graphique), bien que d'autres noms comme Window Server ou Compositeur sont également utilisés.

Toute application qui fonctionne et présente son interface graphique est un client du serveur d'affichage . Le serveur d'affichage et ses clients communiquent les uns avec les autres sur un protocole de communication, qui est généralement appelé Protocole de serveur d'affichage , le serveur d'affichage étant le médiateur entre les clients et l'utilisateur. Le serveur d'affichage reçoit toutes les entrées du noyau, que le noyau reçoit de tous les périphériques d'entrée connectés, tels que le clavier, les périphériques de pointage ou l'écran tactile et le transmet au bon client. Le serveur d'affichage est également responsable de la sortie des clients sur le moniteur d'ordinateur. A Protocole de serveur d'affichage peut être en réseau capable ou même réseau transparent. (Vous pouvez donc voir, il s'agit essentiellement d'un flux de données et de routage, les données visuelles sont toujours des données.)

Et selon - ici :

Un serveur X est un programme fourni des services d'entrée et d'entrée utilisateur à d'autres programmes. En comparaison, un serveur de fichiers fournit d'autres programmes avec accès aux périphériques de stockage de fichiers. Les serveurs de fichiers sont généralement situés dans un emplacement distant et vous utilisez les services d'un serveur de fichiers à partir de la machine à laquelle vous vous trouvez. En revanche, un serveur X s'exécute généralement sur la machine à laquelle vous vous trouvez ; Les services d'affichage et d'entrée d'utilisateur peuvent être demandés par des programmes exécutés sur votre machine, ainsi que par des programmes exécutés sur des machines à distance .

Donc, X est composé de:

  • serveur d'affichage
  • protocole de serveur d'affichage
  • certains libs de développement
  • et d'autres choses

enter image description here

Selon - ici :

X fournit le cadre de base d'un environnement d'interface graphique: dessin et déplacement des fenêtres sur le dispositif d'affichage et interagir avec une souris et un clavier. X ne manda pas l'interface utilisateur - ceci est traitée par des programmes individuels. En tant que tel, le style visuel des environnements X varie considérablement; Différents programmes peuvent présenter des interfaces radicalement différentes.

En d'autres termes, X ne donne qu'un programme la possibilité de faire des choses de base telles Dessin/Windows Windows et Entrée interagissant. X n'applique pas les styles visuels. Donc, ce que vous avez dit "... Cela donne une norme aux applications pour présenter leur assurance-emploi ..." est incorrect.

3. Qu'est-ce que GNOME/KDE

Gnome et KDE sont à la fois Linux environnement de burea . Un environnement de bureau est un ensemble de programmes en haut d'un système d'exploitation qui partagent une interface graphique commune .

Mais comme je l'ai mentionné ci-dessus, X11, en tant que serveur d'affichage, ne fournit que la capacité de dessin de base à travers certaines libs comme XLIB ou XCB. Les applications qui interface directement x11 via ces libs peuvent avoir de styles visuels radicalement différents .

Alors, comment créer une interface graphique commune? Voici le Toolkits de widget . Tels que GTK + et qt . Ils sont populaires à Wayland et X11 Systèmes de fenêtres.

Gnome utilise le GTK +.

KDE utilise le qt.

Et ici est une comparaison des environnements de bureau X Window System System.

Résumer...

Je dessine une illustration conceptuelle approximative. Les 3 parties au-dessus du système d'exploitation sont très personnalisables. C'est pourquoi tant de flexibilité (confusion) surviennent.

enter image description here

Ajouter 1 - 1:26 PM 21/01/2018

Et ICI Quelques discussions sur Qt et GTK (peut-être offtopic à ce fil cependant ...)

29
smwikipedia