How to Install superfile on Ubuntu: A Pretty Fancy and Modern Terminal File Manager
superfile bills itself as a “pretty fancy and modern terminal file manager”, and it earns the description. Instead of a single listing, it gives you a whole workspace in the terminal: a sidebar for home, pinned folders and mounted disks, as many file panels as you care to open, a preview pane, and footer panels tracking file operations, metadata and the clipboard. It is written in Go and ships as one self-contained binary.
You will not find superfile in the Ubuntu archive. The common install routes are upstream’s piped shell script or a manually fetched binary, both of which leave every future update to you.
The unofficial deb.griffo.io repository offers a cleaner path: superfile packaged as a proper Ubuntu .deb and delivered over APT, so you install it and keep it current with the same commands you already use.
Install the Latest superfile on Ubuntu: The Short Version
If you only came for the commands, this adds the repository and installs the latest superfile .deb package on Ubuntu:
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
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
sudo apt update
sudo apt install superfile
Launch it by typing spf. The sections below walk through each step, explain the superfile versus spf naming, and cover updates, configuration and troubleshooting.
What Makes superfile Special?
- 🗂️ Multi-panel layout - Several file panels side by side, framed by a sidebar, a preview pane and footer panels for processes, metadata and the clipboard.
- 👀 Rich previews - Highlighted source code, folder contents, and inline images in terminals with Kitty graphics protocol support.
- 🔍 Fast search - Narrow down the current directory as you type after pressing
/. - ✅ Selection mode - Mark many items and copy, cut or delete them in a single action.
- 📦 Archives built in - Create
.zipfiles and unpack archives from inside the file manager. - 🗑️ Trash bin - Deleted files go to the trash first, so mistakes can be undone.
- 📌 Pinned directories - Keep your favourite folders one keypress away in the sidebar.
- 🎨 Themes and hotkeys - More than twenty bundled themes, remappable keys and an official Vim-flavoured keymap.
- 🔌 Plugins - Opt-in exiftool metadata, MD5 checksums and zoxide directory jumping.
- 📦 Single static binary - Nothing extra to install at runtime.
Why Use the deb.griffo.io Repository?
- Easy installation and updates through APT rather than a shell installer.
- Automatic dependency management provided by the Ubuntu packaging, with the optional helpers listed as suggestions.
- Always tracks upstream releases so you stay near the latest superfile.
- No compiling from source and no Go toolchain to look after.
- Works across supported Ubuntu releases, with the codename detected for you.
Prerequisites
Before starting, confirm you have:
- An Ubuntu system (Jammy 22.04 LTS, Noble 24.04 LTS, Questing 25.10, or Resolute 26.04 LTS)
sudoprivilegescurlinstalled (sudo apt install curlif needed)
Builds exist for amd64 and arm64. The file and folder icons come from a Nerd Font, so switch your terminal to one if you want superfile to look like the screenshots. It runs fine without one; the troubleshooting section shows how to turn icons off.
Step 1: Add the deb.griffo.io Repository
Register the key and repository source:
# 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
Breaking it down:
- Create the keyrings directory - makes sure
/etc/apt/keyringsexists with the right permissions. - Install the GPG key - downloads and de-armours the repository key into its own keyring so APT can verify signatures.
- Add the repository - writes a
signed-bysource line, lettinglsb_release -scfill in your Ubuntu codename. - Update the package list - refreshes APT’s view of available packages.
Step 2: Update the Package List
If you did not run the final command above, do it now:
sudo apt update
Step 3: Install superfile
Install with APT:
sudo apt install superfile
Ubuntu installs recommended packages by default, so xdg-utils comes along too. That is what lets superfile hand a file to your desktop’s default application when you press enter on it.
Extras Worth Adding
None of these are required, but each one switches on a feature:
sudo apt install zoxide libimage-exiftool-perl ffmpeg poppler-utils wl-clipboard
zoxide- backs the jump-to-directory modal; for a newer build than the archive’s, see How to install zoxide on Ubuntu.libimage-exiftool-perl- suppliesexiftoolfor the extended metadata plugin.ffmpegandpoppler-utils- make video and PDF previews possible.wl-clipboardorxclip- clipboard support; Ubuntu desktops default to Wayland, sowl-clipboardis usually the right choice, while X11 sessions wantxclip.
Step 4: Verify the Installation
One detail to know up front: you install superfile, but you run spf. Upstream has always named the binary that way. Check the version:
spf --version
You should see something like:
superfile version v1.6.0
Upstream ships no man page, so spf --help is where the full list of flags and subcommands lives.
Getting Started with superfile
Your First Session
# Start in the current directory
spf
# Start somewhere else
spf /var/log
# Start with two panels, one per path
spf ~/Music ~/Videos
q or esc exits, and ? pops up every available hotkey whenever you forget one.
Navigating
Arrow keys and Vim-style letters both work out of the box:
k/j(orup/down) move the cursor.l,rightorenterstep into a folder or open a file;h,leftorbackspacestep back out./filters the current directory,.shows or hides dotfiles,oopens sorting options andRflips the sort order.Padds the current directory to the sidebar’s pinned list, or removes it.
Working with Panels
nadds a file panel,wcloses the one in focus, andtab/Lorshift+left/Hcycle between them.s,pandmjump to the sidebar, processes and metadata panels; the same key brings you back.ftoggles the preview pane andFhides or shows the footer.
Directory sizes are computed only while the metadata panel is focused, so large folders do not slow down everyday browsing.
Managing Files
The default bindings follow one easy-to-remember principle: anything that modifies files needs ctrl, so stray letters can never damage your data.
| Action | Hotkey |
|---|---|
New file (add a trailing / for a folder) | ctrl+n |
| Rename | ctrl+r |
| Copy / cut / paste | ctrl+c / ctrl+x / ctrl+v |
| Send to trash | ctrl+d |
| Delete for good | D |
| Zip / extract | ctrl+a / ctrl+e |
| Edit file / open directory in editor | e / E |
| Copy path / copy working directory | ctrl+p / c |
The clipboard panel lists what you have copied or cut, and the processes panel shows progress for anything that takes a while. On external drives, deletions bypass the trash entirely.
Bulk Selection
v flips the current panel into selection mode. Mark items one at a time with enter, sweep a range with shift+up/shift+down (or K/J), or select the whole directory with A. Copy, cut and delete then apply to everything marked.
Prompts
:runs a shell command in the current directory and shows you its exit code.>opens superfile’s own prompt, wherecd <path>,open <path>andsplitmanage panels.
Configuring superfile
The configuration files are generated the first time you run spf. Print their locations with the pl shorthand for path-list:
spf pl
On Ubuntu you will find:
~/.config/superfile/config.toml- general settings~/.config/superfile/hotkeys.toml- keymap~/.config/superfile/theme/- your own theme files~/.local/state/superfile/superfile.log- logs
Pick a theme by editing a single line of config.toml:
theme = "catppuccin-latte"
The default is catppuccin-mocha, and the bundle also includes dracula, nord, onedark, everforest-dark-medium, tokyonight and others. Vim users should replace hotkeys.toml with upstream’s Vim-style keymap before they get too frustrated.
When a new release introduces extra settings or bindings, these flags add the missing entries while keeping your customisations:
spf --fix-config-file
spf --fix-hotkeys
Turning On Plugins
With the extras installed, enable the matching plugins in config.toml and restart superfile:
metadata = true
zoxide_support = true
z now opens the zoxide jump modal. If bat is installed, code_previewer = "bat" swaps the built-in syntax highlighter for it.
Following superfile’s Directory on Exit
Out of the box, quitting superfile returns you to the directory you started in. To have your shell follow you to wherever you were browsing, enable this setting:
cd_on_quit = true
Next, paste upstream’s wrapper into ~/.bashrc (it works unchanged in ~/.zshrc):
spf() {
os=$(uname -s)
# Linux
if [[ "$os" == "Linux" ]]; then
export SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir"
fi
# macOS
if [[ "$os" == "Darwin" ]]; then
export SPF_LAST_DIR="$HOME/Library/Application Support/superfile/lastdir"
fi
command spf "$@"
[ ! -f "$SPF_LAST_DIR" ] || {
. "$SPF_LAST_DIR"
rm -f -- "$SPF_LAST_DIR" > /dev/null
}
}
Run source ~/.bashrc to load it. The wrapper is also what makes the Q hotkey work, quitting and changing to the current folder whenever you choose. Fish users can grab the equivalent function from upstream’s cd_on_quit directory.
Keeping superfile Updated
superfile rides along with your normal Ubuntu upgrades:
sudo apt update && sudo apt upgrade
When a newer superfile appears in deb.griffo.io, apt upgrade installs it alongside your other packages. superfile’s own once-a-day update check is redundant when APT manages the binary, so feel free to disable it:
auto_check_update = false
Other Tools from deb.griffo.io
The repository includes many tools that sit well next to superfile:
- zoxide - a smarter
cdthat feeds superfile’s jump modal. - Yazi - a blazing fast terminal file manager with a different take on the job.
- fzf - a general-purpose fuzzy finder for the command line.
- Ghostty - a GPU-accelerated terminal that displays superfile’s image previews.
- restic - encrypted, deduplicated backups for everything you are organising.
Troubleshooting
GPG or Key Errors
If APT flags the repository as unsigned or the key as invalid, re-import it:
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 locate superfile:
- Re-run
sudo apt updateafter adding the repository. - Verify your Ubuntu release is supported (Jammy, Noble, Questing, or Resolute).
- Check the source list:
cat /etc/apt/sources.list.d/deb.griffo.io.list.
Typing superfile Does Nothing
There is no superfile command. Use spf; dpkg -L superfile | grep bin shows exactly what the package installed.
Missing or Garbled Icons
Boxes and question marks where icons should be mean the terminal font is not a Nerd Font. Either switch to one in your terminal’s preferences, or disable icons in config.toml:
nerdfont = false
The Interface Renders Incorrectly
Check that locale reports a UTF-8 locale. If borders still misalign, launch superfile with:
RUNEWIDTH_EASTASIAN=0 spf
No Image Previews in GNOME Terminal
GNOME Terminal, Ubuntu’s default, does not support the Kitty graphics protocol that superfile uses for inline images, so previews fall back to text. kitty, WezTerm and Ghostty all display them.
An Old Script-Installed spf Shadows the Package
Upstream’s install script puts spf in /usr/local/bin, which comes before /usr/bin in the default PATH:
which -a spf
Delete the old copy with sudo rm /usr/local/bin/spf so the APT-managed binary is the one that runs.
Uninstalling
Remove superfile with:
sudo apt remove superfile
APT does not touch per-user files, so ~/.config/superfile and ~/.local/share/superfile remain until you delete them yourself. To also remove the repository and key:
sudo rm /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Conclusion
On Ubuntu, deb.griffo.io turns superfile into a first-class APT package: no installer script, no manual updates, just a capable multi-panel file manager in your terminal. Previews, bulk selection, archives, a trash bin and a large theme collection all come in a single binary, maintained with apt upgrade.
Type spf, set a Nerd Font, and switch on cd_on_quit if you want superfile to become the way you move around your filesystem.
Frequently Asked Questions
How do I install the latest superfile on Ubuntu?
Add the deb.griffo.io APT repository and its signing key, then run sudo apt install superfile. The repository tracks upstream superfile releases, so you get the latest packaged version rather than a build frozen when your distribution was released.
Is there a .deb package for superfile?
Yes. deb.griffo.io publishes superfile as a signed .deb for Ubuntu. You could download that .deb and install it by hand, but adding the repository is the better option: APT then resolves dependencies and picks up new versions on its own.
What is the superfile command called?
spf. The package carries the project name, superfile, while the binary it installs at /usr/bin/spf keeps upstream’s short name.
How do I update superfile to the latest version?
Run sudo apt update && sudo apt upgrade. Setting auto_check_update = false in config.toml stops superfile from checking for releases itself, which APT already handles.
How do I install superfile on Debian?
Exactly the same way; lsb_release -sc simply resolves to a different codename. There is a companion guide with the Debian specifics: How to install superfile on Debian.
Which Ubuntu releases are supported?
Jammy 22.04 LTS, Noble 24.04 LTS, Questing 25.10 and Resolute 26.04 LTS, on amd64 and arm64. Because the repository line is built from lsb_release -sc, the matching suite is selected for you.
Resources
- superfile Website
- superfile GitHub Repository
- superfile Packaging Repository
- deb.griffo.io Repository
- Install guide on deb.griffo.io
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 superfile project.