Macでログイン時にアプリケーションを時間差で起動する
Mac では .command 拡張子はダブルクリックできたりするので、もしかしてログインアイテム (System Preferences -> Accounts -> Login items) に .command ファイルを使えるんじゃないかと思った。
↓
できた。
↓
ログインアイテムを極力減らして、再起動時のストレスを減らす作戦。
というわけで、こんなファイルを書いて、実行権限を付けて保存した。(そういえば shebang を付け忘れてることに気付いたけど動いてるのでいいや。付けた)
- login.command
#!/bin/sh cat $0 sleep 120; open -g /Applications/Mail.app sleep 30; open -g /Applications/Quicksilver.app sleep 30; open -g /Applications/Eijiro\ Viewer.app sleep 30; open -g /Applications/Dropbox.app sleep 30; open -g /Applications/Caffeine.app
-g はバックグラウンドで開くオプション。そいつをログインアイテムに登録。
(他のログインアイテムは消した)
あとは再起動すると、ログインした瞬間にターミナルが開いて、120秒後からアプリが30秒間隔で開きはじめる。
ターミナルが開いちゃうのはアレかなーと思うけど、自分は OS が起動してる時間 = ターミナルが起動してる時間なので、むしろこれでいい。
ターミナルを開きたくない人は Platypus とかで .app にしちゃったらいいと思います。試してないけど。
DelayedLauncher というソフトに発想を得た。ただし、DelayedLauncher の場合は指定した時間後に登録したアプリが全部一気に開くので、結局一時操作不能になってしまって残念になる。