あいつの日誌β

働きながら旅しています。

Terminal.app の設定を自動化したい

あらすじ

流れのエンジニアをやっていると年に何度も Termilanl.app の設定をしています。だんだん飽きてきたので自動化したい。

そうだ defaults コマンドだ

とりあえずデフォルトで使用される terminal のプロファイル名を調べるコマンドがこちら

% defaults read com.apple.terminal 'Default Window Settings'
Pro

ちなみにこれは以下と同等

defaults read ~/Library/Preferences/com.apple.Terminal.plist 'Default Window Settings'

そして以下が使用するテンプレートを選ぶ時のコマンド

TERM_PROFILE='your favorite profile'
defaults write com.apple.Terminal "Default Window Settings" -string "$TERM_PROFILE"
defaults write com.apple.Terminal "Startup Window Settings" -string "$TERM_PROFILE"

そして Terminal.app にはカスタマイズしたプロファイルを書き出す機能があるのでこれを組み合わせて自動化します。

こんな感じ

# ./terminal/Pro_custom にプロファイルを保存している前提
TERM_PROFILE='Pro_Custom';
TERM_PATH='./terminal/';
CURRENT_PROFILE="$(defaults read com.apple.terminal 'Default Window Settings')";

echo ${TERM_PROFILE}
echo ${CURRENT_PROFILE}
if [ "${CURRENT_PROFILE}" != "${TERM_PROFILE}" ]; then
    # open "$TERM_PATH$TERM_PROFILE.terminal"
    defaults write com.apple.Terminal "Default Window Settings" -string "$TERM_PROFILE"
    defaults write com.apple.Terminal "Startup Window Settings" -string "$TERM_PROFILE"
fi

上記のコマンドをシェルスクリプトに保存して実行します。

まとめ

defaults コマンドって今まで使った事なかったけどすごい便利かも。

参考 URL

http://qiita.com/djmonta/items/17531dde1e82d9786816 http://fnwiya.hatenablog.com/entry/2015/11/06/155255