Complete guide to install Alacritty terminal emulator on Ubuntu and Debian systems.
System Requirements
- Ubuntu: 20.04 LTS, 22.04 LTS, 24.04 LTS, or newer
- Debian: 11 (Bullseye), 12 (Bookworm), or newer
- Architecture: 64-bit (x86_64)
- Internet connection: For downloading packages and source code
Method 1: Build from Source (Recommended)
Step 1: Install Build Dependencies
sudo apt install cmake g++ pkg-config libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 git curl
For Wayland with Nvidia GPU (optional):
sudo apt install libegl1-mesa-dev
Step 2: Install Rust Compiler
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup override set stable
rustup update stable
Step 3: Clone Alacritty Source Code
git clone https://github.com/alacritty/alacritty.git
cd alacritty
Step 4: Build Alacritty
Standard build:
cargo build --release
Wayland-only build:
cargo build --release --no-default-features --features=wayland
X11-only build:
cargo build --release --no-default-features --features=x11
Step 5: Install Alacritty System-wide
sudo cp target/release/alacritty /usr/local/bin
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
Step 6: Install Terminfo
Check if terminfo is already installed:
infocmp alacritty
If not installed, install it:
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
Method 2: Cargo Installation (Binary Only)
This method installs only the binary without desktop integration:
Step 1: Install Dependencies
sudo apt install cmake g++ pkg-config libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
Step 2: Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
Step 3: Install Alacritty via Cargo
cargo install alacritty
The binary will be installed to ~/.cargo/bin/alacritty
. Make sure this directory is in your PATH:
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Post-Installation Setup
Install Manual Pages
Install dependencies:
sudo apt install scdoc gzip
Install manual pages (from source directory):
sudo mkdir -p /usr/local/share/man/man1 /usr/local/share/man/man5
scdoc < extra/man/alacritty.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
scdoc < extra/man/alacritty-msg.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
scdoc < extra/man/alacritty.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty.5.gz > /dev/null
scdoc < extra/man/alacritty-bindings.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty-bindings.5.gz > /dev/null
Desktop Entry (if using cargo install)
If you used cargo install and want desktop integration:
# Copy desktop entry
sudo cp extra/linux/Alacritty.desktop /usr/share/applications/
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo update-desktop-database
Shell Completions
Bash Completions
Method 1 – Source from alacritty directory:
echo "source $(pwd)/extra/completions/alacritty.bash" >> ~/.bashrc
Method 2 – Copy to bash_completion directory:
mkdir -p ~/.bash_completion
cp extra/completions/alacritty.bash ~/.bash_completion/alacritty
echo "source ~/.bash_completion/alacritty" >> ~/.bashrc
Zsh Completions
mkdir -p ${ZDOTDIR:-~}/.zsh_functions
echo 'fpath+=${ZDOTDIR:-~}/.zsh_functions' >> ${ZDOTDIR:-~}/.zshrc
cp extra/completions/_alacritty ${ZDOTDIR:-~}/.zsh_functions/_alacritty
Fish Completions
From within fish shell:
mkdir -p $fish_complete_path[1]
cp extra/completions/alacritty.fish $fish_complete_path[1]/alacritty.fish
Configuration
Create Configuration Directory
mkdir -p ~/.config/alacritty
Basic Configuration Example
Create ~/.config/alacritty/alacritty.yml
:
# Basic Alacritty configuration
window:
opacity: 0.9
padding:
x: 10
y: 10
dynamic_padding: false
font:
normal:
family: "Ubuntu Mono"
style: Regular
bold:
family: "Ubuntu Mono"
style: Bold
italic:
family: "Ubuntu Mono"
style: Italic
size: 12.0
colors:
primary:
background: '#2e3440'
foreground: '#d8dee9'
cursor:
text: '#2e3440'
cursor: '#d8dee9'
normal:
black: '#3b4252'
red: '#bf616a'
green: '#a3be8c'
yellow: '#ebcb8b'
blue: '#81a1c1'
magenta: '#b48ead'
cyan: '#88c0d0'
white: '#e5e9f0'
key_bindings:
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Plus, mods: Control, action: IncreaseFontSize }
- { key: Minus, mods: Control, action: DecreaseFontSize }
- { key: Key0, mods: Control, action: ResetFontSize }
Troubleshooting
Build Issues
Missing dependencies:
# Install all required dependencies
sudo apt update
sudo apt install cmake g++ pkg-config libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 git curl
Rust toolchain issues:
# Update Rust
rustup update stable
rustup override set stable
Build fails with memory issues:
# Reduce parallel jobs
cargo build --release --jobs 1
Runtime Issues
Terminal not recognized:
# Install terminfo
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
Font rendering issues:
# Install additional fonts
sudo apt install fonts-firacode fonts-jetbrains-mono
GPU acceleration issues:
# Check graphics drivers
glxinfo | grep "OpenGL renderer"
# For Nvidia issues, try software rendering
alacritty --config-file /dev/null --option env.LIBGL_ALWAYS_SOFTWARE=1
Configuration Issues
Configuration not loading:
# Check config file location
alacritty --print-events
# Validate YAML syntax
python3 -c "import yaml; yaml.safe_load(open('~/.config/alacritty/alacritty.yml'))"
Color scheme issues:
# Test with minimal config
alacritty --config-file /dev/null
Advanced Configuration
Custom Themes
Popular theme repositories:
Dynamic Configuration
Alacritty supports live config reloading. Edit your config file and see changes immediately.
Integration with Window Managers
i3wm Configuration
Add to ~/.config/i3/config
:
bindsym $mod+Return exec alacritty
GNOME Integration
Set as default terminal:
gsettings set org.gnome.desktop.default-applications.terminal exec 'alacritty'
Updates and Maintenance
Updating Alacritty
For source builds:
cd alacritty
git pull
cargo build --release
sudo cp target/release/alacritty /usr/local/bin
For cargo installs:
cargo install alacritty --force
Cleaning Build Cache
cargo clean
Performance Optimization
GPU Acceleration
Ensure GPU acceleration is working:
# Check OpenGL support
alacritty -e glxinfo | grep "OpenGL"
Memory Usage
Monitor memory usage:
ps aux | grep alacritty
Startup Time
Optimize startup time by:
- Reducing font size
- Disabling transparency
- Using simpler color schemes
Uninstallation
Remove Alacritty Binary
sudo rm /usr/local/bin/alacritty
Remove Desktop Integration
sudo rm /usr/share/applications/Alacritty.desktop
sudo rm /usr/share/pixmaps/Alacritty.svg
sudo update-desktop-database
Remove Configuration
rm -rf ~/.config/alacritty
Remove Manual Pages
sudo rm /usr/local/share/man/man1/alacritty.1.gz
sudo rm /usr/local/share/man/man1/alacritty-msg.1.gz
sudo rm /usr/local/share/man/man5/alacritty.5.gz
sudo rm /usr/local/share/man/man5/alacritty-bindings.5.gz
Note: Alacritty is actively developed. Check the official repository for the latest updates and features.