CLUI (命令行用户界面)和 GUI (图形用户界面)使用不同的 TTY 还是两者共享相同的 TTY?
我过去知道他们都共享同一个 TTY,但我可能是错的。当我读到这篇文章时,我有点困惑,并看到了不同的措辞,这使得 CLUI/GUI-TTY 问题有点令人困惑。
我从历史(60 年代/70 年代)了解什么是 TTY 机器,但不知道现代是否是虚拟TTY“基础”CLUI 和 GUI,或者是否每个都有一个 TTY(一个用于 CLUI,一个用于 GUI),我的问题是是否真的存在。
根据 Sparhawk 的评论进行更新:
经过命令行界面我的意思是任何一个我从 GUI(包括发行版)运行的 CLUI(如 Debian 桌面 CLUI)或者我的其他无 GUI 发行版,例如 Debian 服务器 CLUI 或 Ubuntu WSL。
答案1
- CLUI:命令行用户界面
- GUI:图形用户界面
这些事情的意思就是它们的意思,仅此而已。
这些定义不包括有关 tty 的任何内容。例如,Windows 上的 cmd.exe 也是一个 CLUI,尽管它不使用任何 tty 设备(概念上它在 Windows 上不存在)。
Tty 的意思是虚拟电传打字机控制台编写器,这是 Unix 上伪虚拟终端的传统名称。默认情况下(启动后),字符控制台在它们上运行,但您可以将任何东西连接到它们。
理解 tty 的最好方法是,如果您将它们视为网络套接字: 进程可以听对他们,还有连接他们。此外,还有各种用于用户交互的内核 API:例如,如果虚拟终端意外关闭、更改其大小、激活或停用,则附加到它们的进程会得到不同的结果信号。他们用它做什么取决于他们。
例如,在 tty7 上运行的 X 服务器,如果切换到字符控制台 (alt/ctrl/f1),则会取消初始化视频卡并切换回字符模式。其他进程,例如命令外壳,可以做完全不同的事情。