1 つのコマンドで複数のウィンドウをあらかじめ定義された配置で開く方法

1 つのコマンドで複数のウィンドウをあらかじめ定義された配置で開く方法

単一のコマンドを実行して、事前に定義された配置で複数のウィンドウを開くための単一の bash スクリプト/構成/その他を記述したいと考えています。

たとえば、メールサーバに問題があるという通知を受けたとき、connect_mailserver.sh次のようなウィンドウコンテナを開くように実行したいとします。

  • 表示されるウィンドウtail -f /var/log/mail.log
  • 表示されるウィンドウhtop
  • Nagios のすべてのメール関連チェックを表示するブラウザウィンドウ
  • そのサーバー上で作業を行うためのシェル
  • ...

すべてのウィンドウは事前に定義された位置で開始される必要がありますが、移動したりサイズを変更したりすることもできる必要があります。

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 以外のアプリケーションを使用することもできます。ウィンドウ タイトルまたはウィンドウ ID のみを一致させることができます。ウィンドウ タイトルを設定できない場合は、関連する PIDの出力に - を付けwmctrlて ID を見つける必要があります。grepwmctrl -lp

答え2

使用

xterm -geometry 120x50+100+100 -e 'command'

ジオメトリパラメータは次のようになります: LINESxCOLUMNS+XSTART+YSTART

ジオメトリ パラメータを調べたい場合は、複数の xterm を開き、別の xterm で「xwininfo」を起動して、ジオメトリ パラメータを調べたいウィンドウをクリックします。

関連情報