虚拟终端和伪终端有什么区别?

虚拟终端和伪终端有什么区别?

是虚拟终端,即键入 ++Ctrl时获得的终端,由文件表示。AltF#/dev/tty#

而伪终端是实际在 tty“内部”运行的终端,例如:gnome-terminalxterm等。并且由文件 表示/dev/pts/#

我对么?

答案1

“虚拟终端”是一个定义松散的术语,根据谈话者的不同,其含义可能有所不同。如果虚拟终端与物理终端对立(例如真正的 DEC VT100)。

在 Linux 上,/dev/tty[n]是虚拟的控制台。它们是由内核实现的虚拟终端(终端仿真器),并且独立于图形环境(如果有)。

/dev/pts/#是用于与本地或远程终端仿真器(例如gnome-terminal或 Windows )交互的通道putty

答案2

伪终端是一个内核概念,引入它是为了向程序提供终端线路规则,以便程序认为它们正在与真实的终端进行通信。这使得程序无需修改即可工作,无论它们是与真实终端设备(例如串行端口)还是伪终端通信。

例如,网络连接提供的接口看起来根本不像串行线,因此使用伪终端对(主设备和从设备)。网络处理程序进程打开伪终端的主端并从中读取和写入。写入主端的内容会出现在从端读取,反之亦然。此外,用于更改线路规则等的所有 ioctl 都可在从属端的文件描述符上使用。

简而言之,您可以说伪终端使您能够使用软件模拟真实的终端。

相关内容