我正在尝试跟随本指南在无头服务器上运行 deluge 守护程序。客户端部分似乎可以工作,但服务器部分似乎根本不起作用。
Deluge-console 应该允许您在纯文本环境中向守护进程发送命令。但是我无法让它连接到自身。每当我启动它时,它都会说Failed to connect to 127.0.0.1:58846 with reason: Password does not match
。如果我尝试使用类似这样的命令deluge-console "config -s allow_remote True"
,我会得到如下错误转储:
[ERROR ] 03:21:31 client:391 RPCError Message Received!
--------------------------------------------------------------------------------
RPCRequest: daemon.login(localclient, <a long string>)
--------------------------------------------------------------------------------
File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 259, in dispatch
ret = component.get("AuthManager").authorize(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/deluge/core/authmanager.py", line 93, in authorize
raise BadLoginError("Password does not match")
BadLoginError: Password does not match
--------------------------------------------------------------------------------
Failed to connect to 127.0.0.1:58846 with reason: Password does not match
~/.config/deluge/auth 看起来像这样:
localclient:<a long string>:10
这两个文件中的内容完全相同。所以我很确定 auth 文件没有错误。我注意到,当我启动 deluge 守护进程时,htop 告诉我与 deluge 相关的进程属于我的 deluge 用户。 本指南您已创建用户“deluge”来运行 deluge。我应该以自己的身份运行 deluge 吗?
最终,我错过了什么?
答案1
事实证明,它以名为“deluge”的用户身份运行这一事实意义重大。指南让我将 deluge 的主目录设置为 /var/lib/deluge,其中有第二个配置目录 - 守护进程实际读取的目录。当我使用该身份验证中的 localclient 密码(而不是之前的密码)时,<a long string>
我能够按预期使用 deluge-console。我能够完成指南并通过修改该身份验证文件并忽略主目录中的文件来授予自己远程访问权限。
答案2
我会给 Adam 的答案留言,但我没有这个名气。Adam 的答案对我有用,但我认为更明确地说明修复此问题所需的步骤会有所帮助。
- 在文本编辑器中打开 /var/lib/deluge/.config/deluge/auth。
- 复制在那里找到的密码。
- 在文本编辑器中打开 ~/.config/deluge/auth。
- 将其他身份验证文件中的密码粘贴到这里。
对我有用——现在我可以使用 GTK UI 和控制台客户端。
答案3
打开编辑“/etc/init.d/deluged”并将“... -i ifacename”附加到变量 DAEMON_ARGS,重新启动 PC,它应该可以工作。我遇到了与此处描述的相同的问题,这在 XUbuntu GNU/Linux headless 上为我解决了这个问题。
答案4
对于那些遇到 deluge-console 问题的人来说,似乎每次你想要访问控制台时都需要登录。
例如:
deluge-console "connect localhost (user) (pass); config -s allow_remote True"
这似乎对我有用,确保用户存在于泛滥的配置目录格式的 auth 文件中(user:pass:level
)例如:(imnx:yourmum01.:10
)。