# Linux TTY由来

从 UNIX 到 Linux,您一定听说过 “TTY” 这个词。作为桌面用户,你应该会用到它,并且你经常使用它。在教程中,让我提及让您熟悉 Linux 中的术语 TTY 所必需的一切。请注意,对此没有明确的答案,但它与过去输入/输出设备的交互方式有关。因此,您必须了解一些历史才能获得清晰的理解。

# tty的历史

这一切都始于 1830 年代的电传打字机。电传打字机可让您通过线路发送/接收短信。它取代了摩尔斯电码通信,在这种通信中,需要两个操作员才能有效地相互通信。

而且,电传打字机只需要一个操作员即可轻松传达信息。虽然它没有现代布局的键盘,但其系统后来在 1901 年由 Donald Murray 改进,包括一个类似打字机的键盘。

Murray 代码减少了操作员发送消息的工作量。并且,这使得电传打字机在 1908 年发展成为商业电传打字机成为可能。tty 是电传打字机的简写。

img

# 现代的tty概念

现在,您一定想知道,它是如何进入现代计算和 Linux的?首先,当电传打字机进入市场时,几年后开发了半导体晶体管,然后演变成微处理器,使计算机成为可能。最初的计算机没有键盘的概念。都是打孔卡输入。

img

随着计算机的发展,批量输入卡最终被电传打字机取代,成为一种方便的输入/输出设备。

随着技术的进步,电传打字机使用电子设备“虚拟化”了。因此,您不需要物理的、机械的 TTY,而是一个虚拟的电子 TTY。

早期的计算机甚至没有视频屏幕。东西被打印在纸上而不是显示在屏幕上。因此,您会看到使用术语“打印”,而不是“显示”。随着技术的进步,视频终端后来被添加到终端中。您也可以称它们为物理终端。然后,这些演变成软件模拟终端,具有更强的能力和功能。

这就是您所说的“终端模拟器”。例如,GNOME 终端或 Konsole 是您可以找到的适用于 Linux 的最好的终端模拟器。

# Linux中的TTY

说到 Linux,TTY 是 UNIX 和 Linux 中的一个抽象设备。有时它指的是物理输入设备,例如串行端口 USB,有时它指的是允许用户与系统交互的虚拟 TTY(参考 (opens new window))。

TTY 是 Linux 和 Unix 中的一个子系统,它通过 TTY 驱动程序使进程管理、行编辑和会话管理在内核中成为可能。在编程方面,您需要深入研究。但是,考虑到本文的范围,这可能是一个容易消化的定义。如果您好奇,您可以探索一个旧资源 ( TTY Demystified (opens new window) ),它试图清除 Linux 和 Unix 系统中的所有技术细节让你了解 TTY。

事实上,无论何时启动终端模拟器或在系统中使用任何类型的 shell,它都会与称为伪 TTY 或 PTY 的虚拟 TTY 交互。您只需在终端模拟器中输入 tty 即可找到关联的 PTY。

# 如何在Linux中访问TTY

在 Linux 中访问 TTY 很容易。事实上,你经常访问它。

您可以通过在大多数发行版上使用以下键盘快捷键来打开 TTY:

CTRL + ALT + F1:锁屏 CTRL + ALT + F2:桌面环境 CTRL + ALT + F3:TTY3 CTRL + ALT + F4:TTY4 CTRL + ALT + F5:TTY5 CTRL + ALT + F6:TTY6

您总共最多可以访问六个 TTY。但是,前两个快捷方式指向发行版的锁定屏幕和桌面环境。因此,您将获得带有其余快捷方式的命令行界面。

# 在Linux中什么时候使用TTY

tty 不仅仅是技术宝藏。即使对于像我这样不是开发人员的用户,它也很有用。

如果图形桌面环境卡死,它应该会派上用场。在某些情况下,从 TTY 重新安装桌面环境有助于解决问题。或者,您也可以选择在 TTY 中执行任务,例如更新 Linux 系统等。最坏的情况是,如果您的图形用户界面没有响应,您可以转到 TTY 并重新启动计算机。一些用户还喜欢在 TTY 的帮助下执行大文件传输。

# tty也是Linux中的一个命令

当您在终端模拟器中输入 TTY 时,它将打印连接到标准输入的终端的文件名,如手册页所述。

换句话说,要知道您连接的 TTY 号码,只需输入 TTY。并且,如果有多个用户远程连接到 Linux 机器,您可以使用who命令来检查其他TTY连接到哪些用户 (opens new window)

参考资料:

Linux tty的由来与理解 (opens new window)