歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

不同終端登錄同一台服務器兩個用戶可同時共享一個shell終端

我發現一件比較有意思的事情

從不同終端登錄同一台服務器的兩個用戶(userA和userB)可以同時使用一個shell終端實現shell共享

userA能看到userB在終端的輸入

userB也能看到userA在終端上的輸入

就好像他們在使用一個終端,彼此的輸入是共享給對方的

一個終端的輸入會共享在兩個終端上,同時被看到

首先檢查系統安裝包tcl和expect

[[email protected] ~]# rpm -qa |grep tcl
tcl-8.4.13-4.el5
tcl-devel-8.4.13-4.el5
tcl-8.4.13-4.el5

[[email protected] ~]# rpm -qa |grep expect
expect-5.43.0-5.1
expect-5.43.0-5.1

如果沒有expect的話,配置好yum,直接使用yum install expect -y 進行安裝

然後看一下是否有kibitz命令

[[email protected] ~]# whereis kibitz
kibitz: /usr/bin/kibitz /usr/local/bin/kibitz /usr/share/man/man1/kibitz.1.gz

接下來開始做實驗:

通過xshell同時開兩個窗口登錄同一台機器

 

然後用w命令看一下當前登錄的用戶以及使用的終端

 

從上面圖片可以看到xshell的1號窗口是從終端pts/2登錄的,2號窗口是從pts/3登錄的

在1號窗口(終端pts/2)中做這個操作--向pts/3發出請求:

[[email protected] ~]# kibitz -tty pts/3 root
asking root to type:  kibitz -3723

#光標就停在這個地方,這個進程並沒有終止 

此時去2號窗口(終端pts/3)你會看到這樣:

[[email protected] ~]#
Message from [email protected] on pts/2 at 00:07 ...
Can we talk? Run:                #需要你將“kibitz -3723”粘貼在這個地方 

在2號窗口(終端pts/3)粘貼完之後就變成這樣了:

[[email protected] ~]#
Message from [email protected] on pts/2 at 00:07 ...
Can we talk? Run: kibitz -3723
EOF
kibitz -3723
Escape sequence is ^]
 

再回到1號窗口(終端pts/2)你會發現,屏幕上的輸出信息:【綠色部分是粘貼完之後出現的】

[[email protected] ~]# kibitz -tty pts/3 root
asking root to type:  kibitz -3723
Escape sequence is ^] 

現在兩個終端已經實現共享了,當你從其中任何一個終端輸入命令行的時候,都會在另一個終端上有完全相同的輸出

Copyright © Linux教程網 All Rights Reserved