Gestionnaire de fenêtres vs environnement de bureau vs système de fenêtres? Quelle est la différence?

23

Je suis confus quant à ce que ces termes signifient réellement ET quant à ce qu'ils font / comment ils contribuent au système dans son ensemble. En particulier, à l'époque où j'utilisais Ubuntu, il y avait plusieurs mots clés comme:

Gnome 
X11 
Xorg 
Metacity 
GTK+

Quelle est exactement la différence entre tous ces éléments? Que peut-on changer? Les mêmes choses s'appliquent-elles lorsque nous parlons de KDE ou de LXDE?

EDIT: En outre, des choses comme Compiz fonctionnent-elles dans chaque gestionnaire de fenêtres / système de fenêtres / environnement de bureau?

n0pe
la source
Déjà demandé en 2010 sur AskUbuntu et posé quelques mois plus tard sur Unix & Linux . Diviser les poils StackExchange en autant de parties n'a pas toujours de sens.
Dan Dascalescu

Réponses:

26

X11 est un protocole réseau . Il code des éléments tels que les primitives graphiques, les images, le mouvement du pointeur et les pressions sur les touches.

Xorg est un serveur X . Il implémente X11 et fournit une interface pour les claviers, les souris et les cartes vidéo.

GTK + est une boîte à outils de widget . Il fournit des éléments tels que des boutons, des barres de défilement, des zones d'édition, etc.

Metacity et Compiz sont des gestionnaires de fenêtres . Ils décorent les primitives de fenêtre X et prennent en charge diverses opérations telles que le déplacement, le redimensionnement et la maximisation des fenêtres.

GNOME, KDE et LXDE sont des environnements de bureau . Ils fournissent des bibliothèques et des spécifications que les applications utilisent et suivent afin de "jouer agréablement" avec d'autres applications.

Ignacio Vazquez-Abrams
la source
Il s'agit d'une réponse +1 vraiment géniale et simple. Cependant, le serveur Xorg peut-il être changé ou est-ce un standard Linux? De plus, je n'ai jamais entendu parler de GTK + ou Metacity dans un environnement KDE - sont-ils spécifiques à Gnome?
n0pe
3
Xorg est simplement une implémentation de X11; il s'agit simplement de l'implémentation FOSS la plus populaire. KDE spécifie que Qt est utilisé comme boîte à outils widget, il est donc impossible pour une application KDE pour utiliser GTK + car il ne sera alors plus être une application de KDE. Il est possible d'utiliser Metacity sous KDE (le gestionnaire de fenêtres fait rarement partie de la spécification DE, juste une valeur par défaut raisonnable), mais la plupart des raisons pour lesquelles les gens utilisent KDE en premier lieu sont dues à sa configurabilité, et Metacity est le très antithèse de la configurabilité.
Ignacio Vazquez-Abrams
Encore une question, et merci pour les informations jusqu'à ce point. Les gestionnaires de fenêtres jouent-ils un rôle dans la compatibilité double écran? Je suis sur le point de passer de KDE à une solution légère (blackbox / openbox, cette zone) et je me demande si ces effets ont même un double écran ou ce genre de choses.
n0pe
Ils ne devraient pas , mais certains peuvent fournir des fonctionnalités supplémentaires dans des situations multi-moniteurs (accrochage au bord de l'écran, envoi à l'écran, etc.).
Ignacio Vazquez-Abrams du
user113907 mentionne: "X11 est le système de fenêtres (la chose qui dessine les fenêtres sur l'écran)". Vous mentionnez: "X11 est un protocole réseau". Peut-on concilier cela?
dotancohen
4

Voici les termes définis, ainsi que quelques exemples centrés sur Ubuntu.

  • Gestionnaire de fenêtres: prend les demandes des fenêtres et les place là où elles doivent aller. Fait des choses comme des barres de titre, des menus, etc. Exemple: Metacity

  • Environnement de bureau: un surensemble de gestionnaires de fenêtres qui ajoutent des éléments tels que des panneaux, des arrière-plans et d'autres subtilités. Exemple: GNOME

  • Système de fenêtrage: le véritable logiciel de bas niveau qui permet à des choses comme les fenêtres d'exister même en premier lieu et les dessine à l'écran. Exemple: Xorg

En général, vous pouvez également être intéressé de savoir que le gestionnaire de fenêtres et l'environnement de bureau sont ce avec quoi l'utilisateur interagit. Vous ne touchez pas directement (sauf si vous êtes dans une coque de récupération) le système de fenêtrage.

Notez également que ces choses peuvent être modulaires à respecter les unes avec les autres. Par exemple, vous pouvez utiliser n'importe quel gestionnaire de fenêtres sur Xorg et n'importe quel environnement de bureau au-dessus de n'importe quel gestionnaire de fenêtres.

nouveau123456
la source
4

GNOME est un environnement de bureau (il gère les icônes et les panneaux du bureau).

Metacity est l'un des gestionnaires de fenêtres de GNOME (il garde les fenêtres organisées).

GTK + est la boîte à outils de widget de GNOME (il dessine les boutons et les cases à cocher).

X11 est le système de fenêtres (la chose qui dessine les fenêtres sur l'écran).

Xorg est une implémentation open source de X11 (généralement synonyme de X11).

Compiz est un gestionnaire de fenêtres et un compositeur de bureau (un compositeur de bureau est un programme qui rend des effets spéciaux, tels qu'un cube de bureau, sur votre écran).

Vous pouvez exécuter Compiz dans GNOME, KDE et Unity au moins. Obtenez simplement le package CCSM en le saisissant dans le terminal:

$ sudo apt-get install ccsm
$ ccsm

(N'entrez pas le signe dollar et l'espace après celui-ci; cela signifie simplement que vous n'êtes pas connecté en tant que root.) Dans CCSM (Compiz Config Settings Manager), activez et configurez les effets de bureau que vous souhaitez. Faites attention! Vous pouvez perdre les barres de titre dans GNOME et UNITY. Si cela se produit, appuyez sur Ctrl-Alt-F1, puis saisissez:

$ top

Regardez sous la colonne PID et notez le numéro sur l'entrée xorg. Entrez ensuite:

$ sudo kill pid

L'écran de connexion devrait apparaître immédiatement. Connectez-vous à nouveau et évitez de faire l'erreur que vous avez faite la dernière fois. Désolé pour le long discours.

user113907
la source
Ignacio Vazquez-Abrams mentionne: "X11 est un protocole réseau". Vous mentionnez: "X11 est le système de fenêtres (ce qui dessine les fenêtres sur l'écran)". Peut-on concilier cela?
dotancohen