Edited at

Macでログイン時にスクリプトを実行する(Automator不使用)

More than 5 years have passed since last update.

たとえばこんなスクリプトをログイン時に毎回実行したい。(もっとファンの回転数コントロールとかVPNとかふつうはそういうのに使うのだろうが。

あと一行目はなくても動く)

#! /bin/sh

echo "hoge" >> ~/hoge.log

 これを~/hoge.commandという名前で保存しておく。

 場所はどこでもいい。

 が、隠し属性のついたフォルダのなかは厄介なので駄目。

 あと名前はどうでもいいが、拡張子がhoge.shとかだとchmod +x hoge.shをいくらやっても、Finderからダブルクリックで起動できるようにならないので注意。

 (あと、ファイルを新規作成するときに、miとかのGUIアプリだと駄目だと言う噂があって、じっさいmiでやったら駄目だったので、miから全選択&コピーしといて、vimを新規ファイルで開いて、i押してから全部ペーストし、:xしてごまかした(よいこの情弱のみんなならゆるしていただけると信じている)。今回はvimで回避したが、Xcodeとかなら大丈夫なのかもしれない。)


方法:その1


  1. ~$ chmod +x hoge.sh


  2. ~/hoge.commandがダブルクリックで起動することを確認する。

  3. [リンゴ]-[システム環境設定]の、[ユーザとグループ]で設定したいユーザを選んで表示し、そこの[ログイン項目]タブを表示。

  4. [+]をクリックするとファイルを選べと言われるので、~/hoge.commandファイルを開く
    以上。


方法:その2


  1. ~$ chmod +x hoge.sh


  2. ~/hoge.commandがダブルクリックで起動することを確認する。

  3. 上記スクリプトファイル~/hoge.commandを、DockにD&Dして登録

  4. そのDockアイコンを右クリック。

  5. コンテキストメニューの[オプション]-[ログイン時に開く]にチェック
    以上。

書いておいてなんだけど、なんとなく間が抜けている気がしてすきになれないのだよなあ……。あとたぶんユーザが非管理者の場合、sudoするのは駄目なはず(試してない)。ユーザが管理者権限もってれば、このsudo自体にはパスワードを求められない。ログイン時に入れたばかりだからかな?

っていうかQiitaになにも書いたことなかったからって、初記事こんなんでよかったのだろうか…。