iTerm2でコンソールからコマンドを実行してターミナルのプロファイルや文字色等を変更する
Pocket

最近、自分の開発環境用のPCを書い直そうかと色々と検討してて、Macか適当なマシンにLinuxを突っ込んで使うかの二択で考えていたのだが、結論としてはMacにすることにした。
で、その決め手となったのが「MacだとiTerm2が使える」という一点。これほどに機能が充実したターミナルエミュレータは、残念ながらLinuxには無いようだ。

そんなiTerm2の中で、個人的に外せない機能として考えているのが、iTerm2の場合echoやprintfで非表示文字を出力してやることで、ターミナルのプロファイルや文字色、背景色といった要素を切り替えることができる点。出力文字列を見ているので、リモートのマシンで実行してもプロファイルの切り替えが行える。残念ながら、この機能が使えるLinuxのターミナルエミュレータは見当たらなかった。

実際見たほうが早いと思うのだが、以下のようにprintfで指定したい内容を記述して実行してやると、iTerm2ではプロファイルを変更してくれる。

printf "\E]50;SetProfile=プロファイル名\a" # 指定したプロファイルに変更する
printf "\E]1337;SetColors=bg=E\a\E]1337;SetColors=fg=ccc\a" # 文字色・背景色を変更する(RGBを0〜fで指定)

 

これを使うと、何かしらのコマンド実行時に↑のコマンドを実行させてやれば、自動的に指定したプロファイルに切り替わるので操作ミスをしづらくなる。
個人的には自前のsshクライアントコマンドと組み合わせて、ssh接続時に自動的に切り替わるようにしているのだけど、本当に便利な機能だと思う。

キーボードがバタフライキーボードなんていう打ちにくそうな代物になってたので躊躇したけど、これが使えないとなるとLinuxに移行するのはやはり厳しいなぁ…と個人的に思った。
(一応、Gnome-Terminalでプロファイルの設定を変更するのはできるのだけど、同じプロファイルを使っているターミナルを開いているとそちらも変更されてしまうので、使いにくい)

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*