Mavericks 起動スクリプト

Mavericks 起動スクリプト

ユーザーがログオンしたときに起動する小さなスクリプトを書こうとしています。検索してスクリプトが機能するようにしましたが、.plist でログオン時に実行できません。

アクティブディレクトリを設定しています。ユーザーが資格情報を使用してログインすると、スクリプトは手動で実行されます。

tell application "finder"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

または

set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName

.scptとして保存すると手動でも機能します

あるいはこのように使う必要がある

tell application "Terminal"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

.shとして保存する

これで、plist は次の場所に保存されます/Library/LaunchAgents:

<plist version="1.0">

<dict>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.script</string>
    <key>ProgramArguments</key>
    <array>
       <string>/Users/Shared/SCRIPT.sh</string>
    </array>
</dict>

</plist>

次のコマンドを実行します

launchctl load /Library/LaunchAgents/com.script.plist

動作しません。ログオン時にドライブを自動マウントできません

助けてください。私はプログラマーではないので、具体的に教えてください。

ありがとう、クリス

答え1

スクリプトはシェル スクリプトではなく AppleScript なので、直接実行することはできません。コマンドにossascript解釈させるとうまくいくと思います:

<array>
    <string>/usr/bin/osascript</string>
    <string>/Users/Shared/SCRIPT.sh</string>
</array>

(「.sh」よりも適切なファイル拡張子を使用してください)

KeepAliveところで、 に設定<false/>すると<true/>、スクリプトが 1 回だけではなく継続的に再実行されるようになるはずです。

関連情報