基本概念:
1. tty(终端设备的统称):
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
2. pty(虚拟终端):
但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)
3. pts/ptmx(pts/ptmx结合使用,进而实现pty):
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
以上转自http://hi.baidu.com/sicceer/blog/item/a52dce195e03c575dab4bdcc.html点击打开链接
在Ubuntu10.04及11.04中实验证明
使用ssh登录后,且Ubuntu系统上不存在其他已登录用户时,执行who命令返回
dXXX pts/0 2011-11-18 09:50 (192.168.75.1) —— 用户名 虚拟终端号 系统时间(远程连接地址)
当登录gnome界面后,执行who命令返回
yYYY tty8 2011-11-18 09:47 (:0) —— 用户名 终端设备名称 系统时间(X端口号)
dXXX pts/0 2011-11-18 09:50 (192.168.75.1)
当在gnome界面上打开一个终端窗口后,执行who命令返回
yYYY tty8 2011-11-18 09:47 (:0)
dXXX pts/0 2011-11-18 09:50 (192.168.75.1)
yYYY pts/1 2011-11-18 10:06 (:0.0) —— 用户名 虚拟终端号 系统时间(X端口号.0)
再打开一个新的终端窗口后,执行who命令返回
yYYY tty8 2011-11-18 09:47 (:0)
dXXX pts/0 2011-11-18 09:50 (192.168.75.1)
yYYY pts/1 2011-11-18 10:37 (:0.0)
yYYY pts/2 2011-11-18 10:37 (:0.0) —— 用户名 虚拟终端号 系统时间(X端口号.0)
即无论是在gnome界面上打开终端窗口或新开ssh连接,who命令返回的虚拟终端号都会不断增加。打开20的虚拟终端后也是如此。
退出gnome,在kde界面上进行实验时,打开多个虚拟终端,执行who命令均只返回
dXXX tty8 2011-11-18 09:51 (:0) —— 用户名 终端设备名称 系统时间(X端口号)
dXXX pts/0 2011-11-18 09:51 (:0) —— 用户名 虚拟终端号 系统时间(X端口号)
这时在使用ssh登录该Ubuntu系统,,执行who命令返回
dXXX tty8 2011-11-18 09:51 (:0)
dXXX pts/0 2011-11-18 09:51 (:0)
dXXX pts/2 2011-11-18 10:55 (192.168.75.1) —— 用户名 虚拟终端号 系统时间(X端口号)
即kde与gnome的终端实现有所不同,在kde窗口不断打开新的终端也不会增加虚拟终端号。