ログイン後に時間をずらしてアプリケーションを自動起動する方法 | Mac OS X

ログイン時には登録してあるアプリケーションが自動で一斉に起動します。処理が集中するため、なにかと大変で忙しいらしく、起動が一段落つくまで待たされます。

自動で起動はしておきたいが、ログインして直ぐで無くていい、それより、先に操作したい時があります。また、自動起動だとトラブルが起こり、起動に失敗するが、手作業で起動すると問題無い場合がたまにあります。

ログイン後に時間を置いて、自動でアプリを起動させる方法はないかと探したところ、シェルスクリプトをファイルを作り、そのファイルを「設定」の「ログイン項目」の自動で開くリストに登録し、実現できました。

シェルスクリプト

複数のDropBoxを使う設定をしたときに、自動起動でアプリが上手く起動できないトラブルに遭いました。ひょっとして、起動のタイミングをずらしたら、動くのではないか?と思いトライしました。

起動させるアプリはこれら3つです。

  • Dropbox A.app
  • Dropbox B.app
  • Dropbox C.app
今回のシェルスクリプトは下のコードです。「login.command」としました。ここではシェルスクリプトそのものについては説明を省きます、申し訳ない。
#!/bin/sh
cat $0
sleep 7; open -g /Applications/Dropbox\ C.app
sleep 3; open -g /Applications/Dropbox\ B.app
sleep 3; open -g /Applications/Dropbox\ A.app

cat は動作確認ということで書いています。sleepコマンドで待つように指示しています。この秒数は足し算になります。今回の設定値は「こんなもんだろう」といい加減なものです。うっかりアプリの名前に”スペース”を使ってしまったので、「\ 」でエスケープしています。

このシェルスクリプトをテキストエディタで作り、login.commandと名前をつけて保存します。

実行権限

こちらの記事での手順にて、オーナーの実行権限をファイルパーミッションに設定します。 ここで、シェルスクリプトの動作確認をしてキチンと動作するかを見ておきます。

ログイン項目

ログイン項目にこのシェルスクリプト「login.command」を登録します。「設定」ー「ユーザーとグループ」を開きます。

photograph2013201302setting0011

「ログイン項目」をクリックして、自動起動のリストを開きます。

左下の「+」をクリックして,追加画面を開きます。

photograph2013201302setting002

保存した「login.command」を選び、追加をクリックします。

photograph2013201302setting003

リストにシェルスクリプトが追加されました。

photograph2013201302setting005

再起動

設定が完了しました。再起動します。再起動後に下のターミナル画面が開きます。設定した時間ごとにアプリが起動します。このターミナルが開いたままになるのが、微妙な場合はこちらで書いている通りに設定すれば、動作完了後にターミナル画面が閉じる設定に変えることができます。

photograph2013201302login0010

シェルスクリプトを活用する!そんなあなたにおすすめ!

この記事を書いた人