为什么 Linux 为真正的终端控制台提供一个 pts 号? (不是像 ssh 或 xterm 这样的模拟终端)

为什么 Linux 为真正的终端控制台提供一个 pts 号? (不是像 ssh 或 xterm 这样的模拟终端)

我读到 pts 是一个伪终端(我们通过 ssh 或 xterm 获得),而 tty 是本机终端。

我没有通过 ssh 或 xterm 连接到我的电脑,但当我键入who命令时,我仍然收到 pts/0 和 pts/1 。当我打开其他终端时,点数会增加。

username@machine$ who
username tty7         2020-12-30 11:39 (:0)
username pts/0        2020-12-30 11:39 (:0)
username pts/1        2020-12-30 11:53 (:0)

我不明白为什么会发生这种情况,打开其他终端后不应该有更多的 tty 吗?

另外,当我这样做时,su我看到其他 pts 会话在 auth.log 文件中为 root 打开。

答案1

正如您在评论中已经假设的那样:

好的,GUI 终端应用程序也被视为 pts,唯一的 tty 是该系统的主 shell。就像通过 alt+ctlr+F2 一样,也可能通过 grub。正确的??

GUI 终端模拟器(无论是 xterm、gnome-terminal 等)不会打开本机终端 (tty),而是打开伪终端 (pts)。

原生的只是那些你可以通过按 Alt+Ctrl+F2 等键到达的。

相关内容