Linux Jargon Buster: What are GUI, CLI and TUI in Linux?

In this chapter of Linux jargon buster, learn about the difference between the common terms GUI, CLI and TUI.
Warp Terminal

When you start using Linux and following Linux-based websites and forums, you’ll often come across terms like GUI, CLI and sometimes TUI.

This chapter of Linux Jargon Buster briefly explains these terms so that you, as a (new) Linux user, can understand the context better when these acronyms are used.

To be honest, the terms GUI, CLI, and TUI are not exclusive to Linux. These are generic computing terms that you’ll find used in non-Linux discussions as well.

GUI – Graphical User Interface

“GUI” is probably the most common term you’ll come across on It’s FOSS because we focus on desktop Linux users and try to cover the easy-to-use graphical methods and applications.

A GUI application or graphical application is basically anything that you can interact with using your mouse, touchpad, or touch screen. You have icons and other visual prompts that you can activate with your mouse pointer to access the functionalities.

A GIMP interface, which is an example of Graphical User Interface in Computer Systems.
GIMP GUI Interface

In a Linux distribution, a desktop environment provides the graphical interface for you to interact with your system. Then you can use GUI applications such as GIMP, VLC, Firefox, LibreOffice, and file manager for various tasks.

The GUI has made computing easier for the average user.

CLI – Command Line Interface

CLI is basically a command line program that accepts inputs to perform a certain function. Any application that you can use via commands in the terminal falls into this category.

A Command Line Interface (Linux Terminal), where an apt-cache command has been executed. The apt-cache is a CLI tool for interacting with APT cache on Debian-based systems.
A Terminal with apt-cache command executed

Early computers didn’t have a mouse to interact with the operating system, only keyboards.

If you think that’s difficult, you should know that the earlier computers didn’t even have a screen to see what was being typed; they had actual paper printers to display the typed commands. I have never used such a computer, or even seen one. The closest thing I used were the microcontroller kits during my studies.

Ken Thompson And Dennis Ritchie Working on developing UNIX operating system on PDP 11 computer.
Ken Thompson And Dennis Ritchie Working on developing UNIX operating system on PDP 11 computer. | Image Credit

Is CLI relevant these days? Absolutely. Commands always have benefits, especially when you are dealing with the core functioning and configuration of the operating system, such as setting up a firewall, managing a network or package management.

You may have a GUI-based application to do the same task, but commands give you more granular access to those features. In any case, you’ll find that GUI applications also interact with the operating system with commands (used in their code).

Handbrake GUI app uses FFMPEG CLI tool underneath
Handbrake GUI Application

Many popular GUI applications are often based on CLI tools. Consider Handbrake for example. It’s a popular open source media converter that uses the FFMPEG command line tool underneath.

Quite evidently, using command line tools is not as easy as the graphical ones. Don’t worry. Unless you have specific needs, you should be able to use your Linux system graphically. However, knowing the basic Linux commands helps a great deal.

Suggested Read 📖

Getting Started With Linux Terminal
Want to know the basics of the Linux command line? Here’s a tutorial series with a hands-on approach.

TUI – Terminal User Interface

TUI is also known as Text-based User Interface. This is the most uncommon term of the three. TUI is basically part GUI and part CLI. Confused? Let me explain it for you.

You already know that early computers used CLI. Before the advent of the GUI, the text-based user interface provided a very basic kind of graphical interaction in the terminal. You have more visuals and could use a mouse and keyboard to interact with the application.

nnn File Browser in terminal
nnn File Browser in terminal

TUI stands for text-based user interface or terminal user interface. Text-based because primarily, you have a bunch of text on the screen and terminal user interface because they are used only in the terminal.

TUI applications are not well-known to many users, but there are a bunch of them. Terminal-based web browsers are a good example of TUI programs. Terminal-based games also fall into this category.

CMUS is a terminal-based music player
CMUS is a terminal-based music player

You may come across TUI when you are installing multimedia codecs in Ubuntu where you have to accept EULA or make a choice.

TUI interface to accept EULA during the installation of ubuntu-restricted-extras in Ubuntu.
Accept EULA for Ubuntu-Restricted Extras

TUI apps are not as user-friendly as GUI applications, and they often have a learning curve involved, but they are a bit easier to use than the command line tools.

In the end …

TUI apps are often also considered as CLI applications because they are restricted to the terminal. In my opinion, it’s up to you if you consider them different from CLI.

I hope you liked this part of Linux Jargon Buster. If you have any suggestions for topics in this series, please let me know in the comments, and I’ll try to cover them in the future.

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.