OK, as had read this issue several times by know, here and elsewhere, and as honestly thought it cannot be right that we as comunity not even can help users struggling with getting latest deluge running in the most popular linux distro's latest version, then I downloaded and fired up the ubuntu 20.04 livecd in a VM, and looked what was going on.
First, the posted error message was in-fact as I stated before not a showstopper, since if you start it manually e.g. 'deluged, deluge-web', then you get that exact error on terminal, though can access deluged now fine from either consoleUI or web-browsers 'localhost:8112' URL.
Second, deluged is installed with an added debian-deluged user(instead of regularly used 'deluge'), with a homedir defined under '/var/lib/deluged', so when running deluged and deluge-web from service-files or just manually from 'sudo -u debian-deluged deluged' and 'sudo -u debian-deluged deluge-web', then config files are located under '/var/lib/deluged/.config/deluge'.
Now with that out of the way, deluge-web doesn't come with any service file from debian, but deluged gets one auto-generated, under /run/systemd/generator.late/deluged.service, by systemd-sysv-generator, and that is set to load an old sys-v-style deluge service under '/etc/init.d/deluge'.
To get systemd services working and not have to manually start deluge daemons, then follow official docs on how to make them here: https://deluge.readthedocs.io/en/latest ... rvice.html
, but you don't need the commands for making user/group, as already done, and just copy/paste service and user.conf files in-place and use the user-name/group 'debian-deluged', well unless wanting to make another user/group, then just follow everything. You can also ditch the user.conf in override folder by instead adding two extra sections under [Service] like this: 'User=debian-deluged' and 'Group=debian-deluged'.
Afterwards run: 'sudo systemctl daemon-reload' and then afterwards 'sudo systemctl enable --now deluged.service' and 'sudo systemctl enable --now deluge-web' - I believe they can both be on one line also, but whatever. Note, this won't work, and sorry for weird order of instructions lol, because of the auto-generated strangeness of the deluged service, but I didn't have time anymore to experiment or read up on how to fully overcome, but fastest workaround I found, was to use other name for the deluged.service, though you can keep the name for the deluge-web, e.g. in my case I just named the deluged.service file for 'delu.service'(in hindsight you could use the name 'deluge.service', though doesn't matter as long as just different) and enabled that. It's strange because when checking with 'sudo systemctl cat deluged.service', back before I changed the name, then the content shown was the new file I copy/pasted from official docs, but still didn't work, also same if running 'sudo systemctl edit --full deluged.service', but as said quick workaround was to rename service file simply, so left it at that. Also, had to rehash terminal/shell at a point('hash - r' in bash, or open new terminal) as even with 'sudo systemctl daemon-reload' then I couldn't start or enable the added service file with new name(delu.service) as wasent found.
They use twisted 18.9 which is the minimum version to use which has logging fixed for py3.8 if I remember right, but you still need a backported patch from deluge develop which I don't think they include yet, but there's open ticket for it on there bugtracker, but that is just spam in the log and will work still, and as said, the ngettext error can be ignored too.
Hope this helps
Edit: You can keep the deluged.service name by after adding the service files running: 'sudo systemctl disable --now deluged', and there-after 'sudo systemctl enable --now deluged deluge-web'. You don't need the daemon-reload command either. The first command will also behind the scenes disable the sysv-auto-generator from making the faulty deluge service upon every boot, which won't happen if only adding the service file and running daemon-reload afterwards. As said the first command needs the added service files in-place already, as if not, then the '--now' switch doesn't work, and instead you have to specifically afterwards run 'sudo systemctl stop deluged', before running the next command, but not needed if following the instructions.
Sumerized full instructions(after installing deluge):
Code: Select all
sudo wget -O /etc/systemd/system/deluged.service tiny.cc/w1ytsz
sudo wget -O /etc/systemd/system/deluge-web.service tiny.cc/42ytsz
sudo systemctl disable --now deluged
sudo systemctl enable --now deluged deluge-web
(You can skip first two commands if already having made the service files yourself and where just the ones I uploaded for easy resuming livecd testing by just wget'ing in-place, and so might as well share here also - includes debian-deluged as user/group definitions, so don't need user.conf, override-dirs or added user/group commands)