Tech Handbook Null Yard

Menedżery okien w Linuxie

Menedżer okien jest tylko jedną warstwą środowiska graficznego. W X11 i Waylandzie ta warstwa działa inaczej, dlatego przy porównywaniu i3, Sway, Hyprland czy KWin trzeba odróżniać klasyczny window manager od compositora.

Powiązane tematy: Dystrybucje Linuxa oraz Debian - desktop i serwer.

1. Czym jest menedżer okien?

Window Manager (WM), czyli menedżer okien, odpowiada przede wszystkim za:

  • pozycjonowanie okien,
  • zmianę ich rozmiaru,
  • przełączanie między oknami,
  • obsługę pulpitów/workspace’ów,
  • dekoracje okien,
  • skróty klawiszowe związane z oknami,
  • reguły określające, gdzie konkretne aplikacje mają się pojawić.

Menedżer okien nie musi dostarczać kompletnego środowiska graficznego.

Przykładowo:

  • GNOME to kompletne środowisko graficzne,
  • KDE Plasma to kompletne środowisko graficzne,
  • i3 to przede wszystkim menedżer okien,
  • Sway to menedżer okien i compositor dla Waylanda,
  • Hyprland to compositor Wayland z funkcjami menedżera okien.

Typowy minimalny system oparty o WM może składać się z:

Linux
 ├── X11 albo Wayland
 ├── window manager / compositor
 ├── terminal
 ├── launcher aplikacji
 ├── panel/status bar
 ├── notification daemon
 ├── file manager
 └── aplikacje użytkownika

W środowisku typu GNOME albo KDE większość tych elementów otrzymujemy jako gotową całość.


2. Window Manager vs Desktop Environment

Window Manager

WM zajmuje się głównie oknami.

Przykłady:

i3
bspwm
Openbox
Fluxbox
IceWM
AwesomeWM
XMonad
dwm
Qtile

Desktop Environment

Desktop Environment dostarcza całe środowisko pracy.

Przykłady:

GNOME
KDE Plasma
XFCE
LXQt
Cinnamon
MATE

DE zazwyczaj posiada własny menedżer okien.

Przykładowo:

Desktop Environment Menedżer okien / compositor
GNOME Mutter
KDE Plasma KWin
XFCE Xfwm
Cinnamon Muffin
MATE Marco

3. X11 i Wayland

To jedna z najważniejszych rzeczy przy wyborze WM.

X11

Starszy, bardzo dojrzały system graficzny.

Typowe WM-y:

i3
bspwm
Openbox
Fluxbox
AwesomeWM
XMonad
dwm
IceWM
Qtile

Zalety:

  • ogromna kompatybilność,
  • mnóstwo narzędzi,
  • łatwa automatyzacja,
  • dużo dokumentacji,
  • łatwe przechwytywanie wejścia i kontrolowanie okien.

Wady:

  • stara architektura,
  • słabsza izolacja aplikacji,
  • trudniejsza obsługa niektórych nowoczesnych funkcji,
  • wielomonitorowość i skalowanie bywają mniej eleganckie.

Wayland

Nowszy standard komunikacji aplikacji z compositorami.

W Waylandzie compositor przejmuje również funkcję menedżera okien.

Typowe rozwiązania:

Sway
Hyprland
Wayfire
River
Labwc
KWin
Mutter

Zalety:

  • nowocześniejsza architektura,
  • lepsza izolacja aplikacji,
  • dobre skalowanie HiDPI,
  • lepsza obsługa nowoczesnych monitorów,
  • zwykle mniejsze problemy z tearingiem.

Wady:

  • część starych aplikacji działa przez XWayland,
  • niektóre narzędzia z X11 mają inne odpowiedniki,
  • część automatyzacji wymaga innych metod.

4. Floating vs Tiling

Floating Window Manager

Klasyczny model znany z Windows, macOS, GNOME czy KDE.

Okna:

  • nakładają się,
  • można je przeciągać myszką,
  • ręcznie zmieniamy ich rozmiar.

Przykłady:

Openbox
Fluxbox
IceWM
Labwc

Tiling Window Manager

Okna automatycznie dzielą ekran.

Przykład:

+-------------------+-------------------+
|                   |                   |
|     Terminal      |      Browser      |
|                   |                   |
+-------------------+-------------------+
|                                       |
|                 Editor                |
|                                       |
+---------------------------------------+

Najpopularniejsze:

i3
Sway
bspwm
AwesomeWM
XMonad
dwm
Qtile
Hyprland
River

Tiling jest szczególnie wygodny dla:

  • programistów,
  • administratorów,
  • użytkowników terminala,
  • pracy na wielu monitorach.

5. Dynamiczne i manualne tiling WM

Tiling może działać na różne sposoby.

Manual tiling

Użytkownik decyduje, gdzie pojawi się kolejne okno.

Przykład:

i3
Sway

Można określić:

split horizontal
split vertical

Dynamic tiling

WM sam układa okna według określonego algorytmu.

Przykłady:

dwm
AwesomeWM
XMonad
Qtile

Typowe układy:

master + stack
columns
grid
monocle
spiral

6. i3

Charakter

i3 to jeden z najbardziej znanych tiling window managerów dla X11.

Strona projektu:

i3wm.org

Najważniejsze cechy:

  • prosty,
  • stabilny,
  • świetnie udokumentowany,
  • konfiguracja w zwykłym pliku tekstowym,
  • bardzo popularny,
  • dobry jako pierwszy tiling WM.

Instalacja Debian

sudo apt install i3

Często warto również:

sudo apt install i3status i3lock dmenu

Konfiguracja

Najczęściej:

~/.config/i3/config

Przykład:

set $mod Mod4

czyli klawisz:

Super

Typowe skróty

Super + Enter

terminal

Super + D

launcher

Super + Shift + Q

zamknięcie okna

Super + 1
Super + 2
Super + 3

zmiana workspace

Super + Shift + 1

przeniesienie okna na workspace 1.


Zalety

  • łatwa konfiguracja,
  • bardzo dobra dokumentacja,
  • ogromna społeczność,
  • przewidywalne działanie,
  • świetny do pracy z klawiaturą.

Wady

  • X11,
  • wygląd domyślny jest bardzo surowy,
  • mniej efektów niż nowoczesne compository Wayland.

7. Sway

Sway jest w dużym uproszczeniu:

i3 dla Waylanda.

Konfiguracja jest bardzo podobna do i3.


Instalacja

Debian:

sudo apt install sway

Konfiguracja

~/.config/sway/config

Wiele fragmentów konfiguracji i3 można przenieść prawie bez zmian.


Typowy zestaw

Sway
Waybar
wofi / bemenu
mako
foot

Gdzie:

  • Waybar - panel,
  • wofi - launcher,
  • mako - powiadomienia,
  • foot - terminal.

Zalety

  • Wayland,
  • bardzo stabilny,
  • składnia podobna do i3,
  • lekki,
  • świetny dla użytkowników terminala.

Wady

  • mniej efektowny niż Hyprland,
  • niektóre funkcje starego ekosystemu X11 wymagają zamienników.

8. Hyprland

Hyprland jest jednym z najpopularniejszych nowoczesnych compositorów Wayland.

Łączy:

  • tiling,
  • floating,
  • animacje,
  • dynamiczne workspace,
  • nowoczesną konfigurację.

Charakter

Hyprland stawia mocno na:

estetykę
animacje
Wayland
customizację

Typowy desktop może wyglądać bardzo nowocześnie.


Konfiguracja

~/.config/hypr/hyprland.conf

Przykład:

bind = SUPER, RETURN, exec, kitty
bind = SUPER, Q, killactive

Typowy zestaw

Hyprland
Waybar
wofi / rofi-wayland
mako
kitty
hyprpaper
hyprlock

Zalety

  • nowoczesny Wayland,
  • świetna estetyka,
  • dynamiczny tiling,
  • dużo możliwości konfiguracji,
  • dobra obsługa wielu monitorów.

Wady

  • więcej konfiguracji niż Sway,
  • szybciej się zmienia,
  • czasami aktualizacja zmienia zachowanie konfiguracji.

9. bspwm

bspwm oznacza:

Binary Space Partitioning Window Manager

Działa na X11.

Sam WM odpowiada praktycznie tylko za rozmieszczenie okien.

Skróty klawiszowe często obsługuje osobny program:

sxhkd

Architektura

bspwm
   |
   +--- sxhkd
   |
   +--- polybar
   |
   +--- rofi

To bardzo modularne podejście.


Konfiguracja

bspwm:

~/.config/bspwm/bspwmrc

sxhkd:

~/.config/sxhkd/sxhkdrc

Zalety

  • bardzo lekki,
  • logiczny system tilingu,
  • świetny do skryptowania,
  • modularność.

Wady

  • więcej elementów trzeba skonfigurować samemu,
  • X11,
  • mniej przyjazny dla początkujących niż i3.

10. AwesomeWM

AwesomeWM to tiling WM dla X11.

Jedną z jego największych cech jest konfiguracja w języku:

Lua

Konfiguracja

~/.config/awesome/rc.lua

Przykład:

awful.key({ modkey }, "Return",
    function ()
        awful.spawn("kitty")
    end)

Zalety

  • bardzo elastyczny,
  • ogromne możliwości konfiguracji,
  • Lua pozwala praktycznie programować desktop,
  • dynamiczne layouty.

Wady

  • konfiguracja jest kodem,
  • próg wejścia większy niż w i3,
  • X11.

11. XMonad

XMonad jest tiling WM napisanym w:

Haskell

Konfiguracja również jest w Haskellu.


Konfiguracja

~/.xmonad/xmonad.hs

Po zmianie konfiguracji zazwyczaj następuje jej ponowna kompilacja.


Charakter

XMonad jest:

  • bardzo stabilny,
  • ekstremalnie konfigurowalny,
  • mocno oparty o klawiaturę,
  • popularny wśród zaawansowanych użytkowników.

Zalety

  • bardzo potężny,
  • ogromne możliwości konfiguracji,
  • bardzo stabilna architektura.

Wady

  • Haskell,
  • wysoki próg wejścia,
  • więcej pracy przy konfiguracji.

12. dwm

dwm oznacza:

dynamic window manager

Projekt rozwijany przez społeczność suckless.

Filozofia:

minimalny kod
minimalne zależności
brak zbędnych funkcji

Najważniejsza różnica

dwm nie posiada klasycznego pliku konfiguracyjnego.

Konfigurujemy:

config.h

a następnie kompilujemy program.

Przykład:

make
sudo make install

Rozszerzenia

Funkcje dodaje się często poprzez:

patches

czyli łatki do kodu źródłowego.

Przykłady:

gaps
systray
autostart
fullscreen

Zalety

  • ekstremalnie lekki,
  • bardzo prosty kod,
  • świetny dla ludzi lubiących C,
  • niezwykle szybki.

Wady

  • konfiguracja wymaga rekompilacji,
  • łatki trzeba czasem ręcznie łączyć,
  • X11,
  • mało wygodny dla początkujących.

13. Qtile

Qtile to tiling WM napisany w Pythonie.

Konfiguracja również odbywa się w Pythonie.


Konfiguracja

~/.config/qtile/config.py

Przykład

Key(
    [mod],
    "Return",
    lazy.spawn("kitty")
)

Zalety

  • Python,
  • łatwy do rozszerzania,
  • dynamiczne layouty,
  • dobry dla osób znających podstawy programowania.

Wady

  • konfiguracja jest kodem,
  • mniej popularny niż i3,
  • część funkcji zależy od wersji i backendu.

14. Openbox

Openbox to klasyczny floating WM.

Przez lata był bardzo popularny w lekkich dystrybucjach Linux.


Charakter

Openbox przypomina klasyczny desktop:

okna
menu
myszka
pulpity

Sam nie dostarcza pełnego środowiska.

Można dodać:

tint2
picom
rofi
pcmanfm

Konfiguracja

Najczęściej:

~/.config/openbox/

Pliki:

rc.xml
menu.xml
autostart

Zalety

  • bardzo lekki,
  • stabilny,
  • prosty,
  • świetny dla starszych komputerów.

Wady

  • X11,
  • projekt jest klasyczny i mniej nowoczesny,
  • większość desktopu trzeba złożyć samemu.

15. Fluxbox

Fluxbox to klasyczny lekki floating WM dla X11.

Ma charakterystyczne:

  • menu pod prawym przyciskiem myszy,
  • tabowanie okien,
  • minimalny interfejs.

Zalety

  • bardzo lekki,
  • szybki,
  • niewielkie wymagania,
  • klasyczny unixowy styl.

Wady

  • stary ekosystem,
  • X11,
  • mało nowoczesnych funkcji.

16. IceWM

IceWM to lekki floating WM przypominający klasyczne systemy desktopowe.

Interfejs:

panel
menu start
taskbar
tray

Wyglądem może przypominać:

Windows 95
Windows 98
Windows XP

Zalety

  • bardzo małe wymagania,
  • prosty,
  • znajomy sposób obsługi,
  • dobry do słabych maszyn i VM.

Wady

  • klasyczny wygląd,
  • X11,
  • mniej elastyczny od bardziej zaawansowanych WM.

17. Labwc

Labwc to floating compositor dla Waylanda.

Można go traktować jako duchowego następcę Openboxa.


Charakter

Openbox-like
Wayland
floating
minimalizm

Dobre rozwiązanie dla osoby, która chce:

Wayland

ale nie chce tilingu.


18. River

River to minimalistyczny tiling compositor dla Waylanda.

Charakter:

  • minimalistyczny,
  • skryptowalny,
  • inspirowany filozofią suckless,
  • lekki.

River oddziela część logiki layoutu od samego compositora.

To rozwiązanie raczej dla bardziej technicznych użytkowników.


19. Wayfire

Wayfire to compositor Wayland inspirowany nieco Compizem.

Stawia mocno na:

efekty
animacje
pluginy

Możliwe są m.in.:

  • obracany pulpit,
  • animacje okien,
  • efekty 3D,
  • rozszerzenia.

Nie jest typowym minimalistycznym tiling WM.


20. Enlightenment

Enlightenment jest czymś pomiędzy:

window manager

a

desktop environment

Oferuje:

  • własny panel,
  • własne widgety,
  • efekty,
  • zarządzanie pulpitem,
  • dużą konfigurowalność.

Historycznie był znany z bardzo efektownego GUI przy relatywnie małych wymaganiach.


21. KWin

KWin jest compositor-em i window managerem KDE Plasma.

Może działać na:

X11
Wayland

Oferuje:

  • floating,
  • efekty,
  • skróty,
  • reguły okien,
  • skrypty,
  • częściowe funkcje tilingu.

KWin jest bardzo rozbudowany.

Jeżeli używamy KDE Plasma, zazwyczaj nie ma potrzeby zastępować go innym WM.


22. Mutter

Mutter to compositor i window manager GNOME.

Obsługuje:

Wayland
X11

Jest silnie zintegrowany z GNOME Shell.

Nie jest zwykle używany jako niezależny WM.


23. Xfwm

Xfwm jest menedżerem okien XFCE.

Cechy:

  • floating,
  • lekki,
  • prosty,
  • stabilny,
  • klasyczne zachowanie okien.

Dobrze pasuje do lekkich desktopów.


24. Najważniejsze WM-y - porównanie

WM Typ System Konfiguracja Trudność
i3 tiling X11 tekst łatwa
Sway tiling Wayland tekst łatwa
Hyprland dynamic tiling Wayland tekst średnia
bspwm tiling X11 shell średnia
AwesomeWM dynamic tiling X11 Lua średnia
XMonad dynamic tiling X11 Haskell trudna
dwm dynamic tiling X11 C trudna
Qtile dynamic tiling X11/Wayland Python średnia
Openbox floating X11 XML łatwa
Fluxbox floating X11 tekst łatwa
IceWM floating X11 tekst łatwa
Labwc floating Wayland XML łatwa
River tiling Wayland skrypty trudniejsza
Wayfire floating/effects Wayland tekst średnia

25. Typowy desktop z i3

Przykładowy zestaw:

i3
polybar
rofi
picom
dunst
kitty
feh

Funkcje:

i3       → okna
polybar  → panel
rofi     → launcher
picom    → compositor
dunst    → powiadomienia
kitty    → terminal
feh      → tapeta

26. Typowy desktop z Sway

Sway
Waybar
wofi
mako
foot
swaybg

27. Typowy desktop z Hyprland

Hyprland
Waybar
rofi-wayland
mako
kitty
hyprpaper
hyprlock

28. Typowy desktop z bspwm

bspwm
sxhkd
polybar
rofi
picom
dunst
kitty

29. Launchery

Minimalny WM często potrzebuje launchera aplikacji.

Najpopularniejsze:

dmenu

Klasyczny minimalistyczny launcher.

dmenu_run

rofi

Bardziej rozbudowany.

rofi -show drun

Może również:

  • przełączać okna,
  • uruchamiać skrypty,
  • działać jako menu.

wofi

Launcher dla Waylanda inspirowany rofi.


bemenu

Minimalistyczny launcher działający zarówno w niektórych środowiskach Wayland, jak i X11.


30. Panele

Polybar

Popularny panel dla X11.

Może pokazywać:

CPU
RAM
sieć
workspace
zegarek
temperaturę
baterię

Waybar

Popularny panel dla Waylanda.

Często używany z:

Sway
Hyprland
River

tint2

Lekki klasyczny panel dla X11.

Często używany z Openboxem.


31. Powiadomienia

Minimalny WM zazwyczaj potrzebuje osobnego notification daemon.

X11:

dunst

Wayland:

mako
dunst

32. Tapeta

X11:

feh
nitrogen

Wayland:

swaybg
hyprpaper
swww

33. Blokowanie ekranu

X11:

i3lock
betterlockscreen

Wayland:

swaylock
hyprlock

34. Compositor w X11

W X11 window manager i compositor mogą być osobnymi programami.

Popularny compositor:

picom

Zapewnia m.in.:

  • przezroczystość,
  • cienie,
  • animacje,
  • ograniczenie tearingu.

Przykład:

picom &

W Waylandzie compositor jest integralnym elementem środowiska.


35. Workspace

Workspace to wirtualny pulpit.

Przykład:

1 → terminal
2 → przeglądarka
3 → VS Code
4 → komunikatory
5 → multimedia

W tiling WM korzystanie z workspace’ów jest bardzo naturalne.

Przykładowo i3:

Super + 1
Super + 2
Super + 3

36. Scratchpad

Niektóre WM pozwalają ukrywać okno w specjalnym obszarze.

Przykład:

terminal

można schować i wywołać skrótem.

i3 posiada:

scratchpad

Przykład:

Super + minus

może wywoływać terminal podręczny.


37. Reguły okien

Zaawansowane WM pozwalają definiować reguły.

Przykład:

Firefox → workspace 2
VS Code → workspace 3
Discord → workspace 4

W i3:

assign [class="Firefox"] workspace 2

Takie reguły mogą bardzo przyspieszyć start środowiska pracy.


38. Autostart

Minimalny WM nie zawsze posiada rozbudowany system autostartu.

Przykład i3:

exec --no-startup-id dunst
exec --no-startup-id picom
exec --no-startup-id nm-applet

39. Terminal

Najczęściej używane terminale:

kitty
Alacritty
foot
wezterm
xterm

Wayland:

foot
kitty
wezterm

X11:

kitty
Alacritty
wezterm
xterm

40. Menedżer plików

Minimalny WM nie dostarcza zwykle file managera.

Popularne:

Thunar
PCManFM
Nemo
Dolphin

Terminalowe:

mc
ranger
lf
nnn

41. Network Manager

Przy minimalistycznym desktopie można używać:

nm-applet

lub terminalowo:

nmcli

Przykład:

nmcli device wifi list

42. Bluetooth

GUI:

blueman

CLI:

bluetoothctl

43. Audio

Współczesny Linux często używa:

PipeWire

GUI:

pavucontrol

CLI:

wpctl

Przykład:

wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+

44. Sterowanie jasnością

Popularne narzędzie:

brightnessctl

Przykład:

brightnessctl set +10%

45. Screenshoty

X11:

scrot
maim
flameshot

Wayland:

grim
slurp
grimshot

Przykład:

grim screenshot.png

46. Clipboard

X11:

xclip
xsel

Wayland:

wl-copy
wl-paste

Przykład:

echo "tekst" | wl-copy

47. Menedżery logowania

WM można uruchomić z display managera.

Popularne:

GDM
SDDM
LightDM

Po instalacji WM zwykle pojawia się jako dodatkowa sesja na ekranie logowania.

Przykładowo można mieć jednocześnie:

GNOME
KDE Plasma
i3
Sway

i wybierać środowisko przy logowaniu.


48. Uruchamianie WM bez display managera

Można logować się w konsoli:

tty

i uruchamiać sesję ręcznie.

Dla X11 historycznie:

startx

Konfiguracja:

~/.xinitrc

Przykład:

exec i3

49. Tiling WM na wielu monitorach

Tiling WM świetnie współpracują z wieloma monitorami.

Można przypisać workspace:

Monitor 1:
1 2 3 4 5

Monitor 2:
6 7 8 9 10

Przykład i3:

workspace 1 output DP-1
workspace 6 output HDMI-1

50. Minimalizm i zużycie RAM

Orientacyjnie lekkie WM zużywają bardzo mało pamięci.

Sam WM może zużywać:

kilkanaście-kilkadziesiąt MB RAM

Ale cały desktop zależy od:

  • panelu,
  • terminala,
  • daemonów,
  • NetworkManagera,
  • przeglądarki,
  • aplikacji.

Różnica między 200 MB a 500 MB desktopu zwykle nie ma większego znaczenia na współczesnym komputerze.

Największym konsumentem RAM zazwyczaj i tak będzie:

przeglądarka
IDE
Electron

51. Co wybrać?

Chcesz najprościej poznać tiling

i3

Bardzo dobry pierwszy WM.


Chcesz i3, ale Wayland

Sway

Chcesz nowoczesny wygląd i animacje

Hyprland

Chcesz maksymalnej modularności

bspwm

Chcesz konfigurować desktop w Pythonie

Qtile

Chcesz konfigurować desktop w Lua

AwesomeWM

Chcesz bardzo zaawansowanej konfiguracji

XMonad

Chcesz ekstremalnego minimalizmu

dwm

Chcesz klasyczne okna bez tilingu

X11:

Openbox

Wayland:

Labwc

52. Dobry zestaw do nauki

Jeżeli chcemy poznać różne filozofie działania WM, warto przetestować kolejno:

Openbox
i3
Sway
Hyprland
dwm

Pozwoli to zobaczyć:

floating
tiling
Wayland
dynamic tiling
suckless

53. Propozycja dla Debiana

Jeżeli Debian służy jako normalny desktop, rozsądny układ to:

GNOME lub KDE jako środowisko podstawowe
+
i3 albo Sway jako środowisko eksperymentalne

Przy logowaniu wybieramy sesję.

Dzięki temu można uczyć się WM bez rozwalania działającego desktopu.


54. Najważniejsze pliki konfiguracyjne

Program Konfiguracja
i3 ~/.config/i3/config
Sway ~/.config/sway/config
Hyprland ~/.config/hypr/hyprland.conf
bspwm ~/.config/bspwm/bspwmrc
sxhkd ~/.config/sxhkd/sxhkdrc
AwesomeWM ~/.config/awesome/rc.lua
XMonad ~/.xmonad/xmonad.hs
dwm config.h
Qtile ~/.config/qtile/config.py
Waybar ~/.config/waybar/
Polybar ~/.config/polybar/
rofi ~/.config/rofi/
dunst ~/.config/dunst/dunstrc

55. Przydatne pojęcia

WM

Window Manager.

Zarządza oknami.

Compositor

Program odpowiadający za finalne składanie obrazu ekranu.

DE

Desktop Environment.

Kompletne środowisko graficzne.

Tiling

Automatyczne układanie okien.

Floating

Klasyczne swobodne okna.

Workspace

Wirtualny pulpit.

Launcher

Program do uruchamiania aplikacji.

Status bar

Panel pokazujący informacje systemowe.

Scratchpad

Ukrywane okno podręczne.

X11

Starszy system graficzny Linux/Unix.

Wayland

Nowoczesny protokół graficzny.

XWayland

Warstwa pozwalająca uruchamiać aplikacje X11 w środowisku Wayland.


56. Ściąga

KLASYCZNY DESKTOP

Openbox
Fluxbox
IceWM
Labwc


TILING

i3
Sway
bspwm


DYNAMIC TILING

Hyprland
AwesomeWM
XMonad
dwm
Qtile
River


WAYLAND

Sway
Hyprland
River
Wayfire
Labwc


X11

i3
bspwm
AwesomeWM
XMonad
dwm
Openbox
Fluxbox
IceWM


NAJŁATWIEJSZY START

i3


NAJLEPSZY ODPOWIEDNIK i3 NA WAYLAND

Sway


NOWOCZESNY I EFEKTOWNY

Hyprland


MINIMALISTYCZNY

dwm


PROGRAMOWALNY W PYTHONIE

Qtile


PROGRAMOWALNY W LUA

AwesomeWM


PROGRAMOWALNY W HASKELLU

XMonad


KLASYCZNY FLOATING NA WAYLAND

Labwc

57. Najważniejsza rzecz do zapamiętania

Menedżer okien nie musi być całym pulpitem.

Minimalne środowisko można zbudować samemu:

WM/compositor
+
panel
+
launcher
+
terminal
+
powiadomienia
+
blokada ekranu
+
narzędzia systemowe

To właśnie dlatego środowiska oparte o:

i3
Sway
Hyprland
bspwm
dwm

mogą wyglądać i działać zupełnie inaczej u dwóch użytkowników.

Każdy z nich składa swój desktop z własnego zestawu komponentów.


58. Praktyczna rekomendacja do nauki

Dla osoby, która chce rozumieć Linuxa, a nie tylko używać gotowego desktopu, bardzo dobrym zestawem edukacyjnym jest:

KDE/GNOME
    ↓
i3
    ↓
Sway
    ↓
Hyprland
    ↓
dwm lub bspwm

Każdy etap pokazuje kolejny poziom kontroli nad środowiskiem:

gotowy desktop
→ konfiguracja WM
→ Wayland
→ compositor
→ samodzielne składanie całego desktopu

Po takim przejściu architektura graficznego Linuxa staje się znacznie bardziej zrozumiała.

Oficjalne źródła

  • X.Org documentation: https://www.x.org/wiki/Documentation/
  • Wayland: https://wayland.freedesktop.org/
  • i3 User's Guide: https://i3wm.org/docs/userguide.html
  • Sway: https://github.com/swaywm/sway
  • Hyprland Wiki: https://wiki.hypr.land/