autoexecワークフロー


Windows XP に比べてMac OS Xの起動は劇的に速いです。それでも起動項目にアプリケーションを登録しすぎると起動してからMacを快適に利用できるまでにやたらに待たされることがあります。そうはいっても、最近はMailに加えて、Skype、Twitter、…と常時起動したいアプリケーションがいっぱいあります。こんな悩みは簡単なスクリプトで解決できます。

先週、東京駅でお弁当を食べながらベンチで休んでいたら、すぐ隣に座っていた女性がいかにも社用のごついパソコンを開いて、作業を始めていました。いや、正確には作業を始めようとしていました。あのお馴染みのWindows XPの起動画像が現れてから、ログイン画面が表示されるまでにぼくの駅弁は半分なくなっていました。ログインしてから、セキュリティソフトやらビジネス用のソフトが起動して、ようやく彼女がお目当てのExcelファイルをダブルクリックするころには、ぼくの弁当は空になっていました。

これに比べるとMac OS Xは起動してから、自由に使えるまでの時間は遥かに短いです。再起動から復帰まで、30秒くらいなんじゃないでしょうか。

ところが、ところが、最近、Twitter とか Skype とかのアプリケーションを常時起動するようになってから、Mac OS X にログインしてから、こういう小さなアプリケーションが起動し終るまでがやたらに時間がかかるようになっていました。

たぶん、一つの問題は複数のアプリケーションがほぼ同時にディスクやネットワークにアクセスするために入出力が飽和して、スラッシングに近い状況になっているんです。このため、この小さな人達が起動を終えるまでは、ほとんど何も操作ができません。

とはいっても、Skype を使うときだけの手動起動などしていては、電話としての価値はゼロになってしまいます。そこで、止むなく作ったのが以下のスクリプトです。要は、起動項目を同時に起動するとシェルスラッシングが発生するので、間をおいて順番に起動させているわけです。

for application in Mail Skype Twitterrific; do
sleep 90
open -a $application -g
done

このシェルスクリプトは、Apple Mail、Skype、Twitterrific((Twitterrific: Twitter用のクライアントソフト))を90秒ずつ待たせて起動します。このスクリプトをAutomatorを使ってMac OS用のアプリケーションとして作成し、起動項目に登録すればできあがりというわけです。かなり快適になりました。

**Automatorの使い方

Automatorは、Mac OS用のアプリケーションを作るための一番簡単な方法だと思います。シェルスクリプトをMac OS用のアプリケーションにするのも簡単です。誰でもできるから、お試し下さい。

まず、Automatorを起動します。Automatorはアプリケーションフォルダにある、ロボットのアイコンです。シェルスクリプトを実行するワークフローを作成するときには、「新規カスタムワークフロー」を選択します。

#ref(http://kwakita.sakura.ne.jp/img/snap/748bdf3a5a3923282bff564baf531793.png,Automatorでカスタムワークフローを選択して表示される画面);

つぎに検索窓で「シェル」と入力すると「シェルスクリプトを実行」するためのワークフローの雛形が表示されます。この雛形をAutomatorの右側の画面にドラッグすると、シェルスクリプトの内容を編集できるようになります。ここに前述のスクリプトの内容を記入します。for application in ***; doの***の部分には、あなたが起動したいアプリケーションの名前を起動したい順番で書いて下さい。

#ref(http://kwakita.sakura.ne.jp/img/snap/0a9f695d2a714292a21bdd9b27d128f5.png,418×206,「シェルスクリプトを実行」するためのワークフローを追加し、実行するシェルスクリプトを記入したところ);

これでワークフローは完成ですので、まず保存しておきましょう。わたしは、自分のフォルダの下にApplicationsという名前のフォルダを作成してそこに保存しました。

次はテストです。ワークフローの画面の右上に「実行」ボタンがありますので、これをクリックします。このスクリプトは指定したそれぞれのアプリケーションを起動するごとに90秒待ちます。だから、すぐにはなにも起きないように見えるかもしれません。気長に待ってて下さい。

あなたが指定したアプリケーションはちゃんと起動しましたか?もしうまくいったら、今度は、いま作成したワークフローをアプリケーションとして保存しなおしましょう。保存の仕方は、ファイルメニューから「別名で保存」を選択し、その画面に出てくるフォーマットに「アプリケーション」を指定して、さきほど作成したワークフローと同じフォルダに保存します。ワークフローとアプリケーションの違いは、前者が編集用、後者は日常の実行用です。

#ref(http://kwakita.sakura.ne.jp/img/snap/e66394f3a5a3a5b3e14b982c98d52372.png,保存されたワークフロー(右)とアプリケーション(左));

これでできあがりなのですが、念のため、今作成したアプリケーションの動作を確認しておきましょう。まず、さきほどのワークフローで起動したアプリケーション(わたしの例の場合は、MailとSkypeとTwitterrific)を終了します。次に、作成したアプリケーション(アイコンにWFLOWと”書かれていない”方)を起動します。ちゃんと動きましたか?

それでは、最後に、あなたがログインしたときにいま作ったアプリケーションが起動するように設定しましょう。これは、システム環境設定のアカウント設定で行います。自分のアカウントを選択してから、その「起動項目」のタブを開いて下さい。ここに表示されるのは、ログイン直後に起動されるアプリケーションのリストです。ここにあなたのアプリケーション(アイコンにWFLOWと”書かれていない”方)を追加してやればいいのです。簡単なのは、Finder でアプリケーションを表示しておいて、それをドラッグ&ドロップする方法でしょう。

#ref(http://kwakita.sakura.ne.jp/img/snap/59362e936bbb69e8f9505c68e0126ae4.png,起動項目にアプリケーションを追加しました);

あとはログアウト&ログインして、最終確認となります。うまくいきましたか?ログイン直後の動作が軽くなりますよ。