Mac OS Xのターミナルの背景画像をランダムに変えるシェルスクリプト

多くのMac OS Xのアプリケーションの設定ファイルは ~/Library/Prefarences の中に、.plist という形式で保存されています。これをダブルクリックすると Property List Editor が開いて中を見たり書き換えたりできます。ターミナルの場合は com.apple.Terminal.plist です。この中にメニューのウインドウ設定とかで設定できるウインドウサイズとか文字の色とかが書かれています。

この初期設定ファイルを読み書きできるコマンドが defaults です。以下でターミナルの背景画像を設定できます。

$ defaults write com.apple.Terminal BackgroundImagePath~/Pictures/somepicture.jpg

コマンドを打った時点では設定は反映されませんが、新たにウインドウを開くと背景画像が変わっています。

さて、これを利用して以下のようなスクリプトを書いてみました。

#!/bin/bash
picture_dir="~/Pictures/Terminal/"
num_of_pics=`ls $picture_dir | wc -l`chosen_num=`expr $RANDOM % $num_of_pics + 1`chosen_pic=$picture_dir`ls $picture_dir | awk "NR == $chosen_num {print}"`defaults write com.apple.Terminal BackgroundImagePath $chosen_pic

これを実行すると、picture_dirに設定したディレクトリ内にある画像からランダムに選ばれたものが背景画像に設定されます。 .bashrc などから呼び出せばウインドウを開くたびにランダムに背景が変わるようになります。あとは好きなアイドルの画像を指定したディレクトリに放り込むだけ!

Post a comment.