歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下多終端同步

Linux下多終端同步

日期:2017/2/28 14:54:14   编辑:Linux教程

在linux系統下,有時由於教學或互動的需要,多個不同終端的用戶需要看到相同的操作效果。使用vnc可以解決,但占系統資源和網絡流量比較多。這裡使用多終端同步,可以使位於同一台主機或不同主機的終端顯示相同的操作效果,占用資源非常少,十分簡單,一個命令即可搞定。
安裝必須軟件
#yum install tcl expect

(1)確認當前所在終端號:
[root@localhost shell]# w
17:59:31 up 9:47, 5 users, load average: 0.06, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty3 - 08:15 9:44m 0.75s 0.75s ./xrgsu -a
root tty1 :0 17:08 9:47m 9.41s 9.41s /usr/bin/Xorg :
root pts/0 :0.0 17:25 0.00s 3.04s 0.00s w
root pts/1 :0.0 17:33 10:04 0.11s 0.11s bash
root pts/3 :0.0 17:39 46.00s 0.02s 0.02s /bin/bash

(2)以root用戶身份向指定終端發起同步命令:
=========pts/0 向pts/1 發起操作========
[root@localhost shell]# kibitz -tty pts/1 root
asking root to type: kibitz -4010


=========pts/1 收到請求 =============
[root@localhost shell]#
Message from [email protected] on pts/0 at 18:02 ...
Can we talk? Run: kibitz -4010
EOF

(3)按回車,輸入 kibitz -4010
[root@localhost shell]# kibitz -4010
Escape sequence is ^]

此時,pts/0 與pts/1兩個終端已同步,控制任何一個終端可以在兩邊顯示操作信息。

(4)再次查看終端狀態
[root@localhost shell]# w
18:06:10 up 9:54, 5 users, load average: 0.04, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty3 - 08:15 9:50m 0.76s 0.76s ./xrgsu -a
root tty1 :0 17:08 9:54m 12.66s 12.66s /usr/bin/Xorg :
root pts/0 :0.0 17:25 1:58 5.41s 0.00s expect -- /usr/
root pts/1 :0.0 17:33 0.00s 0.11s 0.00s expect -- /usr/
root pts/3 :0.0 17:39 4:17 0.03s 0.03s /bin/bash
pts/0和pts/1已經通過expect程序同步,pts/3沒有同步。

(5)讓3個以上終端同步
在pts/0或pts/1終端裡向pts/3發起同步請求
[root@localhost shell]# kibitz -tty pts/3 root
asking root to type: kibitz -4046

pts/3收到請求
[root@localhost ~]#
Message from [email protected] on pts/2 at 18:10 ...
Can we talk? Run: kibitz -4046
EOF

(6)pts/3按回車,輸入 kibitz -4046
[root@localhost ~]# kibitz -4046
Escape sequence is ^]

(7)再次查看終端狀態,3個終端都已經同步
[root@localhost shell]# w
18:11:15 up 9:59, 5 users, load average: 0.01, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty3 - 08:15 9:55m 0.77s 0.77s ./xrgsu -a
root tty1 :0 17:08 9:59m 14.51s 14.51s /usr/bin/Xorg :
root pts/0 :0.0 17:25 7:03 7.09s 0.01s expect -- /usr/
root pts/1 :0.0 17:33 1:08 0.11s 0.00s expect -- /usr/
root pts/3 :0.0 17:39 0.00s 0.03s 0.00s expect -- /usr/

相同的原理,即使使用遠程登錄,不同的終端位於不同的主機上,一樣可以使用這樣的方法達到終端同步。

=============
man kibitz
kibitz - allow two people to interact with one shell
允許兩個用戶影響一個shell,即多終端同步

Copyright © Linux教程網 All Rights Reserved