4

Linux tty的由来与理解 | myfreax

 2 years ago
source link: https://www.myfreax.com/origin-of-linux-tty/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

从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连接到哪些用户


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK