我发现一件比较有意思的事情
从不同终端登录同一台服务器的两个用户(userA和userB)可以同时使用一个shell终端实现shell共享
userA能看到userB在终端的输入
userB也能看到userA在终端上的输入
就好像他们在使用一个终端,彼此的输入是共享给对方的
一个终端的输入会共享在两个终端上,同时被看到
首先检查系统安装包tcl和expect
[root@www.linuxidc.com ~]# rpm -qa |grep tcl
tcl-8.4.13-4.el5
tcl-devel-8.4.13-4.el5
tcl-8.4.13-4.el5
[root@www.linuxidc.com ~]# rpm -qa |grep expect
expect-5.43.0-5.1
expect-5.43.0-5.1
如果没有expect的话,配置好yum,直接使用yum install expect -y 进行安装
然后看一下是否有kibitz命令
[root@www.linuxidc.com ~]# 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发出请求:
[root@www.linuxidc.com ~]# kibitz -tty pts/3 root
asking root to type: kibitz -3723
#光标就停在这个地方,这个进程并没有终止
此时去2号窗口(终端pts/3)你会看到这样:
[root@www.linuxidc.com ~]#
Message from root@www.linuxidc.com on pts/2 at 00:07 …
Can we talk? Run: #需要你将“kibitz -3723”粘贴在这个地方
在2号窗口(终端pts/3)粘贴完之后就变成这样了:
[root@www.linuxidc.com ~]#
Message from root@www.linuxidc.com on pts/2 at 00:07 …
Can we talk? Run: kibitz -3723
EOF
kibitz -3723
Escape sequence is ^]
再回到1号窗口(终端pts/2)你会发现,屏幕上的输出信息:【绿色部分是粘贴完之后出现的】
[root@www.linuxidc.com ~]# kibitz -tty pts/3 root
asking root to type: kibitz -3723
Escape sequence is ^]
现在两个终端已经实现共享了,当你从其中任何一个终端输入命令行的时候,都会在另一个终端上有完全相同的输出