1

Я создал файл plist (см. Ниже) и вставил его в /Library /LaunchDaemons /. (Он запускает виртуальную коробку через скрипт, который запускает VBoxHeadless.) Я могу запустить plist как пользователь "nobody"

sudo -u nobody launchctl load /Library/LaunchDaemons/org.somename.plist

и работает нормально (список запуска | grep -i org.somename). но он не подхватывается при загрузке.

<dict>
    <key>Label</key>             <string>org.somename</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <false/>
    <key>LaunchOnlyOnce</key>    <true/>
    <key>ProgramArguments</key>
        <array>
            <string>/Users/someuser/somename.sh</string>
            <string>restart</string>
        </array>
</dict>

и этот plist - это chown 600 и chmod root. кроме того somename.sh говорит

#!/bin/sh
/usr/bin/VBoxHeadless -s somevm

что я мог упустить?

где-нибудь есть полный пошаговый контрольный список того, что нужно для запуска программы во время загрузки ?? Я помню "старые добрые времена", когда я вставлял команду в /etc/rc.local, и она просто работала…

1 ответ1

1

Я предлагаю добавить следующие строки перед вашим </dict> :

<key>StandardErrorPath</key>
<string>/tmp/org.somename.plist.err</string>

<key>StandardOutPath</key>
<string>/tmp/org.somename.plist.out</string>

Тогда вы сможете проверить эти файлы и, надеюсь, вы получите больше информации о том, что произошло.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .