{"id":85639,"date":"2022-10-07T22:52:47","date_gmt":"2022-10-08T03:52:47","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/"},"modified":"2022-10-07T22:52:47","modified_gmt":"2022-10-08T03:52:47","slug":"vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/","title":{"rendered":"Vad \u00e4r skillnaden mellan Display Server, Display Manager och Window Manager?"},"content":{"rendered":"<div>\n<p>En av de fascinerande sakerna med Linux \u00e4r m\u00f6jligheten att se olika systemkomponenter.  En av de viktigaste komponenterna i ett Linux-system \u00e4r skrivbordsmilj\u00f6n.  Det l\u00e5ter dig f\u00e5 ut det mesta av din dator genom att tillhandah\u00e5lla flera funktioner som att logga in, starta appar, visa widgets som panelen och s\u00e5 vidare.<\/p>\n<p>D\u00e4rf\u00f6r \u00e4r det en komplicerad mjukvara.<\/p>\n<p>H\u00e4r kommer vi att reda ut en del av denna komplexitet genom att f\u00f6rklara tre av de viktigaste komponenterna i en skrivbordsmilj\u00f6: sk\u00e4rmservern, f\u00f6nsterhanteraren och inloggningshanteraren.<\/p>\n<h2 id=\"the-display-server\"><span class=\"ez-toc-section\" id=\"1_Displayservern\"><\/span>  1. Displayservern<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<figure>\n<\/figure>\n<p>  Displayservern ligger i basen av skrivbordsmilj\u00f6n.  Displayserverns huvudsakliga uppgift \u00e4r att hantera ritfunktioner p\u00e5 l\u00e5g niv\u00e5, vilket inneb\u00e4r att den ritar direkt till sk\u00e4rmen.  Andra grafiska program ritar inte direkt p\u00e5 sk\u00e4rmen;  ist\u00e4llet skickar de ritningsf\u00f6rfr\u00e5gningar till displayservern, som ritar p\u00e5 sk\u00e4rmen \u00e5t dem.<\/p>\n<p>Enkelt uttryckt ger displayservern applikationer pixel\u00e5tkomst.  S\u00e5 alla applikationer som beh\u00f6ver pixel\u00e5tkomst kommer att prata med displayservern.  Till exempel, om en app vill skapa ett f\u00f6nster ber de visningsservern att skapa det f\u00f6nstret.  Ett annat exempel p\u00e5 applikationer som kr\u00e4ver pixel\u00e5tkomst \u00e4r sk\u00e4rminspelare, de f\u00e5r sk\u00e4rmdata fr\u00e5n ett API som tillhandah\u00e5lls av visningsservern.<\/p>\n<p>Varje applikation som beror p\u00e5 visningsservern s\u00e4gs vara en klient.  Displayservern ansvarar f\u00f6r att hantera kommunikationen mellan sina klienter och h\u00e5rdvaruenheter.  Den skickar signaler om tangentbords- och mush\u00e4ndelser till sina kunder.<\/p>\n<p>Displayservern \u00e4r ocks\u00e5 ansvarig f\u00f6r att rita muspekaren och kontrollera dess position.<\/p>\n<p>X11 och Wayland \u00e4r de tv\u00e5 huvudalternativen f\u00f6r displayservrar.  X11 \u00e4r mycket \u00e4ldre \u00e4n Wayland.  Faktum \u00e4r att Wayland utvecklades f\u00f6r att vara efterf\u00f6ljaren till X11.  Men X11 anv\u00e4nds fortfarande i stor utstr\u00e4ckning bland Linux-distros.<\/p>\n<p>De ovan n\u00e4mnda koncepten g\u00e4ller b\u00e5de X11 och Wayland.  Det finns dock stora skillnader mellan dem i s\u00e4ttet de kommunicerar med sina kunder.  Wayland-klienter \u00e4r mer isolerade \u00e4n X11-klienter.  D\u00e4rmed anses Wayland vara s\u00e4krare \u00e4n X11.<\/p>\n<p>Det finns andra skillnader som du kan t\u00e4nka p\u00e5 om du planerar att byta till Wayland, men i de flesta fall beh\u00f6ver du inte bry dig om dessa skillnader.  Det beror p\u00e5 att apputvecklare anv\u00e4nder verktygssatser p\u00e5 h\u00f6g niv\u00e5 (som Gtk+ och Qt) som st\u00f6der b\u00e5de X11 och Wayland.  \u00c4ven GNOME och KDE fungerar med b\u00e5de X11 och Wayland.<\/p>\n<p>Efter att ha f\u00f6rst\u00e5tt vad en bildsk\u00e4rmsserver \u00e4r och vad den g\u00f6r, l\u00e5t oss g\u00e5 vidare till n\u00e4sta komponent.<\/p>\n<h2 id=\"the-window-manager\"><span class=\"ez-toc-section\" id=\"2_Fonsterhanteraren\"><\/span>  2. F\u00f6nsterhanteraren<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>F\u00f6nsterhanterarens funktion (som namnet antyder) \u00e4r att hantera \u00f6ppna f\u00f6nster.  F\u00f6nsterhantering inneb\u00e4r att kontrollera storleken p\u00e5 f\u00f6nstren och deras position (som beg\u00e4rt av dig eller applikationer).  S\u00e5 varje g\u00e5ng du b\u00f6rjar dra runt ett f\u00f6nster eller \u00e4ndra storlek p\u00e5 det, \u00e4r f\u00f6nsterhanteraren ansvarig f\u00f6r att behandla din f\u00f6rfr\u00e5gan.<\/p>\n<p>Kom ih\u00e5g att f\u00f6r att dra ett f\u00f6nster klickar du helt enkelt p\u00e5 dess namnlist, medan du f\u00f6r att \u00e4ndra storlek klickar och drar i dess kanter.  Det flyttar oss till n\u00e4sta funktion f\u00f6r f\u00f6nsterhanterare, som \u00e4r att rita dekorationer runt f\u00f6nster (titelraden och kanterna kallas f\u00f6nsterdekorationer).<\/p>\n<p>Du kanske fr\u00e5gar, varf\u00f6r hanterar inte bildsk\u00e4rmsservern f\u00f6nsterhantering?  Jo, det g\u00f6r det.  I verkligheten g\u00f6r f\u00f6nsterhanterare vad de g\u00f6r genom att kommunicera med visningsservern.  Eftersom att kontrollera f\u00f6nster och rita deras dekorationer kr\u00e4ver pixel\u00e5tkomst, kr\u00e4ver de att man pratar med sk\u00e4rmservern.  S\u00e5 f\u00f6nsterhanteraren instruerar bara visningsservern, och sk\u00e4rmservern utf\u00f6r sj\u00e4lva operationerna.<\/p>\n<p>En annan viktig funktion som en f\u00f6nsterhanterare kan ha \u00e4r f\u00f6nstersammans\u00e4ttning.  Om den har den h\u00e4r funktionen kallas den f\u00f6r en f\u00f6nsterkomposit\u00f6r.  Det g\u00f6r att applikationer kan g\u00f6ra n\u00e5gra coola saker, som att till\u00e5ta transparens, osk\u00e4rpa, rita f\u00f6nsterskuggor, animera f\u00f6nster n\u00e4r de flyttas\/minimeras\/maximeras och andra visuella effekter.<\/p>\n<h3 id=\"examples-of-window-managers\"><span class=\"ez-toc-section\" id=\"Exempel_pa_fonsterhanterare\"><\/span>Exempel p\u00e5 f\u00f6nsterhanterare<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Det finns gott om alternativ tillg\u00e4ngliga (till skillnad fr\u00e5n displayservrar, d\u00e4r det bara finns tv\u00e5 alternativ).  Bland de mest popul\u00e4ra \u00e4r:<\/p>\n<p>  Kwin (kommer med KDE).  Mutter (levereras med GNOME).  Xfwm (Xfces f\u00f6nsterhanterare).  Muffin (en gaffel av muttra f\u00f6r skrivbordet Cinnamon).  <\/p>\n<p>Det finns m\u00e5nga andra alternativ tillg\u00e4ngliga, vissa kommer som en del av en skrivbordsmilj\u00f6, andra \u00e4r utvecklade som enstaka paket.  Du kan till och med anv\u00e4nda en f\u00f6nsterhanterare ensam ist\u00e4llet f\u00f6r en komplett skrivbordsmilj\u00f6.<\/p>\n<p>Vissa skrivbordsmilj\u00f6er till\u00e5ter dig att anv\u00e4nda en f\u00f6nsterhanterare fr\u00e5n tredje part.  Du kan till exempel v\u00e4lja att anv\u00e4nda Xfce med kwin.  Medan GNOME &amp; Cinnamon inte st\u00f6der f\u00f6nsterhanterare fr\u00e5n tredje part (om du till exempel f\u00f6rs\u00f6kte ers\u00e4tta muffins med v\u00e5ld i en Cinnamon-session med en annan f\u00f6nsterhanterare, f\u00f6rsvinner panelen).<\/p>\n<p>Nu f\u00f6rst\u00e5r du f\u00f6nsterhanteraren, l\u00e5t oss g\u00e5 till n\u00e4sta komponent.<\/p>\n<h2 id=\"the-login-manager-or-display-manager\"><span class=\"ez-toc-section\" id=\"3_Inloggningshanteraren_eller_Display_Manager\"><\/span>  3. Inloggningshanteraren (eller Display Manager)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<figure>\n<\/figure>\n<p>  Inloggningshanteraren \u00e4r det f\u00f6rsta grafiska programmet som dyker upp f\u00f6r att ge dig en lista \u00f6ver anv\u00e4ndare s\u00e5 att du v\u00e4ljer en och loggar in.  Det ger dig ocks\u00e5 m\u00f6jlighet att v\u00e4lja den skrivbordsmilj\u00f6 du vill ha.  Detta g\u00f6r att du kan v\u00e4xla mellan skrivbordsmilj\u00f6er helt enkelt genom att logga ut, v\u00e4lja en annan skrivbordsmilj\u00f6 och logga in igen.  Det \u00e4r d\u00e4rf\u00f6r inloggningshanteraren kallas en sk\u00e4rmhanterare (inte att f\u00f6rv\u00e4xla med visningsservern).<\/p>\n<p>Inloggningshanteraren identifierar de f\u00f6r n\u00e4rvarande installerade skrivbordsmilj\u00f6erna genom att titta p\u00e5 <strong>\/usr\/share\/xsessions<\/strong> katalog.  Denna katalog inneh\u00e5ller flera <strong>.desktop<\/strong> filer.  Varje fil motsvarar en av de f\u00f6r n\u00e4rvarande installerade skrivbordsmilj\u00f6erna.<\/p>\n<p>Det finns ocks\u00e5 m\u00e5nga inloggningsansvariga runt omkring.  De mest popul\u00e4ra \u00e4r:<\/p>\n<p>  Gdm (GNOME display manager).  Kdm (Kde display manager).  lightdm (M\u00e5nga skrivbordsmilj\u00f6er och Linux-distros kommer med lightdm eftersom det \u00e4r mycket anpassningsbart och flexibelt).  <\/p>\n<p>De tre ovann\u00e4mnda komponenterna \u00e4r de viktigaste komponenterna i alla skrivbordsmilj\u00f6er.  Det betyder att f\u00f6r att ha en fungerande grafisk milj\u00f6 b\u00f6r du \u00e5tminstone ha dessa paket installerade.  Men kompletta skrivbordsmilj\u00f6er levereras med olika andra paket som har mer specifika jobb.<\/p>\n<h2 id=\"other-common-components-of-a-desktop-environment\"><span class=\"ez-toc-section\" id=\"Andra_vanliga_komponenter_i_en_skrivbordsmiljo\"><\/span>  Andra vanliga komponenter i en skrivbordsmilj\u00f6<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ut\u00f6ver ovanst\u00e5ende komponenter inneh\u00e5ller f\u00f6rmodligen skrivbordsmilj\u00f6n du anv\u00e4nder f\u00f6ljande paket:<\/p>\n<p>  Tapethanterare: Ansvarig f\u00f6r att st\u00e4lla in tapeten p\u00e5 ditt skrivbord.  Filhanterarinstans f\u00f6r skrivbordet: Ansvarig f\u00f6r att visa skrivbordsikoner, detta kommer som en del av filhanteraren installerad p\u00e5 ditt system.  Till exempel har nautilus filhanterare \u201cnautilus_desktop\u201d och nemo har \u201cnemo_desktop\u201d.  Sk\u00e4rml\u00e5s: Det l\u00e5ser din dator efter en stunds uranv\u00e4ndning.  N\u00e4tverkshanteraren: N\u00e4tverkshanteraren \u00e4r det som hanterar dina internetanslutningar och v\u00e4xlar automatiskt mellan Wi-Fi och tr\u00e5dbunden anslutning.  Programmet i sig l\u00e4gger inte till n\u00e5gra visuella element till ditt skrivbord, men din skrivbordsmilj\u00f6 m\u00e5ste ha implementerat ett GUI f\u00f6r det, tillg\u00e4ngligt fr\u00e5n panelen eller n\u00e5gon annanstans.  Aviseringsdemon: N\u00e4r ett program vill visa ett meddelande, skickar det det till meddelandedemonen f\u00f6r att visa det.  Policy Kit-autentiseringsagent: Det h\u00e4r \u00e4r som ett GUI f\u00f6r sudo.  Den h\u00e4r appen dyker upp n\u00e4r du g\u00f6r \u00e5tg\u00e4rder som kr\u00e4ver root-privilegier som att installera programvara eller till\u00e4mpa uppdateringar.  Och m\u00e5nga andra.  <\/p>\n<p>Observera att inst\u00e4llning av bakgrundsbild och visning av skrivbordsikoner hanteras av tv\u00e5 separata applikationer.  Kompletta skrivbordsmilj\u00f6er kommer ocks\u00e5 med m\u00e5nga andra paket som ligger utanf\u00f6r ramen f\u00f6r denna artikel.<\/p>\n<h2 id=\"know-the-internals-of-your-system\"><span class=\"ez-toc-section\" id=\"Lar_dig_det_interna_i_ditt_system\"><\/span>  L\u00e4r dig det interna i ditt system<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>F\u00f6r Linux-anv\u00e4ndare \u00e4r det viktigt att k\u00e4nna till komponenterna i deras skrivbordsmilj\u00f6 f\u00f6r att fels\u00f6ka och \u00e5tg\u00e4rda problem.  Denna kunskap kan ocks\u00e5 komma till hands om du best\u00e4mmer dig f\u00f6r att bygga din egen skrivbordsmilj\u00f6.<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Hamza Algohary (2 artiklar publicerade)<br \/><\/strong><\/p>\n<p>                            Mer fr\u00e5n Hamza Algohary<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#1_Displayservern\" >1. Displayservern<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#2_Fonsterhanteraren\" >2. F\u00f6nsterhanteraren<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#Exempel_pa_fonsterhanterare\" >Exempel p\u00e5 f\u00f6nsterhanterare<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#3_Inloggningshanteraren_eller_Display_Manager\" >3. Inloggningshanteraren (eller Display Manager)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#Andra_vanliga_komponenter_i_en_skrivbordsmiljo\" >Andra vanliga komponenter i en skrivbordsmilj\u00f6<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#Lar_dig_det_interna_i_ditt_system\" >L\u00e4r dig det interna i ditt system<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogging-techies.com\/sw\/vad-ar-skillnaden-mellan-display-server-display-manager-och-window-manager\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>En av de fascinerande sakerna med Linux \u00e4r m\u00f6jligheten att se olika systemkomponenter. En av de viktigaste komponenterna i ett Linux-system \u00e4r skrivbordsmilj\u00f6n. Det l\u00e5ter dig f\u00e5 ut det mesta av din dator genom att tillhandah\u00e5lla flera funktioner som att logga in, starta appar, visa widgets som panelen och s\u00e5 vidare. D\u00e4rf\u00f6r \u00e4r det en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":85640,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[24,3394,17323,52,26,3638,8372,23,32423],"class_list":["post-85639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-ar","tag-display","tag-manager","tag-mellan","tag-och","tag-server","tag-skillnaden","tag-vad","tag-window"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/85639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=85639"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/85639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/85640"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=85639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=85639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=85639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}