Een van de fascinerende dingen van Linux is de mogelijkheid om verschillende systeemcomponenten te zien. Een van de belangrijkste componenten van een Linux-systeem is de desktopomgeving. Hiermee kunt u het meeste uit uw computer halen door verschillende functies te bieden, zoals inloggen, apps starten, widgets weergeven zoals het paneel, enzovoort.
Daarom is het een ingewikkeld stuk software.
Hier zullen we een deel van deze complexiteit ophelderen door drie van de belangrijkste componenten van een desktopomgeving uit te leggen: de displayserver, de windowmanager en de login-manager.
1. De weergaveserver
De displayserver ligt aan de basis van de desktopomgeving. De hoofdtaak van de weergaveserver is het afhandelen van tekenfuncties op laag niveau, wat betekent dat deze rechtstreeks naar het scherm tekent. Andere grafische programma's tekenen niet rechtstreeks op het scherm; in plaats daarvan sturen ze tekenverzoeken naar de weergaveserver, die voor hen op het scherm tekent.
Simpel gezegd, de displayserver geeft applicaties pixeltoegang. Dus alle toepassingen die pixeltoegang nodig hebben, praten met de weergaveserver. Als een app bijvoorbeeld een venster wil maken, vragen ze de weergaveserver om dat venster te maken. Een ander voorbeeld van toepassingen die pixeltoegang vereisen, zijn schermrecorders, ze krijgen schermgegevens door een API die wordt geleverd door de weergaveserver.
Elke toepassing die afhankelijk is van de weergaveserver wordt een client genoemd. De displayserver is verantwoordelijk voor het beheer van de communicatie tussen zijn clients en hardwareapparaten. Het stuurt signalen van toetsenbord- en muisgebeurtenissen naar zijn klanten.
De weergaveserver is ook verantwoordelijk voor het tekenen van de muisaanwijzer en het bepalen van de positie ervan.
X11 en Wayland zijn de twee belangrijkste opties van displayservers. X11 is veel ouder dan Wayland. Wayland is zelfs ontwikkeld om de opvolger van X11 te zijn. X11 wordt echter nog steeds veel gebruikt onder Linux-distributies.
De hierboven genoemde concepten zijn van toepassing op zowel X11 als Wayland. Er zijn echter grote verschillen tussen hen in de manier waarop ze met hun klanten communiceren. Wayland-clients zijn meer geïsoleerd dan X11-clients. Wayland wordt dus als veiliger beschouwd dan X11.
Er zijn nog andere verschillen waarmee u rekening kunt houden als u van plan bent over te stappen naar Wayland, maar in de meeste gevallen hoeft u zich geen zorgen te maken over deze verschillen. Dat komt omdat app-ontwikkelaars toolkits op hoog niveau gebruiken (zoals Gtk+ en Qt) die zowel X11 als Wayland ondersteunen. Ook GNOME en KDE werken met zowel X11 als Wayland.
Lees verder: Wat u moet weten over het gebruik van Wayland
Nadat we hebben begrepen wat een weergaveserver is en wat deze doet, gaan we verder met het volgende onderdeel.
2. De vensterbeheerder
De functie van de vensterbeheerder (zoals de naam al doet vermoeden) is het beheren van geopende vensters. Vensterbeheer omvat het regelen van de grootte van vensters en hun positie (zoals gevraagd door u of applicaties). Dus telkens wanneer u een venster begint te slepen of het formaat ervan aan te passen, is de vensterbeheerder verantwoordelijk voor het verwerken van uw verzoek.
Onthoud dat om een venster te slepen, je gewoon op de titelbalk klikt, terwijl je om het formaat te wijzigen op de randen klikt en sleept. Dat brengt ons bij de volgende functie van venstermanagers, namelijk het tekenen van decoraties rond vensters (de titelbalk en randen worden raamdecoraties genoemd).
U vraagt zich misschien af, waarom handelt de weergaveserver niet over het vensterbeheer? Nou, dat doet het wel. In werkelijkheid doen windowmanagers wat ze doen door te communiceren met de displayserver. Omdat het besturen van vensters en het tekenen van hun decoraties pixeltoegang vereist, moeten ze praten met de weergaveserver. Dus de windowmanager instrueert alleen de weergaveserver en de weergaveserver doet de eigenlijke bewerkingen.
Een andere belangrijke functie die een vensterbeheerder kan hebben, is het samenstellen van vensters. Als het deze functie heeft, wordt het een venstersamensteller genoemd. Dat stelt applicaties in staat om coole dingen te doen, zoals transparantie, vervaging, schaduwen van vensters tekenen, vensters animeren wanneer ze worden verplaatst/geminimaliseerd/gemaximaliseerd, en andere visuele effecten.
Voorbeelden van vensterbeheerders
Er zijn tal van opties beschikbaar (in tegenstelling tot displayservers, waar er slechts twee opties zijn). Een van de meest populaire zijn:
- Kwin (wordt geleverd met KDE).
- Mutter (wordt geleverd met GNOME).
- Xfwm (Xfce's vensterbeheerder).
- Muffin (een vork van mompelen voor Cinnamon-desktop).
Er zijn veel andere opties beschikbaar, sommige komen als onderdeel van een desktopomgeving, andere zijn ontwikkeld als afzonderlijke pakketten. Je kan zelfs gebruik alleen een windowmanager in plaats van een volledige desktopomgeving.
In sommige desktopomgevingen kunt u een vensterbeheerder van derden gebruiken. U kunt er bijvoorbeeld voor kiezen om Xfce te gebruiken met kwin. Hoewel GNOME & Cinnamon geen windowmanagers van derden ondersteunen (als je bijvoorbeeld probeerde om muffin geforceerd te vervangen in een Cinnamon-sessie door een andere windowmanager, zal het paneel verdwijnen).
Nu u de vensterbeheerder begrijpt, gaan we naar het volgende onderdeel.
3. De Login Manager (of Display Manager)
De login manager is het eerste grafische programma dat verschijnt om u een lijst met gebruikers te geven, zodat u er een selecteert en inlogt. Het geeft je ook de mogelijkheid om de gewenste desktopomgeving te kiezen. Hiermee kunt u eenvoudig schakelen tussen desktopomgevingen door uit te loggen, een andere desktopomgeving te kiezen en opnieuw in te loggen. Daarom wordt de login-manager een display-manager genoemd (niet te verwarren met de display-server).
De login manager identificeert de momenteel geïnstalleerde desktop-omgevingen door te kijken naar: /usr/share/xsessions map. Deze map bevat verschillende .bureaublad bestanden. Elk bestand komt overeen met een van de momenteel geïnstalleerde desktopomgevingen.
Er zijn ook veel login-managers in de buurt. De meest populaire zijn:
- Gdm (GNOME-weergavebeheer).
- Kdm (Kde-displaymanager).
- lightdm (Veel desktopomgevingen en Linux-distributies worden geleverd met lightdm omdat het zeer aanpasbaar en flexibel is).
De drie bovengenoemde componenten zijn de meest essentiële componenten van elke desktopomgeving. Dat betekent dat om een functionele grafische omgeving te hebben, je op zijn minst die pakketten moet hebben geïnstalleerd. Complete desktopomgevingen worden echter geleverd met verschillende andere pakketten die meer specifieke taken hebben.
Andere veelvoorkomende onderdelen van een desktopomgeving
Naast de bovenstaande componenten bevat de desktopomgeving die u gebruikt waarschijnlijk de volgende pakketten:
- Wallpaper manager: Verantwoordelijk voor het instellen van de wallpaper op je bureaublad.
- Bestandsbeheerinstantie voor het bureaublad: Verantwoordelijk voor het weergeven van bureaubladpictogrammen, dit maakt deel uit van de bestandsbeheerder die op uw systeem is geïnstalleerd. Nautilus-bestandsbeheer heeft bijvoorbeeld "nautilus_desktop" en nemo heeft "nemo_desktop".
- Schermvergrendeling: het vergrendelt uw computer na een tijdje niet gebruikt te zijn.
- Netwerkmanager: Netwerkmanager beheert uw internetverbindingen en schakelt automatisch tussen wifi en bekabelde verbinding. Het programma zelf voegt geen visuele elementen toe aan uw bureaublad, maar uw desktopomgeving moet er wel een GUI voor hebben geïmplementeerd, toegankelijk via het paneel of elders.
- Meldingsdaemon: wanneer een toepassing een melding wil weergeven, stuurt deze deze naar de meldingsdaemon om deze weer te geven.
- Policy Kit-authenticatieagent: dit is als een GUI voor sudo. Deze app verschijnt wanneer je acties uitvoert waarvoor rootrechten nodig zijn, zoals het installeren van software of het toepassen van updates.
- En vele anderen.
Merk op dat het instellen van de achtergrond en het weergeven van bureaubladpictogrammen worden afgehandeld door twee afzonderlijke toepassingen. Complete desktopomgevingen worden ook geleverd met vele andere pakketten die buiten het bestek van dit artikel vallen.
Ken de binnenkant van uw systeem
Voor Linux-gebruikers is het essentieel om de componenten van hun desktopomgeving te kennen voor het oplossen van problemen en het oplossen van problemen. Deze kennis kan ook van pas komen als u besluit uw eigen desktopomgeving te bouwen.
Windows-subsysteem voor Linux wordt geleverd zonder desktop. Hier leest u hoe u een WSL-desktopomgeving zoals GNOME of LXDE op Windows installeert.
Lees volgende
- Linux
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren