我想编写一个 bash 脚本/配置/其他内容,通过执行单个命令来打开具有预定义排列的多个窗口。
例如,当我收到有关邮件服务器问题的通知时,我想执行connect_mailserver.sh
打开一个包含以下内容的窗口容器
- 一个窗口显示
tail -f /var/log/mail.log
- 一个窗口显示
htop
- 显示 Nagios 中所有与邮件相关的检查的浏览器窗口
- 用于在该服务器上执行操作的 shell
- ...
所有窗口都应该在预定义的位置启动,但我也应该能够移动它们并调整它们的大小。
我相信有很多优雅的解决方案,也许使用screen
或emacs
。也许有更好的工具?你有类似的解决方案吗?
答案1
可能不像你希望的那么优雅,但我会用wmctrl
它。
xterm -T mail.log -e tail -f /var/log/mail.log &
until wmctrl -F -r mail.log -e0,<posx>,<posy>,<width>,<height>
do sleep .1s
done
当然,您可以使用 xterm 之外的其他应用程序。wmctrl
只能匹配窗口标题或窗口 ID。如果您无法设置窗口标题,则必须通过-ing相关 PIDgrep
的输出来查找其 ID。wmctrl -lp
答案2
使用
xterm -geometry 120x50+100+100 -e 'command'
几何参数如下所示:LINESxCOLUMNS+XSTART+YSTART
如果您想了解几何参数,请打开几个xterm,并在另一个xterm中启动“xwininfo”,然后单击您想了解其几何参数的窗口。