Si vous ne faites pas vraiment la distinction entre KDE et GNOME, ou si vous voulez savoir quelles sont les autres alternatives, cet article est pour vous. C'est un aperçu, et bien qu'il y ait beaucoup de noms et peu de termes, le matériel sera également utile pour les débutants et ne regardant que vers Linux.
Le sujet peut également intéresser les utilisateurs avancés lors de la configuration de l'accès à distance et lors de la mise en œuvre d'un client léger. Je rencontre souvent des utilisateurs Linux assez expérimentés avec les déclarations "il n'y a que la ligne de commande sur le serveur, et je ne prévois pas d'étudier les graphiques plus en détail, car tout cela est nécessaire pour les utilisateurs ordinaires." Mais même les connaisseurs de Linux sont surpris et heureux de découvrir l'option "-X" de la commande ssh (qui est utile pour comprendre le fonctionnement et le fonctionnement du serveur X).
Une source
J'enseigne des cours Linux à la LANIT Networking Academy depuis près de 15 ans»Et je suis sûr que beaucoup de ces plus de cinq mille personnes que j'ai formées lisent et écrivent probablement des articles sur Habr. Les cours sont toujours très riches (la durée moyenne d'un cours est de cinq jours), il faut parler de sujets qui prennent au moins dix jours pour se familiariser pleinement. Et toujours au cours du cours, en fonction du public (nouveaux arrivants réunis ou administrateurs aguerris), ainsi que sur les «questions du public», je fais un choix de quoi transmettre plus en détail, et quoi - plus superficiellement, afin de consacrer plus de temps aux utilitaires de ligne de commande et à leur application pratique ... Il y en a assez qui doivent sacrifier un peu. Ce sont "Histoire de Linux", "Différences dans les distributions Linux", "A propos des licences: GPL, BSD, ...", "A propos des environnements graphiques et de bureau" (le sujet de cet article), etc. Non pas qu'ils ne sont pas importants,mais généralement il y a beaucoup plus de questions pertinentes "ici et maintenant" et seulement cinq jours ... Cependant, pour une compréhension générale des bases du système d'exploitation Linux, comprendre la variété disponible (de sorte que même en utilisant une distribution Linux spécifique, vous avez toujours une vue plus large de tout cela un monde immense et immense qui s'appelle "Linux"), il est utile et nécessaire d'étudier ces sujets.
Au cours de l'article, pour chaque composant, je propose des liens pour ceux qui souhaitent approfondir le sujet, par exemple, vers des articles sur Wikipédia (tout en pointant vers une version plus complète / utile en présence d'articles en anglais et en russe).
Pour des exemples de base et des captures d'écran, j'ai utilisé la distribution openSUSE. Toute autre distribution développée par la communauté peut être utilisée avec un grand nombre de packages dans le référentiel. Il est difficile, mais possible, de démontrer la variété des conceptions de bureau sur une distribution commerciale, car ils n'utilisent souvent qu'un ou deux des environnements de bureau les plus connus. Les développeurs restreignent donc la tâche de publier un système d'exploitation stable et débogué. Sur le même système, j'ai installé tous les DM / DE / WM (explication de ces termes ci-dessous) que j'ai trouvés dans le référentiel.
Les captures d'écran avec "cadres bleus" sont prises sur openSUSE.
Des captures d'écran avec des "cadres blancs" ont été réalisées sur d'autres distributions, elles sont affichées sur la capture d'écran.
Des captures d'écran avec des "cadres gris" ont été prises sur Internet, comme exemples de designs de bureau d'antan.
Alors, commençons.
Les principaux composants qui composent les graphiques
Je vais mettre en évidence trois composants principaux et les lister dans l'ordre dans lequel ils commencent au démarrage du système:
- DM (gestionnaire d'affichage);
- Serveur d'affichage;
- DE (environnement de bureau).
De plus, en tant que sous-éléments importants dans l'environnement de bureau:
- Gestionnaire d'applications / Launcher / Switcher (bouton Démarrer);
- WM (gestionnaire de fenêtres);
- divers logiciels fournis avec l'environnement de bureau.
Plus de détails sur chaque article.
DM (gestionnaire d'affichage)
La première application qui démarre lorsque le "graphique" démarre est DM (Display Manager), un gestionnaire d'affichage. Ses principales missions:
- demander quels utilisateurs laisser entrer dans le système, demander des données d'authentification (mot de passe, empreinte digitale);
- choisissez l'environnement de bureau à lancer.
À l'heure actuelle, diverses distributions sont largement utilisées:
- SDDM (remplacé KDM ),
- GDM ,
- LightDM ,
- XDM .
- Fly-DM (utilisé dans AstraLinux) peut également être mentionné.
La liste des DM existants est tenue à jour dans l' article Wiki.
Il est à noter que les captures d'écran suivantes utilisent le même gestionnaire d'affichage LightDM, mais dans des distributions différentes (les distributions sont nommées entre parenthèses). Découvrez à quel point ce DM peut être différent grâce au travail des concepteurs de différentes distributions.
L'essentiel dans cette variété est de préciser qu'il existe une telle application qui est responsable du lancement des graphiques et de permettre à l'utilisateur d'accéder à ces graphiques, et il existe différentes implémentations de cette application qui diffèrent par l'apparence et un peu de fonctionnalités (choix des environnements de conception, choix de l'utilisateur, version pour le mauvais voir les utilisateurs, disponibilité de l'accès à distance via le protocole XDMCP ).
Serveur d'affichage
Display Server est une sorte de fondation graphique dont la tâche principale est de travailler avec une carte vidéo, un moniteur et divers périphériques d'entrée (clavier, souris, pavés tactiles). Autrement dit, une application (par exemple, un navigateur ou un éditeur de texte) qui est rendue en "graphiques" n'a pas besoin de savoir comment travailler directement avec les périphériques, elle n'a pas besoin de connaître les pilotes. La X Window s'occupe de tout cela.
Lorsque nous parlons de Display Server, pendant de nombreuses années sous Linux, et même sous Unix, il s'agissait de l'application X Window System ou, chez les gens ordinaires, de X (X).
De nombreuses distributions remplacent maintenant X par Wayland . Vous pouvez également lire:
- description générale de l'architecture X ,
- lancer des X dans des X ,
- X sous Windows OS (nécessaire pour lancer des applications graphiques à distance, par exemple en utilisant PuTTY).
Pour commencer, lançons des X et plusieurs applications graphiques en eux.
Atelier "exécuter X et ses applications"
Je ferai tout à partir du nouvel utilisateur du webinaire (ce serait plus facile, mais pas plus sûr de tout faire en tant que root).
- Puisque X'am a besoin d'accéder aux périphériques, je donne l'accès: La liste des périphériques a été déterminée en regardant les erreurs lors du démarrage de X'ov dans le journal (/home/webinaruser/.local/share/xorg/Xorg.77.log)
% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*
- Après cela, je commence les X:
% X -retro :77 vt8 &
Options: * -retro - fonctionne avec un arrière-plan classique "gris", pas noir par défaut; *: 77 - J'ai défini (n'importe lequel dans une plage raisonnable est possible, seulement: 0 est probablement déjà occupé par un graphique déjà en cours d'exécution) le numéro d'écran, un identifiant unique réel par lequel il sera possible de distinguer plusieurs X en cours d'exécution; * vt8 - indique le terminal, ici / dev / tty8, sur lequel les X seront affichés).
- Nous lançons l'application graphique:
Pour ce faire, nous définissons d'abord une variable par laquelle l'application comprendra lequel des X s'exécutant sur moi pour envoyer ce qui doit être dessiné:
% export DISPLAY=":77"
Vous pouvez afficher la liste des X en cours d'exécution comme suit:
ps -fwwC X
Après avoir défini la variable, vous pouvez lancer des applications dans notre X s - par exemple, je démarre l'horloge:
% xclock -update 1 &
% xcalc &
% xeyes -g 200x150-300+50 &
Idées clés et points à retenir de cet extrait:
- X' : , , ,
- X' — ( «--retro») (, 1920x1080 1024x768), .
- «» , X' .
- X' .
- DISPLAY , ( X' ), , X'. ( X', .) X' -auth, XAUTHORITY xhost.
- ( X-) X' — // «-g ()x()+()+()». «» .
- Deux termes qui valent la peine d'être exprimés: X-server (comme on appelle les X) et X-clients (comme toute application graphique lancée dans X's est appelée). Il y a un peu de confusion dans la compréhension de cette terminologie, beaucoup la comprennent exactement le contraire. Dans le cas où je me connecte de la «machine cliente» (dans la terminologie de l'accès à distance) au «serveur» (dans la terminologie de l'accès à distance) pour afficher une application graphique du serveur sur mon moniteur, alors le serveur X est lancé sur la machine où le moniteur ( c'est-à-dire sur la «machine cliente», pas sur le «serveur»), et les clients X démarrent et s'exécutent sur le «serveur», bien qu'ils soient affichés sur le moniteur de la «machine cliente».
Composants DE
Ensuite, examinons les composants qui composent généralement un bureau.
Composants DE: bouton Démarrer et barre des tâches
Commençons par le bouton dit "Démarrer". Il s'agit souvent d'une applet distincte utilisée dans la barre des tâches. Il a généralement également une applet pour basculer entre les applications en cours d'exécution.
En regardant différents environnements de bureau, je résumerais ces applications sous le nom général «Apps Manager (Launcher / Switcher)», c'est-à-dire un outil de gestion des applications (lancement et basculement entre celles lancées), et indiquerais également les utilitaires qui sont un exemple d'application de ce type ...
- Il apparaît comme un bouton "Démarrer" sur le classique (pleine longueur de l'un des bords de l'écran) "Barre des tâches":
○ xfce4-panel,
○ mate-panel / gnome-panel,
○ vala-panel,
○ tint2. - «MacOS- » ( ), . — « ».
○ docky,
○ latte-dock,
○ cairo-dock,
○ plank. - / , « » ( ):
○ sxhkd. - - «» ( . Launch ()):
○ dmenu-run,
○ rofi -show drun,
○ albert,
○ grun.
DE: WM (Window Manager)
Plus en russe
Plus en anglais
WM (Window Manager) - une sorte d'application qui est responsable de la gestion des fenêtres, ajoute la possibilité de:
- déplacer des fenêtres sur le bureau (y compris la fenêtre standard en maintenant la touche Alt enfoncée pour n'importe quelle partie de la fenêtre, pas seulement le titre);
- redimensionner les fenêtres, par exemple, en les faisant glisser hors du "cadre de la fenêtre";
- ajoute un "titre" et des boutons pour minimiser / agrandir / fermer l'application à l'interface de la fenêtre;
- le concept dont l'application est au centre.
Je vais lister les plus connus (entre parenthèses j'indique dans quel DE est utilisé par défaut):
Je vais également lister les "anciens WM avec éléments DE". Ceux. en plus du gestionnaire de fenêtres, ils ont des éléments tels que le bouton Démarrer et la barre des tâches, qui sont plus inhérents à un DE à part entière. Quel âge ont-ils, cependant, si IceWM et WindowMaker ont déjà publié leurs versions mises à jour en 2020. Il s'avère qu'il est plus correct non pas "ancien", mais "ancien":
En plus du "classique" ("gestionnaires de fenêtres de pile"), il convient de mentionner les WM en mosaïque , qui permettent de mosaïquer les fenêtres sur tout l'écran, ainsi que pour certaines applications un bureau distinct pour chaque application lancée en plein écran. C'est un peu inhabituel pour les personnes qui ne les ont jamais utilisées auparavant, mais comme j'utilise moi-même une telle interface depuis longtemps, je peux dire que c'est assez pratique et que l'on s'habitue rapidement à cette interface, après quoi les gestionnaires de fenêtres "classiques" ne semblent pas pratiques.
Il convient également de mentionner séparément le projet Compiz et un concept tel que "Composite Window Manager", qui utilise l'accélération matérielle pour afficher la transparence, les ombres et divers effets tridimensionnels. Il y a environ 10 ans, il y avait un boom des effets 3D sur les ordinateurs de bureau Linux. De nombreux gestionnaires de fenêtres intégrés de DE tirent désormais parti en partie des capacités composites. Wayfire est récemment apparu - un produit avec des fonctionnalités Compiz similaires pour Wayland.
Une liste détaillée des différents gestionnaires de fenêtres se trouve également dans l'article de comparaison .
Composants DE: repos
Il convient également de noter les composants suivants du bureau (ici, j'utilise des termes anglais bien établis pour décrire le type d'application - ce ne sont pas les noms des applications elles-mêmes):
- Applets:
- Logiciel (boîte à outils Widget) - souvent un «ensemble minimal» de logiciels est fourni avec l'environnement:
DE (environnement de bureau)
Plus en anglais A
partir des composants listés ci-dessus, on obtient ce que l'on appelle «l'environnement de conception de bureau». Souvent, tous ses composants sont développés en utilisant les mêmes bibliothèques graphiques et en utilisant les mêmes principes de conception. Ceci, au minimum, maintient un style général pour l'apparence des applications.
Ici, nous pouvons distinguer les environnements de bureau existants suivants:
GNOME et KDE sont considérés comme les plus courants, et XFCE est sur leurs talons.
La comparaison par différents paramètres sous forme de tableau peut être trouvée dans l'article Wikipédia correspondant .
Variété DE
Project_Looking_Glass
Il existe même des exemples intéressants tirés de l'histoire: en 2003-2007, une "conception de bureau 3D" a été réalisée pour Linux, appelée "Project Looking Glass" de Sun. J'ai moi-même utilisé ce bureau, ou plutôt «joué», car il était difficile à utiliser. Cette "conception 3D" a été écrite en Java à une époque où il n'y avait pas de cartes graphiques 3D. Par conséquent, tous les effets ont été comptés par le processeur et l'ordinateur devait être très puissant, sinon tout fonctionnait lentement. Mais cela s'est très bien passé. Les matrices d'application en trois dimensions peuvent être tournées / agrandies. Il était possible de transformer un cylindre d'un bureau avec du papier peint à partir d'un panorama à 360 degrés. Il y avait plusieurs belles applications qui leur étaient propres: par exemple, écouter de la musique sous forme de "CD changeant", etc. Vous pouvez regarder sur youtubevidéo sur ce projet, seule la qualité de ces vidéos sera probablement mauvaise, car au cours de ces années, il n'était pas possible de télécharger des vidéos de haute qualité.
Bureau Xfce léger. Le projet existe depuis longtemps, depuis 1996. Ces dernières années, il a été assez populaire, contrairement aux plus lourds KDE et GNOME, qui sur de nombreuses distributions nécessitent une interface de bureau légère et "classique". Il a de nombreux paramètres et un grand nombre de ses programmes: terminal (xfce4-terminal), gestionnaire de fichiers (thunar), visionneuse d'images (ristretto), éditeur de texte (mousepad).
Pantheon
Utilisé dans la distribution "Elementary OS". Ici, nous pouvons dire qu'il existe des «bureaux» qui sont développés et utilisés dans une seule distribution et qui ne sont pas fortement utilisés (sinon «pas du tout utilisés») dans d'autres distributions. Au moins, ils n'ont pas encore gagné en popularité et convaincu une grande partie du public des avantages de leur approche. Pantheon vise à créer une interface de type macOS.
Option de quai:
Lumières
Forte emphase sur les effets graphiques et les widgets (depuis l'époque où les autres environnements de bureau n'avaient pas de widgets sur le bureau, comme le calendrier / l'horloge). Utilise ses propres bibliothèques. Il existe un grand nombre de ses "belles" applications: terminal (Terminologie), lecteur vidéo (Rage), visualisation d'images (Ephoto).
Moksha
Ceci est un fork de Enlightenment17 et est utilisé par la distribution BodhiLinux.
GNOME A l'
origine une interface de bureau "classique", créée contrairement à KDE, qui était écrite dans la bibliothèque Qt, à l'époque distribuée sous une licence qui n'était pas très pratique pour les distributions commerciales.
GNOME_Shell
Depuis la troisième version, GNOME a commencé à être livré avec le GNOME Shell, qui a un "look non classique", ce que tous les utilisateurs n'ont pas aimé (toute modification radicale des interfaces est difficile à accepter pour les utilisateurs). En conséquence - l'émergence de projets de fourche qui poursuivent le développement de ce bureau dans le style "classique": MATE et Cinnamon. Utilisé par défaut dans de nombreuses distributions commerciales. Possède un grand nombre de paramètres et d'applications.
MATE est
basé sur GNOME2 et continue de faire évoluer cet environnement de conception. Possède un grand nombre de paramètres et de fourches d'applications qui ont été utilisés dans GNOME2 (de nouveaux noms sont utilisés) afin de ne pas confondre les fourchettes avec leur nouvelle version pour GNOME3).
Cinnamon Un
fork de GNOME Shell qui fournit aux utilisateurs une interface de style "classique" (comme c'était le cas dans GNOME2).
Possède un grand nombre de paramètres et les mêmes applications que pour GNOME Shell.
Budgie Un fork de
style "classique" de GNOME qui a évolué dans le cadre de la distribution Solus, mais qui est maintenant également livré en tant que bureau autonome sur diverses autres distributions.
KDE_Plasma (ou, comme on l'appelle souvent, simplement KDE)
Un environnement de bureau développé par le projet KDE.
Il dispose d'un grand nombre de paramètres disponibles pour un simple utilisateur à partir de l'interface graphique et de nombreuses applications graphiques développées dans ce bureau.
Trinity
En 2008, KDE a publié sa nouvelle implémentation de KDE Plasma (le moteur de bureau a été fortement réécrit). De plus, comme avec GNOME / MATE, tous les fans de KDE ne l'aiment pas. En conséquence, un fork du projet est apparu, poursuivant le développement de la version précédente, appelée TDE (Trinity Desktop Environment).
Deepin_DE
L'un des environnements de bureau les plus récents écrits à l'aide de Qt (sur lequel KDE est écrit). Il a de nombreux paramètres et est assez beau (bien que ce soit un concept subjectif) et une interface bien développée. Développé dans le cadre de la distribution Deepin Linux. Il existe également des packages pour d'autres distributions
Fly
Un exemple d'environnement de bureau écrit à l'aide de Qt. Développé dans le cadre de la distribution Astra Linux.
Environnement de bureau LXQt léger. Comme plusieurs exemples précédents, écrits avec Qt. En fait, c'est une continuation du projet LXDE et le résultat de la fusion avec le projet Razor-qt.
Comme vous pouvez le voir, le bureau sous Linux peut être très différent et il y aura une interface adaptée pour tous les goûts: du très beau et avec des effets 3D au minimaliste, du "classique" à l'inhabituel, de l'utilisation active des ressources système au léger, du grand écrans aux tablettes / smartphones.
Eh bien, j'espère avoir pu donner une idée de quels sont les principaux composants du graphisme et du bureau sous Linux.
Le contenu de cet article a été déployé en juillet 2020 lors d'un webinaire. Vous pouvez le regarder ici .
C'est tout. J'espère que cela a été utile. Si vous avez des questions ou des commentaires, écrivez. Je serai heureux de répondre. Eh bien, venez étudier à la LANIT Networking Academy !