単一のコマンドを使用して事前定義された配列で複数のウィンドウを開く方法

単一のコマンドを使用して事前定義された配列で複数のウィンドウを開く方法

単一のコマンドを実行して、事前定義された配列で複数のウィンドウを開くbashスクリプト/config/何でも作成したいと思います。

たとえば、メールサーバーの問題に関する通知を受け取った場合は、次のことをしたいと思います。connect_mailserver.sh次の内容を含むウィンドウコンテナを開きます。

  • ウィンドウが表示されますtail -f /var/log/mail.log
  • ウィンドウが表示されますhtop
  • Nagiosのすべてのメール関連チェックを表示するブラウザウィンドウ
  • このサーバーでタスクを実行するために使用されるシェル
  • ...

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

screenorを使用するなど、エレガントなソリューションがたくさんあると確信しています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のみが一致できます。ウィンドウのタイトルを設定できない場合は、grep関連するPIDの出力を-ingしてIDを見つける必要があります。wmctrl -lp

答え2

使用

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

幾何学的パラメータは次のとおりです。LINESxCOLUMNS+XSTART+YSTART

幾何学的パラメータを知りたい場合は、複数のxtermを開き、別のxtermで「xwininfo」を起動してから、知りたい幾何学的パラメータを持つウィンドウをクリックします。

関連情報