什么是伪终端(pty/tty)?

什么是伪终端(pty/tty)?

这可能是一个非常基本的问题,但我想彻底理解它。

  1. 什么是伪终端? (tty/pty)
  2. 为什么我们需要它们?它们是如何被引入的以及有什么必要性?
  3. 它们过时了吗?我们不再需要它们了吗?有什么东西可以代替它们吗?
  4. 有什么有用的用例吗?

我做了什么:

  1. 阅读手册页 - 获得一些信息,但不是确切的图片。
  2. 尝试阅读理查德·史蒂文斯 (Richard Stevens) 的《Unix 网络编程》中的内容。得到了一些信息,但没有why?部分。

答案1

什么是伪终端? (tty/pty)

具有物理终端功能但实际上并非物理终端的设备。由 xterm 等终端仿真器创建。更多详细信息请参见联机帮助页 pty(7)。

为什么我们需要它们?它们是如何被引入的以及有什么必要性?

传统上,UNIX 有一组进程的控制终端的概念,并且许多 I/O 功能都是在考虑终端的情况下构建的。例如,伪终端处理一些控制字符,如 ^C。

它们过时了吗?我们不再需要它们了吗?有什么东西可以代替它们吗?

它们并没有过时,并且在许多程序中使用,包括 ssh。

有什么有用的用例吗?

SSH。

答案2

答案就在名字中——“伪”,意思是“不是真实的,但具有……的外观”。

对于第一个终端,总是有一个与相关设备相连的硬件,无论是显示硬件还是串行端口。

有了 xwindows、telnet 和 ssh,就需要软件“伪设备”来代替显示硬件。它们是“伪终端”......模拟终端硬件的软件,以与物理设备相同的方式处理输入和输出,以便连接的软件不知道没有连接真正的设备。

答案3

伪终端是串行线路的模拟器。它们为 telnet、ssh 和 xterm shell 提供端点。

相关内容