Вопрос или проблема
Я настроил deluged
как службу с systemd для работы от имени пользователя deluge
. Демон работает, поскольку я могу использовать веб-интерфейс и подключаться с помощью deluge-console
, если вручную ввести учетные данные. Однако, когда я просто запускаю deluge-console
(локально на том же компьютере) от имени своего обычного пользователя — т.е. не под deluge
— я получаю сообщение об ошибке “Пользовательское имя не существует”.
Домашний каталог демона — var/lib/deluge
, а файл var/lib/deluge/.config/deluge/auth
содержит только test:test:10
. То же самое касается ~/.config/deluge/auth
. Мне объяснили, что именно этот файл будет использоваться для аутентификации deluge-console
по умолчанию, когда он запускается от имени моего пользователя. Очевидно, это не так.
-
Ввод
connect localhost test test
внутриdeluge-console
работает. -
Запуск
deluge-console -c ~/.config/
илиdeluge-console -c ~/.config/deluge
не работает (мне не совсем ясно, что разработчики имеют в виду под “расположение папки конфигурации”). - В укромном месте в http://dev.deluge-torrent.org/wiki/UserGuide/Authentication говорится, что в
auth
всегда должна быть запись “localclient” — добавление этого в оба файла auth не помогает.
Что я упустил?
Не дубликат: https://superuser.com/a/619383/36197
Это сделано на Raspberry Pi 3 с OSMC.
Не знаю, что именно сработало, но я смог автоматически подключиться с помощью консоли после выполнения:
systemctl stop deluged
systemctl start deluged
Мне не совсем понятно, когда это нужно было сделать. Я был под впечатлением, что могу редактировать файл auth, пока демон работает, и он будет проверять его каждый раз.
Я использую ту же ОС и аппаратное обеспечение.
Установите параметр конфигурации -c
, чтобы он указывал на вашу папку конфигурации Deluge, где находятся ваши deluge.pid, auth, core.conf, dht.state и другие файлы.
$ deluge-console -c /var/lib/deluge/.config/deluge/ "add '/home/osmc/Downloads/totally not weird.torrent'"
Попытка добавить торрент: /home/osmc/Downloads/totally not weird.torrent
Торрент добавлен!
Ответ или решение
Ошибка «Username does not exist» в Deluge Console: подробное руководство по устранению неполадок
Ошибка «Username does not exist» в Deluge Console может расстроить пользователей, особенно когда они пытаются подключиться к сетевому торрент-демону, установленному с использованием systemd как службу. В этом руководстве мы проанализируем причины этой проблемы и предложим шаги для её решения, основываясь на примерах использования и конфигурации.
Определение проблемы
Вы находитесь в ситуации, когда Deluge работает нормально через веб-интерфейс, и вы можете подключаться к демону, вводя учетные данные вручную. Однако, когда вы пытаетесь подключиться через deluge-console
от имени вашего обычного пользователя, вы получаете сообщение об ошибке «Username does not exist».
Контекст и конфигурация
-
Демон и учетные записи:
- У вас запущен
deluged
как служба для пользователяdeluge
. - Конфигурационный файл
auth
, расположенный в/var/lib/deluge/.config/deluge/auth
, содержит записьtest:test:10
. Это указывает на то, что учетные данные «test» работают, однако вы не сможете подключиться под другим именем пользователя.
- У вас запущен
-
Локальные файлы конфигурации:
- Файл
~/.config/deluge/auth
не содержит записи для вашего текущего пользователя. - Согласно документации, в этом файле должно быть определено имя пользователя, чтобы
deluge-console
смог его распознать.
- Файл
Пошаговое решение
1. Проверка конфигурационного файла auth
Убедитесь, что файл ~/.config/deluge/auth
имеет правильный формат. Например, добавьте запись для вашего пользователя, чтобы он выглядел следующим образом:
test:test:10
localclient:localclientpass:10
После редактирования сохраните файл.
2. Перезапустите демон
Несмотря на возможность редактирования конфигурационных файлов во время работы демона, изменения могут не вступить в силу, пока вы не перезапустите службу deluged
. Используйте следующие команды для перезапуска:
sudo systemctl stop deluged
sudo systemctl start deluged
3. Явное указание пути к конфигурации
При запуске deluge-console
, вы можете указать конкретный путь к конфигурационному каталогу, используя параметр -c
. Например:
deluge-console -c ~/.config/deluge
или, если ваша конфигурация находится в другой директории:
deluge-console -c /var/lib/deluge/.config/deluge
4. Проверка наличия записи localclient
Убедитесь, что в файле auth
присутствует запись для клиента:
localclient:your_password:10
Это позволит системе распознавать локальные подключения от имени вашего обычного пользователя.
Заключение
Теперь вы можете успешно подключаться к deluge-console
без необходимости вводить учетные данные вручную, что значительно упрощает управление вашими торрентами. Перезагрузка демона после изменения конфигурации является критически важным шагом, чтобы гарантировать, что все изменения вступят в силу.
Если у вас остались вопросы или возникли новые трудности, обратитесь к документации или сообществу Deluge для получения дополнительной информации и поддержки. Применение указанных рекомендаций должно решить проблему с ошибкой «Username does not exist».