Desktop environments and Window managers
Alpine Linux has no official desktop although setting up a graphical environment is proposed in the post-installation guide. Alpine Linux desktops may meet the needs for general daily desktop use:-
- Fewer packages still require glibc, as numerous popular applications are now available here on musl: libreoffice*, chromium*, Firefox, etc
- Several Alpine Linux desktop environments have been benchmarked to be competitive for both speed and memory
- Arguably, there is a reduced attack surface through the use of a comparatively lightweight musl and BusyBox system core
All window managers and desktop environments that are available in Alpine Linux are listed on this page. A quick installation using the setup-desktop script is available for several desktops.
Desktop environments
A desktop environment (DE) is made of a bundle of programs that share a common graphical user interface (GUI), sometimes described as a graphical shell. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers and desktop widgets, and might also provide drag-and-drop functionality.
Window managers
A window manager is software that controls the placement and appearance of windows within a windowing system in a graphical user interface. In the case of Wayland, these are called compositors because they additionally perform the task of a compositing window manager.
Almost all components of a desktop need to be added manually by the user. Both stacking (a.k.a. floating) and tiling/dynamic layouts are commonly used for window management.
| WM Name | Protocol | Style | Toolkit | Inspiration |
|---|---|---|---|---|
| 2bwm | X11 | Stacking | C/Roff | mcwm |
| Awesome | X11 | Tiling | Lua | |
| berry | X11 | Stacking | C | |
| bspwm | X11 | Tiling | C | |
| cage | Wayland | Kiosk | C/wlroots | ratpoison |
| cagebreak | Wayland | Tiling | C/wlroots | ratpoison, cage |
| compiz | X11 | Compositing | C++/C/Python | |
| cwm | X11 | Stacking | C | |
| dk | X11 | Tiling | C | dwm, bspwm, xmonad |
| dwl | Wayland | Tiling | C/wlroots | dwm |
| dwm | X11 | Tiling | C | |
| Fluxbox | X11 | Stacking | C++ | blackbox |
| flwm | X11 | Stacking | C++/FLTK | wm2 |
| gamescope | X11/Wayland | Compositing | C++/C/Lua | |
| goomwwm | X11 | Stacking | C/Roff | |
| herbstluftwm | X11 | Tiling | C++ | |
| Hyprland | Wayland | Tiling | C++ | |
| i3 | X11 | Tiling | C | |
| icewm | X11 | Stacking | C++/C/M4 | |
| jwm | X11 | Stacking | C | |
| kwin | X11/Wayland | Compositing | C++ | |
| LabWC | Wayland | Stacking | C/wlroots | Openbox |
| marco | X11 | Stacking | C | metacity |
| metacity | X11 | Compositing | C | |
| mutter | X11/Wayland | Compositing | C | |
| mwm | X11 | Stacking | C | |
| niri | Wayland | Tiling | Rust/GLSL/other | PaperWM |
| Openbox | X11 | Stacking | C | |
| pekwm | X11 | Stacking | C++/CMake/Perl/C | aewm++ |
| Qtile | X11/Wayland | Tiling | Python | |
| ratpoison | X11 | Kiosk | C | |
| river-classic/River | Wayland | Tiling | Zig | dwm, xmonad |
| spectrwm | X11 | Tiling | C | xmonad, dwm |
| Sway | Wayland | Tiling | C/wlroots | i3 |
| sxmo-dwm | X11 | Tiling | C | dwm |
| twm | X11 | Tiling | C | |
| wayfire | Wayland | Stacking | C++/wlroots | compiz |
| Weston | Wayland | Stacking | C | |
| windowmaker | X11 | Stacking | C/Shell/M4/Perl/Makefile/Emacs Lisp/other | NeXTSTEP |
| xfwm4 | X11 | Compositing | C/Makefile/Meson/other |