Getting Started with i3 on Arch Linux
Overview
i3-wm is a dynamic tiling window manager designed to provide a fast, minimalist, and highly customizable desktop experience tailored for developers and power users. Key characteristics include:
- Tree-based window management allowing flexible spliting, combining, and switching of windows
- Multiple operation modes similar to vim, enabling command execution through keyboard shortcuts
- Multi-monitor support with workspace creation across different display outputs
- Rich ecosystem integration with desktop environments and third-party enhancement tools
The i3 window manager is available across most Linux distributions, typically packaged as i3-wm or simply i3. After installation, it can be launched via tty or a display menager.
Clarification on i3-wm vs i3-gaps:
i3-wm represents the official window manager—a lightweight, fast, and highly customizable tiling window manager. "wm" stands for Window Manager, which is its core function. It uses tiling layout by default, meaning windows arrange side-by-side without overlapping. Users navigate, move, and resize windows using keyboard shortcuts without requiring a mouse.
i3-gaps is a fork that adds window gaps—spacing between windows for better visual separation. This feature was previously unique to i3-gaps but has now been merged into the main i3-wm branch. For current information, refer to the GitHub repository.
Understanding GUI Components
Before proceeding, it's essential to distinguish between three key GUI concepts:
Desktop Environment (DE)
The desktop environment provides a complete, integrated graphical user interface including window management, file browsing, panels, system tray, launchers, icons, themes, wallpapers, and pre-installed applications like text editors and terminal emulators. Popular options include GNOME, KDE Plasma, XFCE, and Cinnamon.
Window Manager (WM)
A window manager handles window display, movement, resizing, and closure within a GUI. It controls window appearance, layout, and interaction. WMs can be stacking (overlapping windows) or tiling (non-overlapping arrangements). Examples include Metacity, KWin, Openbox, and i3.
Display Manager (DM)
The display manager presents a login screen at system boot, allowing users to authenticate and select their preferred desktop environment. Common examples are GDM, LightDM, and SDDM.
The key insight: You can run i3-wm directly without installing a full desktop environment like GNOME, KDE Plasma, or XFCE—making for a lightweight, minimalist setup.
Installation
The following steps provide a straightforward approach to installing and configuring i3-wm.
- New to i3? Follow every step below in sequence to avoid issues.
- If you're new to Linux overall, install all required packages without skipping optional ones—debugging configuration problems can be challenging without the proper tools.
System Update
First, synchronize and update the package database:
# Synchronize package database
sudo pacman -Sy
# Full system upgrade (recommended for systems not updated recently)
sudo pacman -Syu
Installing i3-wm
Install the window manager along with common auxiliary tools:
sudo pacman -S i3-wm i3status dmenu
Package descriptions:
- i3-wm (required): A highly customizable dynamic tiling window manager enabling efficient keyboard-driven window management, ideal for multi-monitor setups.
- i3status (optional): A lightweight status bar generator displaying system information such as time, battery status, and network connectivity in the i3 bar.
- dmenu (optional): A fast dynamic menu for launching applications and executing commands. Commonly used in i3 for quick application startup via keyboard.
Font selection during installation: You'll be prompted to choose a font package. Available options include gnu-free-fonts, noto-fonts, ttf-bitstream-vera, ttf-croscore, ttf-dejavu, ttf-droid, ttf-ibm-plex, and ttf-liberation.
Recommendations:
- For broad multilingual support: choose noto-fonts or gnu-free-fonts
- For clean, readable text: choose ttf-dejavu or ttf-bitstream-vera
- For Windows-like appearance: choose ttf-liberation or ttf-croscore
Xorg Installation
i3 operates as an X Window System window manager, requiring Xorg as the underlying graphics server.
Background on Xorg: Xorg (X Server) is an open-source implementation of the X Window System, providing the foundation for graphical display and user input handling in Unix-like systems. Originally developed at MIT, X10 evolved into X11, which decouples graphics rendering from hardware and operating systems, enabling multiple applications to share graphical resources efficiently.
sudo pacman -S xorg-server xorg-xinit xorg-apps
Package descriptions:
- xorg-server (required): The X Window System server managing graphics display and user input—widely used across Linux and Unix-like systems.
- xorg-xinit (required): Scripts for launching the X server, loading user X11 configuration files (such as .xinitrc) and starting the window manager.
- xorg-apps (optional): Collection of basic X11 utilities useful for testing and debugging the graphical environment.
Configuration
Creating .xinitrc
The ~/.xinitrc file serves as the configuraton script executed by Xorg when starting an X session. Located in the user's home directory, it allows customization of which applications, window managers, or tools launch at startup.
To configure automatic i3-wm startup, create or edit ~/.xinitrc:
echo "exec i3" > ~/.xinitrc
Ensure the file has executable permissions so Xorg can execute its contents:
chmod +x ~/.xinitrc
If X session fails to start or displays nothing, verify the ~/.xinitrc permissions are set correctly.
Note: The .xinitrc configuration offers extensive customization possibilities. For deeper customization options, consult the official Arch Wiki documentation.
Launching i3-wm
Start the X session with i3-wm:
startx
Upon successful launch, you'll encounter initial configuration prompts:
- Configuration creation: You'll be asked whether to create
~/.config/i3/configin your home directory—press Enter to confirm. - Mod key selection: Choose between the
Win(Super) key orAltkey as your modifier (Mod) key. For virtual machine users running Windows, selectingAltprevents the Win key from triggering host OS shortcuts. For native Arch Linux installations, the Win key is ideal since it has no conflicting system bindings.
To exit i3-wm, press Mod + Shift + e (where Mod is your chosen modifier key).
After completing these steps, i3-wm is fully installed and operational. If using a virtual machine, consider taking a snapshot at this point.
Next Steps
Further customization depends on personal preference. Relevant resources include:
- i3 User Guide: https://i3wm.org/docs/userguide.html
- Arch Wiki: https://wiki.archlinux.org/
Individual configurations vary based on workflow and aesthetic preferences. Explore the i3 documentation to tailor your environment to your needs.