网络管理员往往需要发送消息到网络上的节点,在用户桌面上显示弹出窗,GUI工具,可以创建包括文本框,输入框在内的窗口,SSH可以使用连接远程主机上的shell.GNU/Linux发行版不默认zenity,可以用软件包来安装
zenity是一种脚本化对话框创建工具,还有一些其他的对话框,gdiglog,kdialog,xdialog,作为面向GNOME桌面环境的一个工具,非常灵活
zenity创建一个信息框,可以使用
zenity –info –text “This is a message”
这个命令会显示一个长江口,上面有着 This is a message
我们可以使用SSH在远程主机上运行zenity语句,要通过SSH在远程主机上执行这个语句,可以使用
ssh user@remotehost ‘zenity –info –text “This is power” ‘
不过,会返回一个类似的错误
zenity 依赖于Xserver,Xserver是一个守护进程,可以再屏幕上绘制GUI
可以使用DISPLAY=:0来指示Xserver相关实例的情况
所以可以改写为
ssh username@remotehost ‘export DISPLAY=:0; zenity –info –text “This is a message” ‘
这样就可以显示在窗口管理器了
我们可以以一种多播的方式向着多台远程主机弹出窗口
#! /bin/bash
IP_LIST=”192.168.0.5 192.168.0.03 192.168.0.13″
Usr=”username”
COMMAND=’export DISPLAY=0;zenityp –info –text “This is a message” ‘
for host in $IP_LIST
for host in $IP_LIST
do
ssh $USER$host “$COMMAND” &
done
我们列出了一组相对应的IP地址,使用U型你换来进行迭代执行脚本
SSH语句的末尾有一个&,这个符号的作用是将SSH放在后台运行
但是会消耗一个线程