Я пытаюсь настроить transmission-daemon
на Mac OS выполнения поля 10.5.8. Я хочу сделать вещи правильный путь, что значит (для моего понимания)
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
Это кажется OK. Однако я не могу заставить свой launchd 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>
Таким образом, мой вопрос является двукратным:
Это - просто предположение, но согласно странице справочника "Имя пользователя" только применимо, когда launchd работает как корень.
попытайтесь разгрузить plist, если он уже работает:
launchctl unload /Library/LaunchAgents/com.transmissionbt.transmission-daemon
и затем выполненный как корень:
sudo launchctl load -w /Library/LaunchAgents/com.transmissionbt.transmission-daemon
Можете Вы подтверждать, что это на самом деле загружается:
launchctl list | grep transmissionbt
Сообщите мне, удается ли это для Вас.