Запуск сценария Automator с помощью LaunchAgent

Я создал задание Automator, чтобы очистить папку загрузок и очистить корзину. Когда я запускаю созданное приложение двойным щелчком, оно запускается правильно. Но его нужно перенести на другой компьютер в нашей компании, и я не хочу давать пользователю задание запустить приложение. Итак, я создал этот сценарий LaunchAgent для запуска приложения.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.herpag.aufraeumen.plist</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/hansthiele/Applications/Aufraeumen.app</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Minute</key>
            <integer>45</integer>
            <key>Hour</key>
            <integer>13</integer>
        </dict>
    </dict>
    </plist>

Моя проблема теперь в том, что консоль сообщает мне, что работа запущена, но ничего не происходит. Загрузки не удаляются, и корзина все еще заполнена. Также error.log пуст.


person Willi Wuff    schedule 28.05.2019    source источник


Ответы (1)


Есть 2 проблемы:

  1. Аргумент Label должен быть указан без расширения .plist.
  2. Путь должен представлять исполняемый файл, а не контейнер приложения. В случае приложения Automator исполняемый файл называется Application Stub (в отличие от Applet в приложении AppleScript). Предполагается, что hansthiele - настоящее короткое имя текущего пользователя.

Пытаться

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.herpag.aufraeumen</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/hansthiele/Applications/Aufraeumen.app/Contents/MacOS/Application Stub</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Minute</key>
        <integer>45</integer>
        <key>Hour</key>
        <integer>13</integer>
    </dict>
</dict>
</plist>
person vadian    schedule 28.05.2019
comment
Я попробовал внести изменения, но теперь при загрузке или выгрузке скрипта в терминал появляется сообщение «Не удалось найти указанную службу». Я не получаю сообщение, только если метка содержит .plist. - person Willi Wuff; 28.05.2019
comment
В строке launchctl load должно быть указано расширение plist, но не в соответствующем файле списка. - person vadian; 28.05.2019
comment
Теперь я обнаружил ошибку. Это был не .plist, но на пути чего-то не хватало. Это должно быть Contents / MacOS / Application Stub. Теперь он работает правильно. Спасибо за вашу помощь! - person Willi Wuff; 28.05.2019
comment
Извини, это была моя ошибка. Конечно, исполняемый файл всегда находится в папке MacOS - person vadian; 28.05.2019