Я пытаюсь настроить transmission-daemon
на компьютере под управлением Mac OS 10.5.8. Я хочу сделать все правильно, что означает (в моем понимании)
- создать пользователя службы (например, _transmission) для запуска программы
- создайте launchd UserAgent .plist для запуска
transmission-daemon
при запуске системы и продолжения его работы - настроить
transmission-daemon
Я думаю, что я сделал шаг 1 правильно. Я использовал dscl
и ссылался на этот вопрос на serverfault, чтобы создать пользователя с именем _transmission
. Вот мои настройки:
$ dscl . -read /Users/_transmission
AppleMetaNodeLocation: /Local/Default
GeneratedUID: 31D12B9E-EA47-4595-BFC4-57EB232C3B33
NFSHomeDirectory: /var/transmission
Password: *
PrimaryGroupID: 1001
RealName:
Transmission bittorrent daemon
RecordName: _transmission
RecordType: dsRecTypeStandard:Users
UniqueID: 1001
UserShell: /usr/bin/false
Это кажется хорошо. Тем не менее, я не могу запустить запускаемый UserAgent для запуска демона. Вот моя попытка .plist. Передача не запускается после того, как я вызываю launchctl load -w /Library/LaunchAgents/com.transmissionbt.transmission-daemon
<?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>EnvironmentVariables</key>
<dict>
<key>TRANSMISSION_WEB_HOME</key>
<string>/var/transmission/Web</string>
</dict>
<key>Label</key>
<string>com.transmissionbt.transmission-daemon</string>
<key>OnDemand</key>
<false/>
<key>Program</key>
<string>/usr/sbin/transmission-daemon</string>
<key>ProgramArguments</key>
<array>
<string>transmission-daemon</string>
<string>-f</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Transmission-Daemon bittorrent client</string>
<key>UserName</key>
<string>_transmission</string>
</dict>
</plist>
Итак, мой вопрос состоит из двух частей:
- Каков наилучший способ создания пользователей службы демонов в OS X?
- Почему мой LaunchAgent .plist не работает?