Агент запуска Какао, регистрирующийся после установки - PullRequest
1 голос
/ 13 мая 2010

Я создал приложение Какао, которое является типом агента запуска. Чтобы распространить это, я также создал пакет, который устанавливает приложение и копирует файл plist launchagnet в /Libraries/LaunchAgents.

Теперь проблема в том, что после установки я хочу, чтобы это приложение запускалось в контексте пользователя сразу же, без выхода из системы / перезапуска. Если я зарегистрирую это в "launchctl" из установщика, используя скрипт после установки, он будет запущен в корневом контексте, так как установщик работает в корневом контексте.

Любое предложение о том, как агент регистрируется в launchctl и работает в контексте пользователя.

1 Ответ

3 голосов
/ 14 мая 2010

Попробуйте это в скрипте postinstall:

/usr/bin/sudo -u $USER /bin/launchctl load -S Aqua /Library/LaunchAgents/com.yourcompany.launchagent.plist

Обратите внимание, что если несколько пользователей вошли в систему с помощью быстрого переключения пользователей, агент запуска будет активирован только для пользователя, который его установил.

Существует неподдерживаемый способ заставить эту работу работать с несколькими пользователями, вошедшими в Mac OS X 10.5 / 10.6 с использованием launchctl bsexec; см. это сообщение в списке рассылки для получения дополнительной информации.

...