Desktop environments and Window managers: Difference between revisions
Guest09248 (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.) |
||
| (90 intermediate revisions by 20 users not shown) | |||
| Line 1: | Line 1: | ||
{{TOC right}} | {{TOC right}} | ||
<!-- COMMENT FOR EDITORS | |||
Do not add any content about specific desktop environment or window manager in this page. Please add all the content to the respective wiki pages. If wiki page does not exist for the specific window manage, please create and add the content. | |||
This page lists only the window managers and desktop environments for which packages are available in Alpine Linux. Do not add unsupported software here. | |||
--> | |||
'''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 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 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. | |||
* [[Xfce]] | |||
* [[LXQt]] | |||
* [[KDE|KDE Plasma]] | |||
* [[GNOME]] | |||
* [[MATE]] | |||
* [[COSMIC]] | |||
* {{Pkg|lomiri|arch=}} | |||
* {{Pkg|lumina-desktop*|arch=}} | |||
* {{Pkg|sxmo*}} | |||
== 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 [[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" | {|class="wikitable sortable" align="center" style="width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;" | ||
! WM Name !! Protocol!! Style !! Toolkit!!class="unsortable"|Inspiration | |||
|- | |||
| {{Pkg|2bwm|arch=}} || X11 || Stacking || C/Roff | |||
|| [https://www.hack.org/~mc/hacks/mcwm mcwm] | |||
|- | |||
| [[AwesomeWM|Awesome]] ||X11 || Tiling || Lua || | |||
|- | |||
| {{Pkg|berry|arch=}} || X11 || Stacking || C || | |||
|- | |||
| {{Pkg|bspwm|arch=}} || X11 || Tiling || C || | |||
|- | |||
| {{Pkg|cage |arch=}} || Wayland || Kiosk || C/wlroots || {{Pkg|ratpoison|arch=}} | |||
|- | |||
| {{Pkg|cagebreak|arch=}} || Wayland || Tiling ||C/wlroots || {{Pkg|ratpoison|arch=}}, {{Pkg|cage|arch=}} | |||
|- | |||
| {{Pkg|compiz|arch=}} || X11 || Compositing || C++/C/Python || | |||
|- | |||
| {{Pkg|cwm|arch=}} || X11 || Stacking || C || | |||
|- | |||
| {{Pkg|dk|arch=}} || X11 || Tiling || C || {{Pkg|dwm|arch=}}, {{Pkg|bspwm|arch=}}, [https://xmonad.org/ xmonad] | |||
|- | |||
| {{Pkg|dwl|arch=}} || Wayland || Tiling || C/wlroots||[[dwm]] | |||
|- | |||
| [[dwm]] || X11 || Tiling || C || | |||
|- | |||
| [[Fluxbox]] || X11 || Stacking || C++ || [https://sourceforge.net/projects/blackboxwm/ blackbox] | |||
|- | |- | ||
| {{Pkg|flwm|arch=}} || X11 || Stacking || C++/FLTK || [https://all-day-breakfast.com/wm2/ wm2] | |||
|- | |- | ||
| [[ | | {{Pkg|gamescope|arch=}} || X11/Wayland || Compositing || C++/C/Lua || | ||
|- | |||
| {{Pkg|goomwwm||- | |||
| {{Pkg|icewm|arch=}} || X11 || Stacking || C++/C/M4 || | |||
arch=}} || X11 || Stacking || C/Roff || | |||
|- | |||
| {{Pkg|herbstluftwm|arch=}} || X11 || Tiling || C++ || | |||
|- | |||
| [[Hyprland]] || Wayland || Tiling || C++ || | |||
|- | |||
| [[I3wm|i3]] || X11 || Tiling || C || | |||
|- | |||
| {{Pkg|icewm|arch=}} || X11 || Stacking || C++/C/M4 || | |||
|- | |||
| {{Pkg|jwm|arch=}} || X11 || Stacking || C || | |||
|- | |||
| {{Pkg|kwin|arch=}} || X11/Wayland || Compositing || C++ || | |||
|- | |||
| [[LabWC]] || Wayland || Stacking || C/wlroots||[[Openbox]] | |||
|- | |||
| {{Pkg|marco|arch=}} || X11 || Stacking || C || {{Pkg|metacity|arch=}} | |||
|- | |||
| {{Pkg|metacity|arch=kwin}} || X11 || Compositing || C || | |||
|- | |||
| {{Pkg|mutter|arch=}} || X11/Wayland || Compositing || C || | |||
|- | |||
| {{Pkg|mwm|arch=}} || X11 || Stacking || C || | |||
|- | |||
| {{Pkg|niri|arch=}} || Wayland || Tiling || Rust/GLSL/other || [https://github.com/paperwm/PaperWM PaperWM] | |||
|- | |||
| [[Openbox]] || X11 || Stacking || C || | |||
|- | |||
| {{Pkg|pekwm|arch=}} || X11 || Stacking || C++/CMake/Perl/C || [http://sapphire.sourceforge.net/ aewm++] | |||
|- | |||
| [[Qtile]] || X11/Wayland || Tiling || Python || | |||
|- | |||
| {{Pkg|ratpoison|arch=}} || X11 || Kiosk || C || | |||
|- | |||
| [[River|river-classic/River]] || Wayland || Tiling || Zig || [[dwm]], [https://xmonad.org/ xmonad] | |||
|- | |||
| {{Pkg|spectrwm |arch=}} || X11 || Tiling || C|| [https://xmonad.org/ xmonad], [[dwm]] | |||
|- | |||
| [[Sway]] || Wayland || Tiling || C/wlroots || [[I3wm|i3]] | |||
|- | |||
| {{Pkg|sxmo-dwm|arch=}} || X11 || Tiling || C || {{Pkg|dwm|arch=}} | |||
|- | |||
| [[twm]] || X11 || Tiling || C || | |||
|- | |||
| {{Pkg|wayfire|arch=}} || Wayland || Stacking || C++/wlroots || {{Pkg|compiz|arch=}} | |||
|- | |||
| [[Weston]] || Wayland || Stacking || C || | |||
|- | |||
| {{Pkg|windowmaker|arch=}} || X11 || Stacking || C/Shell/M4/Perl/Makefile/Emacs Lisp/other || NeXTSTEP | |||
|- | |||
| {{Pkg|xfwm4|arch=}} || X11 || Compositing || C/Makefile/Meson/other || | |||
|} | |} | ||
== See | == See also == | ||
* [[Installation#Post-Installation|Post Installation]] | |||
* [[ | * [[Wayland]] | ||
* [[ | * [[Xorg]] | ||
* [[ | * [[Display manager]] | ||
* [[ | * [https://wiki.archlinux.org/title/Desktop_environment Desktop environment - Archwiki] | ||
* [[ | * [https://wiki.gentoo.org/wiki/Desktop_environment Desktop environment - Gentoo Wiki] | ||
[[Category:Desktop]] | [[Category:Desktop]] | ||
[[Category: | [[Category:Desktop Environments]] | ||
[[Category:Window Managers]] | |||
[[Category:Compositor]] | |||
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 |