Ubuntu初心者がROSを使うときにおすすめのターミナル「terminator」
はじめに
ROSを使っていると、ターミナルを大量に立ち上げ、同時に表示したくなることがあると思います。例えばあるノードを起動して、そのノードのROS_INFOを見つつ、複数のトピックをrostopic echo
で監視したい時などがあります。
しかしUbuntu標準のgnome-terminalではタブ分割しかできず、複数の画面を同時に表示するには新しくWindowを立ち上げる必要があります。しかしそうなるとウインドウの配置&切り替えが面倒です。
そこで、簡単に画面切り替えができるTerminatorを紹介したいと思います。
環境
Ubuntu 16.04 LTS
Terminatorとは
画面分割やコマンドの自動実行など様々な拡張機能がついたターミナル(端末)ソフトウェアです。
この手のターミナルソフトはtmuxやscreen等が有名ですが、いくつか使ってみたところ、Ubuntu初心者の私がROS用途で一番使いやすかったのがTerminatorでした。
使いやすかった理由は、単純に 画面分割・移動が簡単なキーバインディングでできる からです。
後で書きますが、Alt+上下左右矢印キーで上下左右の分割画面に移動できるような手軽さが、今までWindowsしか使ったことがなかったlinux初心者にとっては嬉しいです。
vimもemacsも使ったことがない人間には、tmuxで使われるCtrl+bを押した後別のキーを押す、といった組み合わせに慣れていないのです。。。
Terminatorのインストール
簡単です。apt-getでできます。
sudo apt-get install terminator
一度インストールするとCtrl+Shift+tで起動するのはデフォルトのgnome-terminalではなくterminatorになります。
コマンドで起動したい場合はterminator
で起動します。
ROS向けの使い方
画面分割・移動
下記keybindingsでできます(デフォルト設定)
- Ctrl+Shift+o : 画面を上下に分割
- Ctrl+Shift+e : 画面を左右に分割
- Alt+上下左右矢印キー : 上下左右の画面に移動
文字列検索
grepと下記の検索機能を使い分けています。
- Ctrl+Shift+f : ターミナルのログから文字列検索(ESCキーで終了)
- Ctrl+Shift+g : ターミナルのログを全消去
例えばビルドログから文字列を抽出したいときなど、grepコマンドで抽出するよりも、
Ctrl+Shift+gでログを全消去 → ビルド → Ctrl+Shift+fで文字列検索
とやったほうが他のビルドログが残っていて便利だったりします。
コマンドを全ターミナルにbroadcast
他にも、source ~/.bashrc
や、環境変数の設定を分割した全ターミナルに反映させたいときは下記が役立ちます。デフォルトではkeybindingが無効になっているので、自分で適当なキーを割り当ててください。
- broadcast_all : 全ターミナルにコマンド入力
- brodcast_group : 現在のターミナルのみにコマンド入力
カスタマイズ
右クリック→設定から設定ウインドウが立ち上がります。
設定を変更した後、設定ウインドウを閉じると変更が反映されます。
設定は~/.config/terminator/config
に保存されており、このファイルをコピーすることでterminatorの設定をそっくりそのまま別環境に移すことが可能です。
画面レイアウトの保存・起動
Terminatorを起動する度に画面を分割しまくっていては面倒なので、よく使う画面レイアウトは保存しましょう。
まず一度好みのレイアウトに分割します。
そこの状態で設定ウインドウを開き、レイアウト->追加 で新しいレイアウトの名前を決めて保存します。
以後、Terminatorを起動するときに、terminator -l <レイアウト名>
というコマンドにすると、そのレイアウトでTerminatorが起動します。
私は、4行x2列=8画面レイアウトを"ros"というレイアウト名で保存し、.bashrc
に下記のaliasを登録しています。
alias rosterminator='terminator -l ros&exit'
こうすることで、PCを起動した後、下記コマンドでROS向けのレイアウトが立ち上がります。
- Ctrl+Shift+tでデフォルトレイアウトの1画面terminatorを起動する
rosterminator
コマンドでカスタムレイアウトのterminatorを起動&現在の1画面terminatorを終了
フォント
gnome-terminalと同じフォントにしたい場合は、Profiles->Fontを"Ubuntu Mono"にしましょう。
カーソル形状の変更
テキスト入力カーソルのこと。マウスカーソルではありません。
通常ターミナルでは1文字全体を覆う四角形だが、縦線一本にしたい場合は、
Profiles->General->Cursor shapeをI-Beamに変更。
テーマカラーの変更
Profiles->Colors->Built-in schemesをAmbienceに変更すると、 背景が真っ黒だったのがGnome Terminalと同じ濃い紫になる。
コマンドの自動実行
他にも、「このレイアウトを起動したらこのターミナルでこのコマンドを実行する」といった設定もできるので、roscoreや各種ノードを、terminatorを起動しただけで立ち上げることができたりします。
設定方法はこちらのページが参考になります。
http://tclip.blog.fc2.com/blog-entry-96.html
おわりに
他のROSユーザー数名にterminatorを紹介したらみんな使い始めてくれたので、多分ROS用途では使いやすいんだと思います。
ROSを使っていて、便利なターミナルソフトを探している方はぜひterminatorを試してみてください。