如何使用單一命令以預先定義的排列開啟多個窗口

如何使用單一命令以預先定義的排列開啟多個窗口

我想編寫一個 bash 腳本/配置/其他內容,透過執行單一命令來開啟具有預先定義排列的多個視窗。

例如,當我收到有關郵件伺服器問題的通知時,我想執行connect_mailserver.sh開啟包含以下內容的視窗容器

  • 一個視窗顯示tail -f /var/log/mail.log
  • 一個視窗顯示htop
  • 顯示 Nagios 中所有與郵件相關的檢查的瀏覽器視窗
  • 用於在該伺服器上執行操作的 shell

所有視窗都應該在預先定義的位置啟動,但我也應該能夠移動它們並調整它們的大小。

我相信有很多優雅的解決方案,也許使用screenemacs。也許有更好的工具?你有類似的解決方案嗎?

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

相關內容