![为什么 Linux 为真正的终端控制台提供一个 pts 号? (不是像 ssh 或 xterm 这样的模拟终端)](https://linux22.com/image/185653/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E4%B8%BA%E7%9C%9F%E6%AD%A3%E7%9A%84%E7%BB%88%E7%AB%AF%E6%8E%A7%E5%88%B6%E5%8F%B0%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%20pts%20%E5%8F%B7%EF%BC%9F%20%EF%BC%88%E4%B8%8D%E6%98%AF%E5%83%8F%20ssh%20%E6%88%96%20xterm%20%E8%BF%99%E6%A0%B7%E7%9A%84%E6%A8%A1%E6%8B%9F%E7%BB%88%E7%AB%AF%EF%BC%89.png)
我读到 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 等键到达的。