List of window managers on Linux

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
List of window managers on Linux
List of window managers on Linux
Software Requirements and Linux Command Line Conventions
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.

DID YOU KNOW?
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 on Linux
Awesome WM on Linux

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 window manager for Linux
Fluxbox window manager for Linux

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.



Comments and Discussions
Linux Forum