~ / Library / LaunchAgents plist запускается вручную, но не автоматически

Я начинаю работать с launchd и хочу настроить файл plist таким образом, чтобы всякий раз, когда я вставляю SD-карту в свой мини-сервер Mac (с сервером Snow Leopard), я хочу, чтобы запускался сценарий оболочки (который должен копировать все файлы jpg, переименуйте их и т. д.).

Итак, я создал файл plist в ~ / Library / LaunchAgents (его содержимое см. ниже - он должен искать изменения в / Volumes), и я создал сценарий оболочки, который говорит "звуковой сигнал" - позже он сделает что-нибудь более полезное.

Файл plist регистрируется с помощью launchctl, и когда я запускаю его (launchctl start com.peters.runwhenSDmount), компьютер издает звуковой сигнал всякий раз, когда вставляется карта памяти , и молчит, когда нет карты памяти. Итак, очевидно, что plist действительно вызывает сценарий оболочки, который впоследствии проверяет наличие конкретной SD-карты. Я полагаю, это также доказывает, что нет проблем с разрешениями для SD-карты.

Но, похоже, он не запускается сам по себе ??? Есть идеи, почему ??


файл plist: ~ / Library / LaunchAgents / com.peters.runwhenSDmount.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
    <key>Label</key>
    <string>com.peters.runwhenSDmount</string>
    <key>LowPriorityIO</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
    <string>/Users/peter/Library/Scripts/runwhenSDmount</string>
    </array>
    <key>ThrottleInterval</key>
    <integer>10</integer>
    <key>WatchPaths</key>
    <array>
    <string>/Volumes</string>
    </array>
</dict>
</plist>

сценарий оболочки: ~ / Library / Scripts / runwhenSDmount

#!/bin/bash
if [ -d "/Volumes/NIKON D40X" ]; then
    say beep
fi
5
задан Alan W. Smith 10 March 2013 в 21:22
поделиться

0 ответов