A window manager is the portion of a GUI (graphical user interface) responsible for the placement, functionality, and appearance of windows. They typically allow a user to control things like dragging a window around, resizing it, turning borders on or off, etc. Window managers are frequently built into the desktop environment itself, but some are available for standalone installation and will give you a different experience while still working with the same components throughout the rest of the GUI.
In this tutorial, we have compiled a list of our favorite window managers for a Linux system. Check out our picks below to find one that suits you best. Note that window managers only work for X display servers (X11 / Xorg). Other display servers may or may not have their own window manager equivalents, referred to by a different name.
In this tutorial you will learn:
- List of the best window managers for Linux

Category | Requirements, Conventions or Software Version Used |
---|---|
System | Any Linux distro |
Software | Awesome WM, Fluxbox, bspwm, DWM, Xmonad, i3, IceWM, Sway, tmux, Spectrwm |
Other | Privileged access to your Linux system as root or via the sudo command. |
Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
List of window managers on Linux
Here are some of our top picks for window managers on Linux. Determining the right window manager for you will mostly depend on personal preference, and which one plays nicely with your favorite desktop environment. It is worth experimenting with a few different window managers, assuming that your current desktop environment is compatible with them.
Wayland is a different display server to Xorg and refers to its window managers as compositors. Be sure to keep your display server and desktop environment in mind when finding a window manager that will be compatible with your system.
Awesome WM

Awesome WM is geared towards developers, power users, and Linux professionals that want extra control over their graphical user interface. It is a highly customizable window manager that defaults to a sleek and minimalist design. Awesome WM is a good choice for those that want to squeeze extra performance out of their system.
Installation of Awesome WM:
Ubuntu, Debian, Linux Mint: $ sudo apt install awesome Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install awesome Arch Linux and Manjro: $ sudo pacman -S awesome
Fluxbox

Fluxbox uses few system resources but packs a lot of optional features under the hood. It is a lightweight install and has many themes and custom configuration options out of the box.
Installation of Fluxbox:
Ubuntu, Debian, Linux Mint: $ sudo apt install fluxbox Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install fluxbox Arch Linux and Manjro: $ sudo pacman -S fluxbox
bspwm
In bspwm, windows are represented as leaves of a binary tree. It runs on a dedicated socket and only interacts with X events that it receives. Bspwm can not interpret any mouse or keyboard events on its own, and instead uses a program called sxhkd to translate these events into code that bspwm can understand.
Installation of bspwm:
Ubuntu, Debian, Linux Mint: $ sudo apt install bspwm sxhkd Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install bspwm sxhkd Arch Linux and Manjro: $ sudo pacman -S bspwm sxhkd
Dynamic Window Manager
Dynamic Window Manager (DWM) is a simple and dynamic window manager that debuted in 2006. Other popular X window managers like awesome and xmonad were forked from DWM. Dynamic window manager remains one of the most minimalist window managers available and can work with tiled windows while allowing layouts that lend themselves to being resized and moved without a fuss.
Installation of Dynamic Window Manager (DWM):
Ubuntu, Debian, Linux Mint: $ sudo apt install dwm Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install dwm Arch Linux and Manjro: $ sudo pacman -S dwm
Xmonad
Xmonad is a dynamic tiling window manager for X11. It is completely written in the Haskell programming langauge. It features automation functions to simplify the window experience of keeping tiles aligned and searching for the most relevant windows for your workflow. Make better use of your screen real estate with the automatic window sizing.
Installation of Xmonad:
Ubuntu, Debian, Linux Mint: $ sudo apt install xmonad Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install xmonad Arch Linux and Manjro: $ sudo pacman -S xmonad
i3
i3 features window tiling, window stacking, and window layouts in a dynamic manner. i3 supports multi monitor setups better than most other window managers, by treating each display as a virtual workspace. It also is built with a traditional tree metaphor in mind, embracing simplicity, clean code, and fast performance.
Installation of i3:
Ubuntu, Debian, Linux Mint: $ sudo apt install i3 Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install i3 Arch Linux and Manjro: $ sudo pacman -S i3
Ice Window Manager
Ice Window Manager (IceWM) focus on speed and simplicity in delivering a dynamic window manager. It allows managing numerous windows with both mouse and keyboard, and you can configure unique bindings to control each window. It comes with many themes so it is very customizable.
Installation of IceWM:
Ubuntu, Debian, Linux Mint: $ sudo apt install icewm Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install icewm Arch Linux and Manjro: $ sudo pacman -S icewm
Sway
Sway is a compisting window manager for the Wayland display server. It works very similarly to the i3 display manager for X11, but was made to be the equivalent for Wayland. Sway manages windows efficiently by arranging them in a grid, making it easy to find the relevant window and stay efficient in your workflow.
Installation of Sway:
Ubuntu, Debian, Linux Mint: $ sudo apt install sway Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install sway Arch Linux and Manjro: $ sudo pacman -S sway
tmux
Tmux is a terminal multiplexer: it let us run and manage multiple terminal sessions from a single screen. This is specially useful when connecting to remote machines using ssh, since, among the other things, it allows us to keep processes started from those terminals running in the background when we disconnect from the session (or logout and close the remote secure shell altogether), letting us re-attach to it at a later time.
Installation of tmux:
Ubuntu, Debian, Linux Mint: $ sudo apt install tmux Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install tmux Arch Linux and Manjro: $ sudo pacman -S tmux
Spectrwm
Spectrwm is a small and lightweight dynamic window manager. It is easy enough to configure, but many users will be perfectly fine with all the default settings. Windows line up nicely and stay out of the user’s way, which maximizes your screen real estate. It bears similarities to Xmonad and DWM, so users migrating from other window managers will find Spectrwm to be welcoming.
Installation of Spectrwm:
Ubuntu, Debian, Linux Mint: $ sudo apt install spectrwm Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS: $ sudo dnf install spectrwm Arch Linux and Manjro: $ sudo pacman -S spectrwm
Closing Thoughts
In this tutorial, we counted down our top picks of the best window managers available on a Linux system. We also learned how to install each one on all major Linux distros. The window manager you should use will depend on your workflow, sylistic preferences, and the interface you feel most comfortable in. All of these window managers function a little differently, and come with a different set of features. It is worth trying out a few before settling on one.