You’ve probably switched terminal emulators a few times and ended up going back to the default.

Not because the new one was bad, but because you SSH into a server, run htop, and get an unknown terminal type error.

That’s usually when the new terminal gets blamed and uninstalled, even though the problem isn’t really the terminal itself.

The issue is a missing terminfo entry, and it can affect modern terminals that use their own terminal type instead of xterm.

Rio is one of them.

The fix takes just two commands, and it’s worth doing before you run into the problem.

So, in this article, we’ll install Rio and set up the terminfo entry first.

Then, we’ll push that same entry to the servers you connect to, so the problem doesn’t follow you around the network.

After that, we’ll look at the parts you actually installed Rio for: the config file, fonts, themes, splits without tmux, and the command palette.

We’ll also cover what Rio still can’t do, because it’s useful to know the limitations before deciding whether to switch.

Rio reached version 0.4.5 in May 2026, and the project has been moving quickly, so some older tutorials may no longer match the current version.

Everything here was tested with Rio 0.4.5 on Ubuntu 26.04 and RHEL 10, and the commands work on any modern Linux distribution.

Rio draws the terminal grid on your GPU instead of relying on the CPU.

On Linux, it uses Vulkan by default, which helps keep scrolling through large log files smooth, even when the system is under load.

The other big difference is that tabs and splits are built directly into Rio.

You don’t need a separate session multiplexer running underneath, so a split is simply another pane within the same terminal window instead of a tmux session you have to manage and reattach to.

Rio also includes a command palette.

Press Ctrl+Shift+p to open it and search for Rio actions by name.

It’s a quick way to find a key binding you’ve forgotten without having to dig through the documentation.

Rio publishes .deb and .rpm packages with each GitHub release, and some Linux distributions also include it in their own repositories.

Start by downloading the package that matches your system from the Rio releases page.

Throughout this article, anything inside angle brackets is a placeholder that you replace with your own value.

For example, should be replaced with the release number you downloaded, such as 0.4.5.

On Ubuntu/Debian:

On RHEL/Rocky Linux:

The sudo runs the command with root privileges, which is required because the package needs to install files outside your home directory.

Without it, you’ll get a Permission denied error.

If you’re using Arch Linux, Rio is available from the Extra repository:

If your distribution doesn’t package Rio, you can also install it through Flatpak:

Once the installation is complete, verify it with:

This should print the version you installed.

If you get rio: command not found, the binary may not be in your $PATH.

This can happen with manual installations and when using Flatpak from the terminal.

Rio sets TERM=rio, and programs use that value to look up your terminal’s capabilities in the terminfo database.

If the rio entry is missing, commands like clear may stop working, arrow keys can print escape codes, and vim may refuse to open.

Check whether the entry already exists:

If it works, you’ll see a capability list starting with rio|Rio Terminal.

If infocmp reports that it can’t open the terminfo file, the entry isn’t installed and you’ll need to add it yourself.

What you need to do depends on your distribution.

Debian 13 and later, along with Ubuntu 24.04 and later, include Rio’s entry in the ncurses-term package.

RPM packages include the terminfo files directly.

Ubuntu 22.04 and older Debian releases don’t, because Rio’s .deb package deliberately leaves the terminfo entry out to avoid conflicts with system packages.

Here’s the manual fix:

Here’s what the middle command does:

Run infocmp rio again to confirm the entry is now available.

Then restart Rio, because programs read the TERM value when they start.

Installing the terminfo entry locally fixes your laptop, but it doesn’t fix the servers you SSH into.

That’s because TERM=rio is sent with the SSH connection, and those servers may not have a rio entry installed.

You’ll notice it when you log in and htop refuses to start with an unknown terminal type error.

As a quick workaround for a single session, you can use:

For a server you use regularly, it’s better to copy the actual Rio terminfo entry to the server once:

Here, infocmp -x rio outputs your local Rio terminfo description, ssh sends it to the remote host, and the final – tells tic to compile the entry from standard input.

Once that’s done, the server knows what rio means, so your colors, keys, and terminal applications should work normally.

Rio has a small command-line interface that’s useful when you want to launch a terminal already pointed at a specific task.

Start by checking the available options:

You’ll see output like this:

Here’s what the main options do:

Generate the configuration file now, since we’ll edit it in the next section:

This creates ~/.config/rio/config.toml with the default settings filled in.

If rendering ever misbehaves, you can start Rio with debug logging RIO_LOG_LEVEL=debug rio.

This prints information about what the renderer is doing as Rio starts.

Rio reads ~/.config/rio/config.toml and automatically re-renders when you save the file.

That means you can keep the config open in one split and see your changes take effect immediately.

There’s one easy mistake to avoid.

Any setting without a section header must appear before all [section] headers.

Otherwise, TOML treats that setting as part of the section above it, and Rio may ignore it.

For example, putting theme = “dracula” under [editor] won’t work.

Here’s a good starting configuration:

The theme setting expects a matching dracula.toml file inside ~/.config/rio/themes.

You can find more than 250 ready-made themes in the iTerm2-Color-Schemes repository.

Increasing scrollback-history-limit to 50,000 lets you access much more previous terminal output, but it also uses more memory per pane.

That’s usually a reasonable trade-off on a workstation, but something to consider on a 1 GB VPS.

Splits are enabled by default on Linux, and the keyboard shortcuts are simple enough to learn quickly.

Ctrl+Shift+r splits the terminal to the right, Ctrl+Shift+d splits it down, and Ctrl+Shift+] and Ctrl+Shift+[ move between panes.

For tabs, use Ctrl+Shift+t to open a new tab and Ctrl+Shift+w to close one.

You can jump directly to a numbered tab with Ctrl+Shift+1 through Ctrl+Shift+9.

To resize a split, use Ctrl+Shift+Alt together with an arrow key.

If you already use tmux or zellij, set mode = “Plain” under [navigation].

This disables Rio’s own tab-related key bindings, so they don’t conflict with your multiplexer shortcuts.

Rio isn’t a drop-in replacement for every setup, so it’s worth knowing where it falls short before you switch.

On Linux and BSD, the audio bell requires Rio to be compiled with the audio feature.

Distribution packages leave this feature out, so a standard installation gives you a visual bell or no bell at all.

The RetroArch shader filters shown in many Rio demos also require the Webgpu backend and a build with the wgpu Cargo feature.

The native Vulkan backend used by default on Linux doesn’t support the filter chain.

GPU rendering also depends on working graphics drivers.

Inside a VM, or on a system with broken GPU drivers, Rio may open with a blank or corrupted window.

In that case, you can try use-cpu = true under [renderer].

This uses Rio’s experimental CPU rasterizer, but it drops image overlays and GPU filters.

You’ve installed Rio, set up the terminfo entry that keeps vim and htop working, pushed that entry to a remote server over SSH, and configured fonts, themes, scrollback, and splits.

That covers most of the setup people often give up on halfway through.

The one thing to do now is run infocmp rio on the server you SSH into most often.

If it returns an error, use the infocmp -x rio | ssh command from earlier to copy your local entry to the server.

That removes one of the most common problems when using a modern terminal with older systems.

What made you try a new terminal emulator in the first place: better scrollback performance, splits without tmux, or something your default terminal was missing? Let me know in the comments.

I read them all.

Kubescape: Kubernetes Security Scanning for Manifests, Images, and Clusters

Hyperswitch on Linux: A Self-Hosted Payment Switch for Multiple Processors

TiDB: Build a MySQL-Compatible Distributed SQL Database on Linux

lazygit: Manage Git Repositories from the Linux Terminal

Hister: Search Local Files Instantly in Linux

Prometheus TSDB: Manage Data Storage and Retention on Linux

3 Methods to Check Apache Server Status and Uptime in Linux

Hegemon – A Modular System Monitoring Tool for Linux

How to Monitor Website and Application with Uptime Kuma

How to Install Nagios Core in Rocky LInux and AlmaLinux

IPTraf-ng – A Console-Based Network Monitoring Tool

screenFetch – An Ultimate System Information Generator for Linux

A Complete Guide to Usage of ‘usermod’ command – 15 Practical Examples with Screenshots

How to Create and Extract Zip Files to Specific Directory in Linux

How to Use diff3 Command for File Merging in Linux

How to Avoid Retyping Long Commands in Linux

YT-DLP: The Easiest Way to Download Videos and Songs from YouTube

How to Remove a Directory and File in Linux Using ‘rm’ Command

16 Free and Open Source Video Players for Linux in 2024

4 Best Tools for Creating Fillable PDF Forms on Linux

15 Best Free and Open Source Software (FOSS) Programs for Linux

Top 5 Open-Source Productivity Tools for Linux

10 Best API Gateways and Management Tools in 2024

12 Open-Source WYSIWYG Editors Worth Using in 2026

—

**📚 Original Source:**
[Rio Terminal for Linux: Speed Up Your Command-Line Workflow](https://www.tecmint.com/rio-terminal-emulator-for-linux/)

About The Author