Linux 黑话解释:什么是 Linux 中的 GUI、CLI 和 TUI?
创始人
2024-03-02 06:04:02
0

当你开始使用 Linux 并关注关于 Linux 的网站和论坛时,你会经常遇到诸如 GUI、CLI 等术语,有时还会遇到 TUI。

这一章的 Linux 黑话解释简要解释了这些术语,以便你作为一个(新的)Linux 用户在使用这些缩写词时能够更好地理解上下文。

说实话,像 GUI、CLI 或 TUI 这样的术语并不是 Linux 的专属术语。这些都是通用的计算术语,你会发现在非 Linux 的讨论中也会用到它们。

GUI - 图形用户界面 Graphical User Interface

这可能是你在这里最常遇到的词汇。这是因为我们专注于桌面 Linux 用户,并试图涵盖易于使用的图形化方法和应用程序。

GUI 应用程序(或图形应用程序)基本上是指任何可以与你的鼠标、触摸板或触摸屏交互的东西。有了图标和其他视觉概念,你可以使用鼠标指针来访问功能。

GIMP:一个用于照片编辑的GUI应用程序

在 Linux 上,桌面环境为你提供了与系统交互的图形界面,然后,你可以使用 GUI 应用程序,如 GIMP,VLC、Firefox、LibreOffice、文件管理器等来完成各种任务。

GUI 使普通用户的计算机使用变得更加容易,否则它将仍然是一个极客专用区。

CLI - 命令行界面 Command Line Interface

CLI 基本上是一个接受输入来执行某种功能的命令行程序。基本上,任何可以在终端中通过命令使用的应用程序都属于这一类。

apt-cache 是一个 CLI 工具,用于在基于 Debian 的系统上与 APT 缓存交互

早期的电脑与操作系统交互没有鼠标,你必须使用命令与机器互动。

如果你认为这都算困难,那你应该知道,早期的计算机甚至没有一个屏幕可以看到正在输入的东西,他们用实体的纸质打印机看到他们的输入命令。我从来没有用过这样的电脑,也没有在现实生活中看到过。我用过的最接近的东西是学习期间的单片机套件。

现在的 CLI 还有用吗?当然有。命令总是有它的好处,特别是当你处理操作系统的核心功能和配置时,比如设置防火墙、管理网络甚至包管理

你可能会有一个基于 GUI 的应用程序来完成同样的任务,但命令可以让你更精细地访问这些功能。在一些情况下,你会发现 GUI 应用程序也会用命令(在它们的代码中使用)与操作系统交互。

Handbrake GUI 应用程序在底层使用 FFMPEG CLI 工具

许多流行的 GUI 应用程序往往是基于 CLI 工具的。以Handbrake 为例。这是一个流行的开源媒体转换器,它底层使用的是 FFMPEG 命令行工具。

很明显,使用命令行工具没有图形工具那么简单。不要担心。除非你有特殊需要,否则你应该可以用图形化的方式使用 Linux 系统。然而,了解基本的 Linux 命令会有很大的帮助。

TUI - 终端用户界面 Terminal User Interface (也称为 基于文本的用户界面 Text-based User Interface )

这是三者中最不常见的名词。TUI 基本上部分是 GUI,部分是 CLI。糊涂了吗?让我为你解释一下。

你已经知道,早期的计算机使用 CLI。在实际的 GUI 出现之前,基于文本的用户界面在终端中提供了一种非常基本的图形交互。你会有更多的视觉效果,也可以使用鼠标和键盘与应用程序进行交互。

终端中的 nnn 文件浏览器

TUI 是基于文本的用户界面或终端用户界面的缩写。“基于文本”这个说法主要是因为你在屏幕上有一堆文本,而“终端用户界面”的说法是因为它们只在终端中使用。

TUI 的应用虽然不是那么常见,但你还是有一些的。基于终端的 Web 浏览器是 TUI 程序的好例子。基于终端的游戏也属于这一类。

CMUS 是基于终端的音乐播放器

当你在 Ubuntu 中安装多媒体编解码器时,你可能会遇到 TUI,你必须接受 EULA 或做出选择。

TUI 应用程序不像 GUI 应用程序那样用户友好,它们经常会有学习曲线,但它们比命令行工具更容易使用一些。

最后……

TUI 应用程序通常也被认为是 CLI 应用程序,因为它们被限制在终端上。在我看来,你是否认为它们与 CLI 不同,这取决于你。

我希望你喜欢这篇 Linux 黑话解释。如果你对这个系列的主题有什么建议,请在评论中告诉我,我将在以后尽量涵盖它们。


via: https://itsfoss.com/gui-cli-tui/

作者:Abhishek Prakash 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

技术速递|使用 Chrom...
Chroma 网站 https://trychroma.com/ ...
2025-03-12 20:42:04
BytearrayforG...
问题可能是由于在将16字节的GUID转换为字节数组时,字节数组的长...
2025-01-12 20:30:43
捕捉在TextField上...
在SwiftUI中,我们可以使用onPasteCommand修饰符...
2025-01-12 18:01:13
捕捉和处理videojs的...
可以尝试使用以下代码来捕捉和处理videojs的'bigplayb...
2025-01-12 16:01:57
不重新配置AWS CLI,...
要从脚本中访问S3存储桶,可以在脚本中使用AWS CLI的环境变量...
2025-01-12 14:00:41
不重新加载的SwiftUI...
在SwiftUI中,我们可以通过使用@State、@Binding...
2025-01-12 13:31:08

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...