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

tty的历史

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

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

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

现代的tty概念

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

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

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

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

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

Linux中的TTY

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

TTY是Linux和Unix中的一个子系统,它通过TTY驱动程序使进程管理、行编辑和会话管理在内核中成为可能。在编程方面,您需要深入研究。但是,考虑到本文的范围,这可能是一个容易消化的定义。如果您好奇,您可以探索一个旧资源 ( TTY Demystified ),它试图清除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 – TT5
CTRL + ALT + F6 – TTY6

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

在Linux中什么时候使用TTY

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

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

tty也是Linux中的一个命令

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

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