Alacritty Installation Guide – Ubuntu/Debian

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.

 

Loading

Über chukfinley

I am a long time Linux user and FLOSS enthusiast. I use Debian with DWM. Furthermore, I know how to code in Python, Flutter, HTML (How to meet ladies). I also love minimalism.

Zeige alle Beiträge von chukfinley →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert