命令行中的 tty7/tty2 是什么?

命令行中的 tty7/tty2 是什么?

最近我在终端里玩弄并输入了命令who。当我看到我的用户名和日期时,我不知道这是什么tty7tty2在 Ubuntu 17.10 及更新版本上)或这pts/0是什么,有人可以向我解释一下吗?

答案1

TTY 这个名字实际上来自于计算机的旧时代:当时的计算机甚至有电传打字机作为终端,因此您可以看到打印的程序输出(tty = TeleTYpe/TeleTYpewrite)。

TTY 通常指“物理”终端,比如连接到单台计算机的更多终端(甚至像电传打字机),或者在我们这个时代:更多独立的文本控制台,您可以在它们之间切换Ctrl + Alt + F1-F7(或更多,如果您配置了更多;在 Ubuntu 17.10 及更新版本上按 F3-F6)。

对于 Ubuntu 来说,tty7 通常由 Xorg/Wayland 显示服务器使用,请提供您的图形环境(更准确地说,它仅提供“窗口系统”,而像 gnome 这样的东西 - 作为桌面环境解决方案 - 在“其顶部”运行)。

相比之下,“pts”是“伪终端”概念的(一半),它在没有“真实”物理终端上下文的情况下实现终端功能,例如,如果你打开 gnome-terminal,为了使 shell(通常是 Ubuntu 系统上的 bash)能够运行,它需要终端功能。

如果您使用“ssh”登录远程机器,情况也是如此,简而言之:每当某些东西需要类似终端/tty 的功能而没有“真实”tty 时。

答案2

我认为通常是显示服务器(X 服务器)。

Ctrl+ Alt+ F7(Ubuntu 17.10 及更新版本上为 F3)并查看它是否会将您带至图形登录会话(或让您保留在那里)。

您也可以打开 shell 并运行tty。它会告诉您当前终端的名称。

答案3

tty7 是您登录的物理终端。在许多情况下,tty7 是您的窗口管理器运行的地方,也是您登录的地方。

从下面的清单可以看出,我于 5 月 24 日 9:33 从 tty7 登录(通过 Gnome 窗口管理器登录对话框),然后打开了 4 个伪终端。

[iluvblender@myhome ~]$ last | tac | egrep "May\s*24"

sgoda    tty7         :0               Wed May 24 09:33   still logged in   
sgoda    pts/0        :0               Wed May 24 09:33   still logged in   
sgoda    pts/2        :0               Wed May 24 09:36   still logged in   
sgoda    pts/4        :0               Wed May 24 09:40   still logged in   
sgoda    pts/5        :0               Wed May 24 09:42   still logged in 

相关内容