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

More than 1 year has 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になにも書いたことなかったからって、初記事こんなんでよかったのだろうか…。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.