Hvordan jeg rangerer Linux vinduesadministratorer

Indeks
  1. Hvad er de hovedting, jeg ser efter i en Linux-vinduesadministrator?
    1. Hvordan håndterer vinduesadministratoren vinduerne?
    2. Er det konfigurerbart med et rigtigt programmeringssprog?
    3. Er det ved brug af Wayland eller X11?
    4. Hvad er nogle andre faktorer værd at overveje?
  2. Så, hvilken Linux vinduesadministrator topper min liste?

Denne guide udforsker forskellene mellem Linux-vinduesadministratorer, fokuserer på layouts, konfiguration og protokolvalg, samt giver anbefalinger baseret på brugeroplevelser.

Ved første øjekast ligner de fleste Linux-vinduesadministratorer på overfladen hinanden. Det er først, når du begynder at bruge dem, at du indser, hvordan de forskelligt håndterer dit arbejdsflow. Her er en hurtig oversigt over, hvordan Linux-vinduesadministratorer adskiller sig – og hvilke jeg rangerer over de andre.

Hvad er de hovedting, jeg ser efter i en Linux-vinduesadministrator?

Der er tre hovedpunkter, jeg fokuserer på i en Linux-vinduesadministrator (WM): hvordan den håndterer vindueslayouts, hvordan dens konfigurationssystem fungerer, og om den kører på Wayland eller X11. Her er en mere detaljeret oversigt over, hvordan disse faktorer påvirker dit samlede arbejdsflow.

Hvordan håndterer vinduesadministratoren vinduerne?

Der er tre fundamentale måder, en vinduesadministrator kan håndtere dine vinduer på: flydende, flisebelagt og den helt nye - scrollende.

Flydende vinduesadministratorer - også kendt som stakkede vinduesadministratorer - er det, som de fleste mennesker allerede er bekendt med fra brugen af Windows eller en standard Ubuntu-skrivebord. App-vinduer flyder frit på skærmen, kan overlappe hinanden og flyttes primært med musen - tænk på det som at organisere papirer på et skrivebord. Det er intuitivt, men jo flere papirer (vinduer) du tilføjer, desto sværere bliver det at finde det, du har brug for. Almindelige eksempler inkluderer Openbox, IceWM og Fluxbox.

Næste er flisebelagte vinduesadministratorer. De opgiver papir-lignende metaforen og behandler i stedet din skærm som et gitter af fliser. Hvert vindue får sin egen dedikerede plads (flise), og ingenting overlapper som standard. Du kan stadig tillade visse vinduer - som en regner eller medieafspiller - at flyde, men de fleste vinduer vil flise automatisk.

Nu er der to hovedmetoder til flisebelægning: manuel og dynamisk. Med manuel flisebelægning beslutter du, hvor hvert vindue skal placeres, og hvor meget skærmplads det får. i3 og Sway er populære eksempler på denne stil. Med dynamisk flisebelægning vælger du mellem foruddefinerede layoutalgoritmer - såsom master-stack eller monocle - og vinduesadministratoren arrangerer automatisk vinduerne i henhold til det layout. AwesomeWM, dwm, og XMonad er velkendte eksempler.

Personligt er dynamisk flisebelægning min foretrukne stil. Men hvis du er helt ny, kan manuel flisebelægning føles mere forudsigelig. Når du identificerer de layouts, du konstant vender tilbage til, kan skiftet til en dynamisk vinduesadministrator og automation af disse layouts betydeligt strømline dit arbejdsflow.

Scrollende vinduesadministratorer er de nyeste og mest niche af de tre. I stedet for at passe vinduer ind i et fast gitter, arrangerer de dem på et uendeligt scrollbar lærred - ofte vandret - så du bevæger dig gennem din arbejdsplads i stedet for at omarrangere fliserne. Niri er i øjeblikket det mest markante eksempel på denne tilgang. Her er en 1-minutters YouTube-video, der viser, hvordan det fungerer:

Er det konfigurerbart med et rigtigt programmeringssprog?

På GNOME, KDE Plasma eller andre skrivebords-miljøer får du en grafisk indstillingsside med kontakter og dropdown-menuer, der hjælper dig med at konfigurere dens opførsel. Men alle de populære vinduesadministratorer er konfigureret gennem en konfigurationsfil - en almindelig tekstfil, hvor du præciserer nøjagtigt, hvordan du vil have, at alt skal fungere.

Nu er ikke alle konfigurationsfiler skabt lige. Nogle vinduesadministratorer - som i3 og Hyprland - bruger en tilpasset syntaks. Du skriver enkle, menneskelige læsbare tekstdirektiver, der fortæller WM, hvad den skal gøre. Det er let at lære og forstå, selv uden en programmeringsbaggrund. Ulempen er, at du er begrænset til de muligheder, udvikleren har valgt at gøre tilgængelige. Hvis du ønsker en funktion, der ikke understøttes af syntaksen, skal du ty til eksterne scripts eller tredjeparts-plugins.

Derefter er der vinduesadministratorer, hvor konfigurationsfilen i det væsentlige er et fuldt programmeringssprog. For eksempel bruger Qtile Python, AwesomeWM bruger Lua, og XMonad bruger Haskell. Dette gør tilpasningsmulighederne næsten ubegribelige. Den eneste reelle begrænsning er dit kendskab til sproget. Da jeg ikke er programmerer, holder jeg mig til WM'er, der er baseret på tilpasset syntaks - og ærligt talt, for de fleste anvendelser er de mere end kapable.

Med moderne AI-værktøjer er det ikke nødvendigt at kende et program.

Sprog er ikke den barriere, det engang var. Du kan bruge AI til at generere kodekonfigurationer, teste dem i en virtuel maskine og implementere dem, når du er sikker på, at alt fungerer som forventet.

Er det ved brug af Wayland eller X11?

De fleste moderne vinduesadministratorer er bygget oven på enten X11 eller Wayland som deres displayprotokol, og valget former, hvilken software der er tilgængelig for dig, hvordan dit system opfører sig, og hvilken oplevelse du ender med. I vores diskussion om vinduesadministratorer er det mest relevante forskelspunkt mellem X11 og Wayland, at X11 er modulært, og vinduesadministratoren og compositoren er forskellige, mens compositoren i Wayland erstatter displayserveren og integrerer funktionalitet til vinduesadministration.

Denne arkitektur gør X11 mere modulært. For eksempel, hvis compositoren går i stykker, vil du stadig have en fungerende vinduesadministrator - med en reduktion i visuel kvalitet. Derudover har X11 været standard displayprotokol siden slutningen af 80'erne, hvilket betyder, at dusinvis af vinduesadministratorer er bygget oven på det - kast en dart blindt, og du vil næsten helt sikkert ramme en X11-baseret vinduesadministrator.

Det sagt, er dette ikke et tilfælde af, at gammelt er guld. X11 har veldokumenterede sikkerhedsanfald - apps kan logge dine tastetryk eller fange indholdet af andre vinduer. Det er typisk ikke et problem, hvis du er forsigtig, men en mere sikker platform burde eksistere, og det er, hvad Wayland tilbyder. Projektet startede tilbage i 2008 og, foruden at være mere sikkert, tilbyder det nogle reelle moderne fordele som bedre multi-skærmsupport, VRR, fraktionel skalering og native vsync.

På den anden side er det lidt mere kompliceret at lave en Wayland-baseret vinduesadministrator, fordi den "ejer stakken" - hvilket betyder, at udvikleren skal bygge (eller implementere biblioteker til) hele økosystemet, inklusive skærmlåsning, inaktivitetshåndtering og baggrundshåndtering. Sammenholdt med det faktum, at det er en relativt ny protokol, og der ikke er mange Wayland-baserede muligheder at vælge imellem. Nogle bemærkelsesværdige nævnelser inkluderer Hyprland, Sway, River, Wayfire og Niri.

Et andet problem med at gå med Wayland er, at mange apps og arbejdsprocesser, der var kompatible med X11, måske ikke fungerer. Heldigvis har XWayland-kompatibilitetslaget løst dette i høj grad. Derudover er det også værd at overveje, at dette problem kun er midlertidigt, da samfundet generelt bevæger sig mod at standardisere Wayland og erstatte X11.

Hvad er nogle andre faktorer værd at overveje?

Udover de tre hovedkriterier, jeg lige har dækket, er der et par andre faktorer, der er værd at huske på, når du vælger en vinduesadministrator - ting som hvor tastaturcentreret den er, hvor meget tid du vil bruge på at opsætte den, og den samlede størrelse på fællesskabet. For mig personligt påvirker disse punkter ikke meget, så jeg fokuserer ikke stærkt på dem.

For eksempel, da du skifter til vinduesadministratorer, er det givet, at du ønsker en mere tastaturcentreret arbejdsgang. Nu er der et par vinduesadministratorer som Ratpoison (dvs. gift for din mus) og XMonad, der går til det yderste og gør musen praktisk talt ubrugelig i din arbejdsgang. Dog har de fleste vinduesadministratorer stadig en vis mus-baseret nytte - du kan bruge den til at få adgang til en højrekliksmenu, fokusere på vinduer eller endda flytte dem rundt. Som en vinduesadministratorbruger bør prioriteten dog være at blive mere tastatur-venlig.

Næste spørgsmål er, hvor minimal vinduesadministratoren faktisk er. For eksempel er XMonad berømt bare og leveres med intet - ingen panel, ingen systembakke, ingen app-launcher, ingen baggrundsindstilling. Du skal gøre alt dette selv. På den anden side kommer AwesomeWM og Qtile med et forudkonfigureret panel, en systembakke og en informationslinje - hvilket er nyttigt for nogle og unødvendigt for andre. For mig specifikt foretrækker jeg at have noget frem for intet, især da disse værktøjer er super minimale og kan nemt erstattes, hvis jeg ikke kan lide dem.

Endelig skal vi tale om fællesskabsstørrelse. Hvis du er en, der kan lide at browse forum, stille spørgsmål eller hente andres konfigurationsfiler og scripts til at bruge som udgangspunkt, giver det rigtig god mening at vælge en mere populær vinduesadministrator - større fællesskaber betyder flere delte ressourcer. Jeg falder også ind i denne gruppe. Men hvis du er tryg ved at læse dokumentation og finde ud af tingene selv, kan du vælge noget niche eller populært - det betyder faktisk ikke noget.

Så, hvilken Linux vinduesadministrator topper min liste?

Mens mit primære arbejdsystem kører KDE Plasma, har jeg afslappet testet Linux vinduesadministratorer i lidt over et år nu.

Denne gang har jeg brugt fem vinduesmanagere: Openbox, i3, AwesomeWM, Qtile og Hyprland. Her er en hurtig oversigt over hver:

VinduesmangerLayoutstilProgrammerbar konfigurationsfilWayland eller X11Tastaturcentreret niveauMinimal / Opsætningsoplevelse
OpenboxStabling (Flydende)Nej. Konfigureret via XML/tekstfiler.X11Primært mus-drevet, men understøtter tastaturskabelonerEkstremt minimal. Kræver opsætning af eksterne værktøjer.
i3 (i3wm)Manuel TilingNej. Bruger en specifik, simpel tilpasset syntaks.X11. (Sway er Wayland erstatningen).Designet til at være 100% tastaturdrevet. Understøtter nogle mus-baserede interaktioner.Nem initial opsætning. Kommer med i3bar (panel) fra starten.
AwesomeWMDynamisk TilingJa. Skrevet og konfigureret i Lua.X11.Stærk tastaturunderstøttelse, men musvenligLeveres klar med panel, tray, launcher, menu
QtileDynamisk Tiling.Ja. Skrevet og konfigureret i Python.Både X11 og Wayland.Tastaturbaseret, fokuseret på Tiling. Mus brugbar på barenLeveres med en kraftfuld indbygget bar og widgets
HyprlandDynamisk TilingNej. Konfigurationsfil understøtter tilpasset syntaks.WaylandTastaturfokus, men med glat musunderstøttelseMeget minimal. Kræver en ekstern bar, notifikationer osv.

Nu anser jeg mig selv for at være en “avanseret” nybegynder inden for Linux WMs—og ud fra min erfaring, ville jeg placere i3 øverst på min liste. Det er den nemmeste WM at komme i gang med. Hyprland kommer nært efter på grund af, hvor godt det kan se ud med et par timers opsætning og konfiguration. Det sagt, hvis du er komfortabel med programmering og villig til at lære Lua, synes jeg, AwesomeWM er et fremragende valg, selv for begyndere.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Go up