Desktop environments and Window managers: Difference between revisions
m (1. Alpine Linux as a general daily desktop use case in Beginning; 2. Changed Cosmic to upstream style, COSMIC; 3. Amalgamated tiling and dynamic using slash(/) for some distinction (i3, herbstluftwm, ratpoison arguably not dynamic); 4. Style and grammar amendments.) |
(1. Converted listing of "pros" for using as a "general" daily desktop into list form; 2. Updated internal links; 3. Style and grammar amendments.) |
||
| Line 7: | Line 7: | ||
--> | --> | ||
'''Alpine Linux''' has no official desktop although setting up a graphical environment is proposed in the [[Installation#Post-Installation|post-installation]] guide. Alpine Linux desktops may meet the needs for ''general'' daily desktop use | '''Alpine Linux''' has no official desktop although setting up a graphical environment is proposed in the [[Installation#Post-Installation|post-installation]] guide. Alpine Linux desktops may meet the needs for ''general'' daily desktop use:- | ||
* Fewer packages still require [https://www.gnu.org/software/libc/ glibc], as numerous popular applications are now available here on [https://musl.libc.org/ musl]: {{Pkg|libreoffice*}}, {{Pkg|chromium*}}, [[Firefox]], etc | |||
* Several Alpine Linux desktop environments have been benchmarked to be competitive for both [https://everybytecounts.org/#desktop-environment-comparison 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 | All window managers and desktop environments that are available in Alpine Linux are listed on this page. A quick installation using the [[Alpine_setup_scripts#setup-desktop|setup-desktop]] script is available for several [[Setup-desktop|desktops]]. | ||
{{Tip|For servers, consider using [[Alpine_Configuration_Framework_Design|Alpine Configuration Framework (ACF)]] for security | {{Tip|For servers, consider using [[Alpine_Configuration_Framework_Design|Alpine Configuration Framework (ACF)]] for security considerations in that use case.}} | ||
== Desktop environments == | == 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 desktop widgets and might also provide drag and drop. | 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. | ||
* [[Xfce]] | * [[Xfce]] | ||
* [[LXQt]] | * [[LXQt]] | ||
| Line 21: | Line 24: | ||
* [[GNOME]] | * [[GNOME]] | ||
* [[MATE]] | * [[MATE]] | ||
* [[ | * [[COSMIC]] | ||
* {{Pkg|lomiri|arch=}} | * {{Pkg|lomiri|arch=}} | ||
* {{Pkg|lumina-desktop*|arch=}} | * {{Pkg|lumina-desktop*|arch=}} | ||
| Line 28: | Line 31: | ||
== Window managers == | == 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 | 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. | Almost all components of a desktop need to be added manually by the user. Both [[Alpine_Linux:Glossary#S|stacking]] (a.k.a. ''floating'') and [[Alpine_Linux:Glossary#T|tiling]]/''dynamic'' layouts are commonly used for window management. | ||
{|class="wikitable sortable" align="center" style="width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;" | {|class="wikitable sortable" align="center" style="width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;" | ||
| Line 100: | Line 103: | ||
| {{Pkg|ratpoison|arch=}} || X11 || Kiosk || C || | | {{Pkg|ratpoison|arch=}} || X11 || Kiosk || C || | ||
|- | |- | ||
| [[River]] || Wayland || Tiling || Zig || [[dwm]], [https://xmonad.org/ xmonad] | | [[River|river-classic/River]] || Wayland || Tiling || Zig || [[dwm]], [https://xmonad.org/ xmonad] | ||
|- | |- | ||
| {{Pkg|spectrwm |arch=}} || X11 || Tiling || C|| [https://xmonad.org/ xmonad], [[dwm]] | | {{Pkg|spectrwm |arch=}} || X11 || Tiling || C|| [https://xmonad.org/ xmonad], [[dwm]] | ||
Latest revision as of 18:44, 17 December 2025
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 |