How to Install Termusic on Ubuntu: A Terminal Music Player in Rust
Termusic is a feature-rich terminal music player written in Rust. It presents a complete text-based user interface for browsing your library, assembling playlists and driving playback, all inside the terminal and without a desktop audio app in sight. If your day is spent in a terminal, Termusic lets a spare pane double as a capable music player.
Rather than a minimal play-and-quit tool, Termusic indexes your local music into a searchable library, offers gapless playback and reorderable playlists, and reads the formats you actually have: MP3, FLAC, OGG, M4A and WAV among them. It uses a client/server design in which a background termusic-server process runs the audio pipeline while the termusic TUI talks to it, so your music keeps playing while you move around the interface.
Ubuntu does not ship Termusic in its official archives, and compiling it means installing Rust plus a set of audio libraries. The unofficial deb.griffo.io repository is the shortcut: a prebuilt Termusic package that installs cleanly with apt.
Install the Latest Termusic on Ubuntu: The Short Version
If you only came for the commands, this adds the repository and installs the latest Termusic .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 termusic
The rest of this guide explains what each command does, how to verify the install, how to keep Termusic up to date, and what to check when something goes wrong.
What Makes Termusic Special?
- ๐ต Full-featured TUI - Library browsing, queueing and playback control from the keyboard
- ๐ฆ Written in Rust - Snappy and light on CPU and memory
- ๐๏ธ Music library indexing - Builds a fast, searchable database of your collection
- ๐ Playlist management - Create, reorder and save playlists with gapless queueing
- ๐๏ธ Multiple audio backends - Pure-Rust (Symphonia), GStreamer or MPV
- ๐ง Broad format support - MP3, FLAC, OGG, M4A, WAV and beyond
- ๐ฅ๏ธ Client/server architecture - A background server keeps playback alive as you navigate
- ๐๏ธ Podcast support - Follow and play podcast feeds next to your music
Why Use the deb.griffo.io Repository?
On Ubuntu, installing Termusic from deb.griffo.io gives you:
- Easy installation and updates through the APT package manager
- Automatic dependency management handled by the packaging
- Always tracks upstream releases so you stay current
- No compiling from source and no Rust toolchain to install
- Works across supported Ubuntu releases with the codename detected automatically
Prerequisites
Before you begin, make sure you have:
- An Ubuntu system (Jammy 22.04 LTS, Noble 24.04 LTS, or newer)
sudoprivilegescurlinstalled (install withsudo apt install curlif needed)- A working audio stack (PipeWire or PulseAudio) and some music files
Step 1: Add the deb.griffo.io Repository
Add the repository key and source to your system:
# 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
A quick breakdown of the commands:
- Keyrings directory: Creates
/etc/apt/keyringswith the correct permissions. - GPG key: Downloads and de-armours the signing key so APT can verify packages.
- Repository: Adds the source line, letting
lsb_release -scfill in your Ubuntu codename such asnoble. - Update: Loads the new metadata so the packages become visible.
Step 2: Update the Package List
If you did not run the last command above, do so now:
sudo apt update
Step 3: Install Termusic
Install the package:
sudo apt install termusic
APT fetches the latest packaged Termusic, its server component and any dependencies.
Step 4: Verify the Installation
Confirm the version:
termusic --version
Expected output:
termusic 0.11.0
Getting Started with Termusic
Termusic combines a TUI client with a background playback server. The following sections cover launching it, adding your music, learning the controls and picking an audio backend.
Launch and Point It at Your Music
Run Termusic with no arguments to open the interface:
termusic
For a fast first load, you can open it directly on a music directory:
termusic ~/Music
From within the interface, add your music folder to the library. Termusic scans it and builds an indexed database, so later browsing and searching are immediate.
Everyday Controls
Termusic is entirely keyboard-driven. The common default bindings are:
Tab / Shift+Tab move between the library, playlist and lyrics panes
Enter add the selected track to the playlist / play it
Space pause or resume
n next track
N previous track
+ / - volume up / down
q quit
Press ? at any time to display the full list of bindings for your version.
Configuration
Termusic stores its configuration in ~/.config/termusic/:
~/.config/termusic/server.toml # playback settings and music directories
~/.config/termusic/tui.toml # interface and key binding settings
~/.config/termusic/themes/ # custom colour themes
Use server.toml to define your default music directories and backend, and tui.toml to tweak the appearance and key bindings. The library database sits beside these files.
Choosing an Audio Backend
Termusic can play through several backends. The default pure-Rust backend (Symphonia) needs no extra system libraries, while GStreamer and MPV expand codec coverage. Set your choice in server.toml:
# ~/.config/termusic/server.toml
[player]
backend = "rusty" # options: rusty, gstreamer, mpv
Restart Termusic after changing the backend so the server reloads with the new setting.
Keeping Termusic Updated
Because Termusic is installed from the repository, it updates with the rest of Ubuntu:
sudo apt update && sudo apt upgrade
Other Tools from deb.griffo.io
The deb.griffo.io repository packages many other terminal tools that go well with Termusic:
- lowfi - A tiny, cozy terminal lofi music player
- viu - A terminal image viewer for album art and previews
- Yazi - A blazing fast terminal file manager written in Rust
- Fastfetch - A fast, highly customizable system information tool
Troubleshooting
GPG or Key Issues
If APT reports the repository signature cannot be verified, re-import the key:
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 locate the termusic package:
- Re-run
sudo apt updateafter adding the repository. - Confirm your Ubuntu release is supported (Jammy, Noble or newer).
- Inspect the source line:
cat /etc/apt/sources.list.d/deb.griffo.io.list.
No Sound During Playback
If Termusic runs but produces no audio, the audio stack is the usual suspect:
- Verify sound works generally:
speaker-test -c2 -t wavshould be audible. - Check that PipeWire or PulseAudio is active for your session with
systemctl --user status pipewire(orpulseaudio). - Switch backends in
~/.config/termusic/server.toml; ifrustycannot decode a particular file,gstreamerormpvoften will.
Uninstalling
To remove Termusic:
sudo apt remove termusic
To also remove the repository configuration:
sudo rm /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update
Your configuration and library database under ~/.config/termusic remain; remove that directory for a completely clean uninstall.
Conclusion
Termusic shows that a terminal music player can be a pleasure to use day to day. Between its indexed library, editable playlists, gapless playback and a client/server design that keeps the music going while you browse, it stands in comfortably for a graphical player when you would rather stay on the keyboard. On Ubuntu, the deb.griffo.io repository makes installation a single apt install, with updates arriving through your usual upgrades.
Aim it at your music folder, memorise a few key bindings, and Termusic becomes the backing track to your terminal work. Pair it with a terminal image viewer for cover art and a file manager for organising files, and your entire listening setup can live in the shell.
Frequently Asked Questions
How do I install the latest Termusic on Ubuntu?
Add the deb.griffo.io APT repository and its signing key, then run sudo apt install termusic. The repository tracks upstream Termusic releases, so you get the latest packaged version rather than a build frozen when your distribution was released.
Is there a .deb package for Termusic?
Yes. deb.griffo.io publishes Termusic 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.
How do I update Termusic to the latest version?
Run sudo apt update && sudo apt upgrade. Once Termusic is installed from APT there is no separate updater to remember, since new releases arrive with the rest of your system updates.
How do I install Termusic 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 Termusic on Debian.
Which Ubuntu releases are supported?
Jammy 22.04 LTS, Noble 24.04 LTS and newer. Because the repository line is built from lsb_release -sc, the matching suite is selected for you.
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 Termusic project.