демоны и пользователи демона (конкретно демон передачи) на OS X 10.5.8

Я пытаюсь настроить transmission-daemon на Mac OS выполнения поля 10.5.8. Я хочу сделать вещи правильный путь, что значит (для моего понимания)

  1. создайте пользователя услуги (_transmission, например), чтобы программа работала под
  2. создайте launchd UserAgent .plist для выполнения transmission-daemon при системном запуске, и поддерживать его в рабочем состоянии
  3. настроить 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>

Таким образом, мой вопрос является двукратным:

  1. Что лучший способ состоит в том, чтобы создать пользователей услуги демона на OS X?
  2. Почему мой launchd LaunchAgent .plist не работает?
2
задан 13.04.2017, 15:14

1 ответ

Это - просто предположение, но согласно странице справочника "Имя пользователя" только применимо, когда launchd работает как корень.

попытайтесь разгрузить plist, если он уже работает:

launchctl unload /Library/LaunchAgents/com.transmissionbt.transmission-daemon

и затем выполненный как корень:

sudo launchctl load -w /Library/LaunchAgents/com.transmissionbt.transmission-daemon

Можете Вы подтверждать, что это на самом деле загружается:

launchctl list | grep transmissionbt

Сообщите мне, удается ли это для Вас.

1
ответ дан 12.12.2019, 00:18

Теги

Похожие вопросы