说起Linux和UNIX你一定听过“TTY”这个词,但这是什么东西呢?作为桌面用户,它适合您吗?你需要它吗?你可以用它做什么?在本文中,让我向你介绍这些,并帮助你熟悉Linux中的TTY。注意:这个问题没有明确的答案,但它与过去输入/输出设备的交互方式有关。所以你必须了解一些历史才能清楚地了解情况。“TTY”背后的历史这一切都始于1830年代的电传打字机。电传打字机可以让您通过电线发送或接收消息,它取代了摩尔斯电码通信,这种方法需要两个操作员才能有效地相互通信。电传打字机只需要一个操作员就可以轻松地传递消息。虽然它没有采用现代布局的键盘,但其系统后来在1901年由唐纳德·默里(DonaldMurray)进行了修改,以包括一个类似打字机的键盘。Murray码减少了操作员发送消息的工作量。这使得电传打字机在1908年发展成为商用电传打字机Teletypewriter成为可能。TTY代表Teletypewriter。二战期间在伦敦实际使用的电传打字机|图片来自维基百科电传打字机与普通打字机的区别在于,电传打字机连接到通信设备并直接发送传入的消息。电传打字机使人类可以在没有计算机的情况下通过电线更快地进行交流。从那时起,“TTY”一词就存在了。一个(相对)现代的概念现在,您一定想知道,它是如何进入现代计算机和Linux的?最初当电传打字机进入市场时,几年后开发出半导体晶体管,然后演变成微处理器,为计算机的出现做好了准备。原来电脑没有键盘的概念,打卡就是输入法。插入计算机而不是通过键盘输入的穿孔卡计算机程序(TTY)|图片来自维基百科随着计算机的发展,用于批量输入的打孔卡最终被电传打字机取代,成为一种方便的输入/输出设备。1956年的LGP-30计算机,带有TTY。随着技术的进步,电传打字机被电子设备“虚拟化”了。因此,您不需要物理的、机械的TTY,而是虚拟的电子TTY。早期的计算机甚至没有视频屏幕。字符打印在纸上而不是显示在屏幕上。因此,您会看到术语“打印”而不是“显示”。随着技术的进步,视频显示后来被添加到终端。换句话说,您可能听说过它们被称为“视频终端”。或者,您可以称它们为“物理”终端。后来,它们演变成具有更强大功能的软件模拟终端。这是所谓的“终端仿真器”,例如GNOMETerminal或Konsole,或者您在Linux上可以找到的任何其他终端仿真器。那么,Linux中的TTY到底是什么?在Linux或UNIX中,TTY成为一种抽象设备。有时它指的是物理输入设备,例如串行端口,有时它指的是允许用户与系统交互的虚拟TTY(请参见此处)。TTY是Linux或UNIX的子系统,通过TTY驱动在内核层面实现进程管理、行编辑和会话管理。在编程场景中,还需要深挖。但考虑到本文的范围,它可能是一个易于理解的定义。如果你很好奇,你可以查看一个有点旧的资源(TTYDemystified),它尽可能地阐明了Linux和UNIX系统上TTY的各种技术细节。事实上,无论何时启动终端仿真器或在系统上使用任何类型的shell,它都会与虚拟TTY(也称为伪TTY伪TTY,或PTY)交互。您可以通过在终端仿真器中键入tty来找到关联的PTY。如何在Linux中访问TTY?在Linux中访问TTY很容易。事实上,当我不知道它是什么时,我不小心打开了它,并为该做什么以及如何摆脱它而感到恐慌。在大多数发行版上,您可以使用以下键盘快捷键进入TTY屏幕:CTRL+ALT+F1–锁定屏幕CTRL+ALT+F2–桌面环境CTRL+ALT+F3–TTY3CTRL+ALT+F4–TTY4CTRL+ALT+F5–TTY5CTRL+ALT+F6–TTY6您最多可以访问六个TTY。但是,前两个快捷方式指向发行版的锁屏和桌面环境。其他快捷方式将使您进入命令行界面。我什么时候应该使用TTY?TTY不仅是技术宝藏,甚至对像我这样的非开发人员用户也很有用。它应该在图形桌面环境冻结的情况下派上用场。在某些情况下,从TTY重建桌面环境可以帮助解决程序问题。或者,您也可以选择在TTY中执行任务,例如更新Linux系统等。在这些情况下,您不希望显示问题中断您的进程。最坏的情况是,如果GUI变得无响应,您可以转到TTY并重新启动计算机。一些用户还喜欢借助TTY传输大文件(我不是其中之一)。Linux中的TTY命令当您在终端仿真器中输入tty时,它将打印连接到标准输入的终端的文件名,正如手册页所述。换句话说,要知道您连接到的TTY号码,只需键入tty。而且,如果多个用户远程连接到Linux机器,您可以使用who命令检查其他用户连接到哪个TTY。
