
我想編寫一個 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”,然後按一下您想了解其幾何參數的視窗。