Desktop environments and Window managers

From Alpine Linux
Revision as of 18:44, 17 December 2025 by John3-16 (talk | contribs) (1. Converted listing of "pros" for using as a "general" daily desktop into list form; 2. Updated internal links; 3. Style and grammar amendments.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Tip: For servers, consider using Alpine Configuration Framework (ACF) for security considerations in that use case.

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

See also