How to Install Yazi on Ubuntu: The Blazing Fast Terminal File Manager
Yazi is a blazing-fast terminal file manager written in Rust. Its fully asynchronous core keeps the interface snappy in directories of any size, it previews images, video, PDFs and archives inline, and it wraps everything in a Vim-style keyboard workflow with tabs, multi-selection and a Lua plugin system.
If you rely on the version of Yazi in the Ubuntu archive you will likely be stuck several releases behind, without the newer preview backends and plugin APIs. Downloading a release binary by hand is an option, but it leaves you to track and apply every future update yourself.
The unofficial deb.griffo.io repository ships a current Yazi package installable with apt, upgrades and all. This guide walks through installing it on Ubuntu and wiring up the shell integration that lets Yazi change your directory on exit.
What Makes Yazi Special?
- ⚡ Fully asynchronous I/O — listing directories, loading previews and running tasks never freeze the UI.
- 🖼️ Inline previews — images, video, PDFs, archives and syntax-highlighted code without leaving the terminal.
- ⌨️ Vim-style keys —
hjklmotion, visual selection and familiar bindings from the first launch. - 🗂️ Tabs and bulk actions — browse several directories and operate on many files together.
- 🔌 Plugins and flavours — extend and restyle Yazi with Lua plugins and themes.
- 🔍 Built-in finding — fuzzy jumping via
fzfand content search viaripgrepwhen available. - 📋 Clipboard model — yank, cut and paste files using a clear register system.
- 🐚 Shell integration — the
ywrapper leaves your shell in the directory where you quit.
Why Use the deb.griffo.io Repository?
- Install and update via APT with no manual binary downloads.
- Automatic dependency management through Debian-style packaging.
- Always tracks upstream so Yazi stays current.
- No source builds and no Rust toolchain required.
- Works across supported Ubuntu releases — Jammy, Noble and newer.
Prerequisites
Make sure you have:
- An Ubuntu system (Jammy 22.04 LTS, Noble 24.04 LTS, or newer)
sudoprivilegescurlinstalled (sudo apt install curlif it is missing)
Step 1: Add the deb.griffo.io Repository
Add the repository’s key and source list:
# Create the keyrings directory
sudo install -d -m 0755 /etc/apt/keyrings
# Download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
# Add the repository (auto-detects your distro codename)
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
# Update the package list
sudo apt update
Here is what each line achieves:
- Keyrings directory —
/etc/apt/keyringsis the recommended place for third-party keys. - GPG key — downloaded and de-armoured so APT can verify signed packages.
- Source list —
lsb_release -scfills in your Ubuntu codename (such asnoble). - Update — refreshes APT so Yazi becomes available.
Step 2: Update the Package List
If you did not run the final command above:
sudo apt update
Step 3: Install Yazi
sudo apt install yazi
APT installs Yazi and its runtime dependencies.
Step 4: Verify the Installation
yazi --version
You should see something like:
Yazi 25.5.31 (a1b2c3d 2025-05-31)
Start the file manager with:
yazi
Press q to exit.
Getting Started with Yazi
Core Navigation
Yazi’s default keybindings map closely to Vim:
h/j/k/l— parent / down / up / entergg/G— top / bottom of the listSpace— toggle selection,v— visual range selectiony/x/p— yank / cut / pasted— trash,D— delete for gooda— create (end with/for a directory),r— rename.— toggle hidden files,/— filter,s— content search,q— quit
Enabling Rich Previews
Inline previews and finders depend on a handful of helpers. Install the ones you want:
sudo apt install ffmpegthumbnailer poppler-utils imagemagick fzf ripgrep fd-find jq
These provide video thumbnails (ffmpegthumbnailer), PDF previews (poppler-utils), image handling (imagemagick), fuzzy jumping (fzf), fast search (ripgrep, fd-find) and JSON previews (jq) respectively.
Shell Integration (Follow Yazi on Exit)
Out of the box, leaving Yazi returns you to your original directory. To have your shell adopt the directory you finished in, add this y function to ~/.bashrc:
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
Reload the shell and launch with y rather than yazi:
source ~/.bashrc
y
Quitting now leaves you in the last directory you were browsing.
Configuration
Configuration lives under ~/.config/yazi/:
mkdir -p ~/.config/yazi
The three files you will touch most are:
~/.config/yazi/yazi.toml— general behaviour and openers~/.config/yazi/keymap.toml— custom keybindings~/.config/yazi/theme.toml— colours and appearance
A small yazi.toml to list directories first and reveal hidden files:
[mgr]
sort_by = "alphabetical"
sort_dir_first = true
show_hidden = true
Plugins and Flavours with ya
Yazi’s package manager is the ya CLI. List the plugins and themes you want in ~/.config/yazi/package.toml, then:
# Install everything from package.toml
ya pkg install
# Add a plugin by git address
ya pkg add yazi-rs/plugins:full-border
# Upgrade all plugins and flavours
ya pkg upgrade
Keeping Yazi Updated
Yazi updates arrive with your usual Ubuntu upgrades:
sudo apt update && sudo apt upgrade
Other Tools from deb.griffo.io
The repository packages many more terminal tools for Ubuntu:
- Helix — a post-modern modal text editor to open files straight from Yazi.
- Zellij — a terminal workspace and multiplexer to keep Yazi in a pane.
- Lazydocker — a simple terminal UI for Docker and docker-compose.
- Zig — a general-purpose systems programming language.
Troubleshooting
GPG or Key Errors
A signature or NO_PUBKEY error means the key needs re-adding:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Package Not Found
If APT cannot find yazi:
- Run
sudo apt updateafter adding the repository. - Confirm your release is supported (Jammy, Noble or newer).
- Inspect the source list:
cat /etc/apt/sources.list.d/deb.griffo.io.list
fd Not Found by Plugins
Ubuntu ships the fd binary as fdfind (from the fd-find package). Plugins that call fd will not find it until you add a symlink or alias:
sudo ln -s "$(command -v fdfind)" /usr/local/bin/fd
Uninstalling
# Remove the Yazi package
sudo apt remove yazi
# Optionally remove the repository
sudo rm -f /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm -f /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Conclusion
Yazi makes file management in the terminal fast and genuinely enjoyable, and deb.griffo.io keeps it current on Ubuntu with nothing more than apt. Install it, add the y wrapper, pull in a couple of preview helpers, and you have a keyboard-driven file manager that keeps up with even the busiest directories.
Every future release flows in through the same apt upgrade you already run for the rest of your system.
Resources
Disclaimer: The deb.griffo.io repository is an unofficial community project and is not affiliated with the official Debian or Ubuntu projects, or with the upstream Yazi project.