linux中的pty、pts、tty等

时间:2022-01-03 16:40:07

作为第一篇随笔也树立一下信心吧,以后要更改自己的学习方式了!

1.tty有关

  tty它是 Teletype(或者TeletypeWriter)的缩写,中文翻译:电传打字机。

  电传打字机通常由键盘、收发报器和印字机构等组成。电传打印机是一个比较早出现的产品,为在传真机普遍使用以前的通信设备,其原理采用有点近似电报。它可安装在办公室内,因而毋须到电报局去发电传。

  终端,一种电子的或机电的硬件设备,用来向大型主机输入数据并显示来自主机的数据。为了充分使用计算机提供的计算资源,早期很多计算机会连接若干终端控制台,这些终端从硬件上构造很简单,不执行计算的任务,只简单的把用户的输入发送到主计算机去处理,然后再把计算结果返回给用户。前面的电传打字机就是最早的计算机的终端。后被显示器和键盘所取代。它们通过串口(通常是RS232)和主机相连,这也和现在的图形服务器类似,但是现代的图形处理器的终端是有一定的处理能力的,这和以前的终端还是有一定的区别的。而之前的终端分哑终端(dumb terminal)和智能终端(start terminal)。或者叫瘦客户端(thin client)和胖客户端(fat client)。进入PC时代,显示器不再包含字符生成的硬件,所有的视频信号都是由位于PC内的显卡生成的。这时的显示器不再是终端了,当PC链接大型主机时,可以来模拟终端(比如通过telnet)也就造就了pty的出现。

  在linux(centos 7+KDE)中输入tty的结果如下

 

[user1@localhost ~]$ tty
/dev/pts/3
[user1@localhost ~]$

2、pts有关 

在随着X视窗系统(KDE与GNOME等)的广泛使用,虚拟控制台的使用需求也越来越少,控制台程序可以在终端模拟器(terminal emulator)中运行这些被称为伪终端(Pseudo Terminal),具体的体现是虚拟控制台可以使用ctrl+alt+f1~f7进行切换,在X window未开启情况下可以开启虚拟控制台,如图在输入tty的结果为/dev/tty5而不是、/dev/pts/0...63。

 

 linux中的pty、pts、tty等

伪终端使用两种规则如下

 linux中的pty、pts、tty等

我们在KDE下开启多个终端模拟器,其中虚拟控制台开启多个,分别登录为user1和root,可以看到我们在user1下开启了pts/1、3、4、5、6、7。而、/dev/pts/0是默认开启的,因为开启的KDE。

而root同理开启的pts/2、5。至于其中其他的是因为我开启了其他的虚拟控制台使用这两个账号登录的。

linux中的pty、pts、tty等

我们使用echo向分别标注为+pts/0和-pts/1发送消息。

linux中的pty、pts、tty等

 

 linux中的pty、pts、tty等                              linux中的pty、pts、tty等

可以看到到标注+的终端模拟器接受到echo会在系统消息服务中显示,标记为-的则显示在终端模拟器中。同样也可以使用虚拟控制台(tty)向终端模拟器(pts)发送消息

 

 linux中的pty、pts、tty等                                                  linux中的pty、pts、tty等

 

 依旧可以正常显示,切记一定要使用who -a先查看接受的目标是否存在。可是还存在一个问题是现在仅仅看到pts和tty那么ptmx是否存在,在dev中进行查找的确是可以看到pts对应的ptmx,因此user1开启了0、1、2、5、7号pts和一个ptmx为主机。

linux中的pty、pts、tty等

大量数据来自于https://blog.csdn.net/dbzhang800/article/details/6939742#commentBox