Small TIPS for GNU Screen to launch multiple terminals automatically.
今日の小技です。
組込設計などをしていると、複数のシリアルターミナルを同時に立ち上げ、モニタしたいことがあります。GNU screen コマンドを使えば可能ですが、コマンドを何度も手で入力するのは面倒なものです。
GNU screen には .screenrc という初期化ファイルを読み込む機能があります。普段はその使い方をあまり意識していないと思いますが、今日はちょっと調べてみました。
いま、以下の 4つのシリアルポートに対して全て 115200 bps でターミナルを開きたいとしましょう。
- /dev/tty.SLAB_USBtoUART
- /dev/tty.SLAB_USBtoUART2
- /dev/tty.SLAB_USBtoUART3
- /dev/tty.SLAB_USBtoUART4
まず、次のようなファイル(screenrc_multi_terms)を用意します。(「bind q quit」は、私は Ctrl-\ を日本語入力のオン・オフに使っているために、追加しています。こうしておくと、Ctrl-a, q で全てのターミナルを同時に閉じられるので便利です。)
defscrollback 100000 startup_message off bind q quit screen /dev/tty.SLAB_USBtoUART 115200 split focus screen /dev/tty.SLAB_USBtoUART2 115200 split focus screen /dev/tty.SLAB_USBtoUART3 115200 split focus screen /dev/tty.SLAB_USBtoUART4 115200
split は、他面を縦に分割するためのコマンドで、focus は、新しく分割したペインにフォーカスを移すコマンドです。
あとは、コマンドラインから screen -c screenrc_multi_terms と実行すれば OK です。Ctrl-a, TAB でペインの間を移動できます。Ctrl-a, ” も便利です。
今回は、こちらのサイトを参考にさせて頂きました。
今日はここまで。