技术文档

单片机 gui Linux黑话解释:什么是GUI,CLI和TUI?

小编 2025-06-07 技术文档 23 0

Linux黑话解释:什么是GUI、CLI和TUI?

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

• 来源:linux.cn • 作者:Abhishek Prakash • 译者:Xingyu.Wang •

(本文字数:1929,阅读时长大约:3 分钟)

当你开始使用 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: itsfoss.com

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

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

点击“了解更多”可访问文内链接

当前主流的小型嵌入式GUI有哪些?

TouchGFX

TouchGFX以界面华丽,流畅以及强劲的TouchGFX Designer著称。

官方地址:

https://www.touchgfx.com/ 。

2018年,正式被ST收购,当前主要用于STM32平台。下面贴几张TouchGFX实际的显示效果:

img

img

img

img

下面是TouchGFX Designer的软件效果,功能比较强劲,让界面的创建变得比较容易:

img

关于TouchGFX的介绍就给大家说这么多,更多相关知识可以到TouchGFX的官网去查看。从上面的几张图可以看出,TouchGFX设计的界面效果还是很漂亮的。

TouchGFX在STM32官方探索板或者评估板上面的演示效果:

TouchGFX在STM32F429上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=8064

TouchGFX在STM32F469上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=15152

TouchGFX在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=17901

TouchGFX在STM32H750上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=94379

Embedded Wizard GUI

Embeded Wizard GUI同样以华丽,流畅的界面和强劲的GUIBuilder著称。

官方地址:

http://www.embedded-wizard.de/ 。

下面贴几张Embeded Wizard GUI实际的显示效果:

img

img

img

img

img

独创Chora界面编程语言,让大家的界面编程极其简单,GUIBuilder上面含有非常多的控件,皮肤和主题供用户选择,且支持调试,实际效果如下:

img

img

关于Embeded Wizard GUI的介绍就给大家说这么多,更多相关知识可以到Embeded Wizard GUI的官网去查看。从上面的几张图可以看出,Embeded Wizard GUI设计的界面效果还是很漂亮的。美中不足的是Embeded Wizard GUI也是要收费的,具体收费标准看这里:http://www.embedded-wizard.de/pricing.html

Embeded Wizard GUI在STM32官方探索板或者评估板上面的演示效果:

Embeded Wizard GUI在STM32F746上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=10850

Embeded Wizard GUI在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19548

emWin(uCGUI)

emWin属于老牌的嵌入式GUI了,有着20年的历史了,软件架构和功能比较成熟了。关于emWin的介绍可以看我们的第1版emWin教程,第2版emWin教程和第3版emWin教程。

官方地址:

https://www.segger.com/products/user-interface/emwin/

emWin教程第1版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=2932

emWin教程第2版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834

emWin教程第3版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

Qt for MCU

Qt官方在2018年的Embedded World上做了F429和F769的展示,但非常卡。2019年8月份的时候带来ST的F7,瑞萨的RH850和NXP的i.MX RT1050视频展示,比之前流畅了很多。

到了2019 Qt峰会的时候,正式发布Qt for MCU V1.0。

img

img

Qt for MCU视频展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=95912 。

Qt for MCU 收费

https://www.qt.io/buy-product/ 。

Crack Storyboard

Storyboard也有一款非常优秀的GUI设计器,能够大大的加速GUI的设计,而且足够绚丽,各种仪表,工控,医疗,物联网等都能很好的支持。

官方地址:

https://www.cranksoftware.com/ 。

当前支持的厂家如下:

img

Storyboard软件界面效果:

img

Storyboard Suite 5.0视频展示

视频效果还是比较炸的。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=53640 。

Storyboard收费方式

https://www.cranksoftware.com/storyboard-pricing-licensing 。

Altia GUI

Altia有将近30年的发展史,并且通过了AutomotiveSPICE汽车级HMI的一级认证,这个认证共分为6个级别,0到5级,其中第5级是最高等级。

官方地址:

https://www.altia.com/ 。

img

Altia GUI的图形开发软件更是极其强劲。有如下三款软件组成:

(1) 人机交互界面集成开发环境 — Altia Design。

img

(2)自动代码生成工具 — Altia DeepScreen

img

(3)在Adobe Photoshop中构建交互式用户界面资源 — Altia PhotoProto

img

支持的硬件平台:

img

img

效果展示:

img

Altia GUI视频效果展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=30737 。

Altia GUI收费方式

Altia GUI也是收费软件, 具体收费方式要联系要联系他们获取。

μGFX

μGFX也是这几年才发布的嵌入式GUI,界面效果不像TouchGFX那么华丽,不过功能也是简单实用。同样有一款不错的GUIBuilder。

官方地址:

http://www.ugfx.org/

支持的硬件平台,RTOS和显示屏驱动在这里有详细说明:http://www.ugfx.org/platforms.html ,就不单独整理出来了。

下面贴几张μGFX实际的显示效果:

img

img

img

下面是μGFX软件效果:

img

img

img

关于μGFX的介绍就给大家说这么多,更多相关知识可以到μGFX的官网去查看。从上面的几张图可以看出,虽然μGFX界面不够华丽,但还算实用。μGFX也是要收费的,具体收费标准看这里:http://www.ugfx.org/pricing.html 。

ThreadX GUIX

GUIX是微软的高级工业级GUI解决方案,专门针对深度嵌入式,实时和IoT应用程序而设计。微软还提供了名为GUIX Studio的桌面开发工具,该工具允许开发人员在桌面上设计其GUI并生成GUIX代码,然后可以将其导出到目标。

GUIX通过了医疗认证IEC-62304 Class C,汽车认证IEC-61508 ASIL D,工业认证IEC-61508 SIL 4和运输/铁路认证EN50128。表明GUIX可用于安全关键型系统。

GUIX提供了应用案例界面效果展示:

智能家居:

img

医疗类:

img

家电:

img

汽车电子:

img

工业控制:

img

LVGL

LittlevGL是一个免费的开源图形库,提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用。

「特点:」

强大的构建模组 按钮、图表、列表、滑块、图像等先进的图形 动画、反锯齿、半透明、平滑滚动多样的输入设备 触摸板、鼠标、键盘、编码器等多显示器支持 支持同时使用多个TFT或单色显示器多语言支持 UTF-8格式文字编码完全自定义 图形元素硬件无关 可用于任意微控制器或显示器可裁剪 用于小内存(80 KB FLASH,12 KB RAM)操作操作系统、外部存储以及GPU 支持但非必须单帧缓存 即可实现先进的图形效果C语言编写 以最大化兼容(C++ 兼容)模拟器 无需嵌入式硬件就可以在电脑上开始GUI设计教程、示例、主题 从而快速GUI设计文档 在线及离线免费开源 基于MIT协议

LLGUI

玲珑GUI是一套使用简单、低价的单片机GUI解决方案。

教程:

https://www.yuque.com/books/share/3317aaa7-f47f-4bfd-a4c2-7e64e7f1c4be?#

代替串口屏、组态,降低产品成本,产品软硬件自主可控。配套界面开发软件,图形化编辑界面,生成C代码,直接和用户产品代码结合。配套下载升级软件和bootloader,解决产品升级功能和图片下载问题。

总结

本章主要为大家讲解了几款主流的嵌入式GUI,让大家对当前的小型嵌入式GUI有一个整体的了解,更多关于这几款GUI的知识可以上其官网进行了解和学习。

来源:安富莱

版权归原作者所有,如有侵权,请联系删除。

相关问答

单片机gui 交互原理?

原理如下单片机gui交互原理,一般的情况可以用串口来通讯,matlabGUI可以直接读取串口中的数据,因此如果选用串口通讯的话,想实现matlabGUI和单...原理如下...

嵌入式 GUI 开发?

而嵌入式,是指的在单片机系统,在这种系统上进行的编程,涉及到的范围更复杂,不同结构、不同厂家、不同型号的芯片,其编程方法都有所区别。嵌入式程序设计,...

STM32 单片机 可以用来做人机交互界面吗?

电容式触摸屏有的stm32单片机可以支持支持。但是在实际项目中,通常采用模块化的设计,电容触摸屏和控制器通常集成在一起形成模组,这样做的好处是电容触摸屏模...

ucGUI与miniGUI有什么不同?

μc/GUI优势在于其体积小,配制性强,运用领域非常之广泛。相对于MiniGUI,只要满足RAM100bytes,堆栈500bytes,ROM10kbytes的小型系统中都可以运行μc/GUI,而.....

QT编程语言可以嫁接到 单片机 上面运行吗?

可以的,以下是关于QT开发平台和arm嵌入式的关系QT包括普通窗口界面下的和嵌入式下的嵌入式QT也叫QT/Embeded,是应用在嵌入式linux系统上的GUI应用程序运行环...

传感器与 单片机 的无线通信实现过程?

使用时直接先将设计的转接板与开发板相连,然后将接收模块的主机节点与两个发送模块的移动节点分别通过USB供电,实现组网功能。同时启动设计的上位机软件,并通...

本人电气工程专业想要学习嵌入式,求问有什么好的入门方法吗?...

嵌入式Linux工程师的学习需要具备一定的C语言基础,因此面对许多朋友只是在大一或者大二学习过C(还不一定认真学了,呵呵!),之后基本就不再用过的情况...

30岁转行嵌入式可行吗?为什么?

您好,30岁转行嵌入式开发,为时不晚我的回答是:如果您到目前为止,没有一个好的发展方向,或者人生处在迷茫阶段,那么学习一门技术,那是极好。案例说明很...转行...

CAD是计算机主要应用领域,它的涵义是( )。-ZOL问答

具体应用比如单片机以及嵌入式系统开发。VisualBasic是一种由微软公司开发的...VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO...

对于一个非计算机专业的学生来说,要想成为一名嵌入式系统工...

[回答]嵌入式Linux方向,关于这个方向,我认为大概分3个阶段:1、嵌入式linux上层应用,包括QT的GUI开发2、嵌入式linux系统开发3、嵌入式linux驱动开发嵌入式...

猜你喜欢