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驱动开发嵌入式...