En av de fascinerande sakerna med Linux är möjligheten att se olika systemkomponenter. En av de viktigaste komponenterna i ett Linux-system är skrivbordsmiljön. Det låter dig få ut det mesta av din dator genom att tillhandahålla flera funktioner som att logga in, starta appar, visa widgets som panelen och så vidare.

Därför är det en komplicerad mjukvara.

Här kommer vi att reda ut en del av denna komplexitet genom att förklara tre av de viktigaste komponenterna i en skrivbordsmiljö: skärmservern, fönsterhanteraren och inloggningshanteraren.

1. Display-servern

Displayservern ligger i basen av skrivbordsmiljön. Displayserverns huvudsakliga uppgift är att hantera ritningsfunktioner på låg nivå, vilket innebär att den ritar direkt till skärmen. Andra grafiska program ritar inte direkt på skärmen; istället skickar de ritningsförfrågningar till displayservern, som ritar på skärmen åt dem.

Enkelt uttryckt ger displayservern applikationer pixelåtkomst. Så alla applikationer som behöver pixelåtkomst kommer att prata med displayservern. Till exempel, om en app vill skapa ett fönster ber de visningsservern att skapa det fönstret. Ett annat exempel på applikationer som kräver pixelåtkomst är skärminspelare, de får skärmdata från ett API som tillhandahålls av visningsservern.

instagram viewer

Varje applikation som beror på visningsservern sägs vara en klient. Displayservern ansvarar för att hantera kommunikationen mellan sina klienter och hårdvaruenheter. Den skickar signaler om tangentbords- och mushändelser till sina kunder.

Displayservern är också ansvarig för att rita muspekaren och kontrollera dess position.

X11 och Wayland är de två huvudalternativen för displayservrar. X11 är mycket äldre än Wayland. Faktum är att Wayland utvecklades för att vara efterföljaren till X11. Men X11 används fortfarande i stor utsträckning bland Linux-distros.

De ovan nämnda koncepten gäller både X11 och Wayland. Det finns dock stora skillnader mellan dem i sättet de kommunicerar med sina kunder. Wayland-klienter är mer isolerade än X11-klienter. Därmed anses Wayland vara säkrare än X11.

Det finns andra skillnader som du kan tänka på om du planerar att byta till Wayland, men i de flesta fall behöver du inte bry dig om dessa skillnader. Det beror på att apputvecklare använder verktygssatser på hög nivå (som Gtk+ och Qt) som stöder både X11 och Wayland. Även GNOME och KDE fungerar med både X11 och Wayland.

Läs mer: Vad du behöver veta om att använda Wayland

Efter att ha förstått vad en bildskärmsserver är och vad den gör, låt oss gå vidare till nästa komponent.

2. Fönsterhanterarenfönsterhanterare

Fönsterhanterarens funktion (som namnet antyder) är att hantera öppna fönster. Fönsterhantering innebär att kontrollera storleken på fönstren och deras position (som begärt av dig eller applikationer). Så varje gång du börjar dra runt ett fönster eller ändra storlek på det, är fönsterhanteraren ansvarig för att behandla din förfrågan.

Kom ihåg att för att dra ett fönster klickar du helt enkelt på dess namnlist, medan du för att ändra storlek klickar och drar i dess kanter. Det flyttar oss till nästa funktion för fönsterhanterare, som är att rita dekorationer runt fönster (titelfältet och kanterna kallas fönsterdekorationer).

Du kanske frågar, varför hanterar inte bildskärmsservern fönsterhantering? Jo, det gör det. I verkligheten gör fönsterhanterare vad de gör genom att kommunicera med visningsservern. Eftersom att kontrollera fönster och rita deras dekorationer kräver pixelåtkomst, kräver de att man pratar med skärmservern. Så fönsterhanteraren instruerar bara visningsservern, och skärmservern utför själva operationerna.

En annan viktig funktion som en fönsterhanterare kan ha är fönstersammansättning. Om den har den här funktionen kallas den för en fönsterkompositör. Det gör att applikationer kan göra några coola saker, som att tillåta transparens, oskärpa, rita fönsterskuggor, animera fönster när de flyttas/minimeras/maximeras och andra visuella effekter.

Exempel på fönsterhanterare

Det finns gott om alternativ tillgängliga (till skillnad från displayservrar, där det bara finns två alternativ). Bland de mest populära är:

  • Kwin (kommer med KDE).
  • Mutter (levereras med GNOME).
  • Xfwm (Xfces fönsterhanterare).
  • Muffin (en gaffel av muttra för skrivbordet Cinnamon).

Det finns många andra alternativ tillgängliga, vissa kommer som en del av en skrivbordsmiljö, andra är utvecklade som enstaka paket. Du kan till och med använd enbart en fönsterhanterare istället för en komplett skrivbordsmiljö.

Vissa skrivbordsmiljöer tillåter dig att använda en fönsterhanterare från tredje part. Du kan till exempel välja att använda Xfce med kwin. Medan GNOME & Cinnamon inte stöder fönsterhanterare från tredje part (om du till exempel försökte ersätta muffins med våld i en Cinnamon-session med en annan fönsterhanterare, försvinner panelen).

Nu förstår du fönsterhanteraren, låt oss gå till nästa komponent.

3. Inloggningshanteraren (eller Display Manager)

Inloggningshanteraren är det första grafiska programmet som dyker upp för att ge dig en lista över användare så att du väljer en och loggar in. Det ger dig också möjlighet att välja den skrivbordsmiljö du vill ha. Detta gör att du kan växla mellan skrivbordsmiljöer helt enkelt genom att logga ut, välja en annan skrivbordsmiljö och logga in igen. Det är därför inloggningshanteraren kallas en skärmhanterare (inte att förväxla med visningsservern).

Inloggningshanteraren identifierar de för närvarande installerade skrivbordsmiljöerna genom att titta på /usr/share/xsessions katalog. Denna katalog innehåller flera .desktop filer. Varje fil motsvarar en av de för närvarande installerade skrivbordsmiljöerna.

Det finns också många inloggningsansvariga runt omkring. De mest populära är:

  • Gdm (GNOME display manager).
  • Kdm (Kde display manager).
  • lightdm (Många skrivbordsmiljöer och Linux-distros kommer med lightdm eftersom det är mycket anpassningsbart och flexibelt).

De tre ovannämnda komponenterna är de viktigaste komponenterna i alla skrivbordsmiljöer. Det betyder att för att ha en fungerande grafisk miljö bör du åtminstone ha dessa paket installerade. Men kompletta skrivbordsmiljöer levereras med olika andra paket som har mer specifika jobb.

Andra vanliga komponenter i en skrivbordsmiljö

Utöver ovanstående komponenter innehåller förmodligen skrivbordsmiljön du använder följande paket:

  • Tapethanterare: Ansvarig för att ställa in tapeten på ditt skrivbord.
  • Filhanterarinstans för skrivbordet: Ansvarig för att visa skrivbordsikoner, detta kommer som en del av filhanteraren installerad på ditt system. Till exempel har nautilus filhanterare "nautilus_desktop" och nemo har "nemo_desktop".
  • Skärmlås: Det låser din dator efter en stunds uranvändning.
  • Nätverkshanteraren: Nätverkshanteraren är det som hanterar dina internetanslutningar och växlar automatiskt mellan Wi-Fi och trådbunden anslutning. Programmet i sig lägger inte till några visuella element till ditt skrivbord, men din skrivbordsmiljö måste ha implementerat ett GUI för det, tillgängligt från panelen eller någon annanstans.
  • Aviseringsdemon: När ett program vill visa ett meddelande, skickar det det till meddelandedemonen för att visa det.
  • Policy Kit-autentiseringsagent: Det här är som ett GUI för sudo. Den här appen dyker upp när du gör åtgärder som kräver root-privilegier som att installera programvara eller tillämpa uppdateringar.
  • Och många andra.

Observera att inställning av bakgrundsbild och visning av skrivbordsikoner hanteras av två separata applikationer. Kompletta skrivbordsmiljöer kommer också med många andra paket som ligger utanför ramen för denna artikel.

Lär dig det interna i ditt system

För Linux-användare är det viktigt att känna till komponenterna i deras skrivbordsmiljö för att felsöka och åtgärda problem. Denna kunskap kan också komma till hands om du bestämmer dig för att bygga din egen skrivbordsmiljö.

Hur man kör ett Linux-skrivbord med Windows-undersystemet för Linux

Windows Subsystem för Linux kommer utan skrivbord. Så här installerar du en WSL-skrivbordsmiljö som GNOME eller LXDE på Windows.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Linux
Om författaren
MUO personal

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera