Starten Sie rtorrent beim Neustart

1548
Damian

Wie kann ich rtorrent nach dem Neustart starten?

Ich habe versucht zu rennen

systemctl reenable rtorrent 

Starten Sie den Computer neu, aber es wird kein relevanter Prozess ausgeführt.

Ich kann es mit dem folgenden Bildschirmbefehl starten:

screen -d -m -S rtorrent rtorrent 

Hier sind meine Abhängigkeiten

systemctl list-dependencies rtorrent rtorrent.service ● ├─system.slice ● └─basic.target ● ├─paths.target ● │ └─acpid.path ● ├─slices.target ● │ ├─-.slice ● │ └─system.slice ● ├─sockets.target ● │ ├─acpid.socket ● │ ├─avahi-daemon.socket ● │ ├─dbus.socket ● │ ├─docker.socket ● │ ├─systemd-initctl.socket ● │ ├─systemd-journald-dev-log.socket ● │ ├─systemd-journald.socket ● │ ├─systemd-shutdownd.socket ● │ ├─systemd-udevd-control.socket ● │ └─systemd-udevd-kernel.socket ● ├─sysinit.target ● │ ├─debian-fixup.service ● │ ├─dev-hugepages.mount ● │ ├─dev-mqueue.mount ● │ ├─kmod-static-nodes.service ● │ ├─networking.service ● │ ├─plymouth-read-write.service ● │ ├─plymouth-start.service ● │ ├─proc-sys-fs-binfmt_misc.automount ● │ ├─sys-fs-fuse-connections.mount ● │ ├─sys-kernel-config.mount ● │ ├─sys-kernel-debug.mount ● │ ├─systemd-ask-password-console.path ● │ ├─systemd-binfmt.service ● │ ├─systemd-journal-flush.service ● │ ├─systemd-journald.service ● │ ├─systemd-modules-load.service ● │ ├─systemd-random-seed.service ● │ ├─systemd-sysctl.service ● │ ├─systemd-tmpfiles-setup-dev.service ● │ ├─systemd-tmpfiles-setup.service ● │ ├─systemd-udev-trigger.service ● │ ├─systemd-udevd.service ● │ ├─systemd-update-utmp.service ● │ ├─udev-finish.service ● │ ├─cryptsetup.target ● │ ├─local-fs.target ● │ │ ├─-.mount ● │ │ ├─boot.mount ● │ │ ├─systemd-fsck-root.service ● │ │ └─systemd-remount-fs.service ● │ └─swap.target ● │ ├─dev-disk-by\x2duuid-a2ba1307\x2dc5ae\x2d4e84\x2d87d9\x2dca704d4103fe.swap ● │ └─dev-disk-by\x2duuid-a2ba1307\x2dc5ae\x2d4e84\x2d87d9\x2dca704d4103fe.swap ● └─timers.target ● └─systemd-tmpfiles-clean.timer 

Ich verwende Debian GNU / Linux 8.7 (jessie)

which rtorrent /usr/local/bin/rtorrent 

Ich habe den /etc/systemd/user/rt.service folgendermaßen bearbeitet:

[Unit] Description=rTorrent After=network.target  [Service] Type=forking KillMode=none ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/local/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 /usr/local/bin/rtorrent WorkingDirectory=%h  [Install] WantedBy=default.target 

Wenn ich dann diesen Befehl ausführen und eine Fehlermeldung bekomme.

systemctl --user start rt Failed to get D-Bus connection: Connection refused 

libpam-systemd ist installiert:

apt-get install libpam-systemd Reading package lists... Done Building dependency tree Reading state information... Done libpam-systemd is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 

und ich habe die Maschine neu gestartet

uptime 18:26:03 up 5 min, 1 user, load average: 0.06, 0.22, 0.13 
0

2 Antworten auf die Frage

0
Lutz Reinhardt

Im Debian-Paket gibt es keine systemd-Dienst- / Einheitendatei für rtorrent. Sie müssen Ihre eigene Unit-Datei erstellen. Beispiele finden Sie hier: https://wiki.archlinux.org/index.php/RTorrent#Additional_tips

Ich habe eine Datei /etc/systemd/user/rt.service erstellt, erhalte jedoch eine Fehlermeldung: "systemctl --user enable rt" "D-Bus-Verbindung konnte nicht hergestellt werden: Verbindung abgelehnt" Damian vor 7 Jahren 0
Sie benötigen das Paket "libpam-systemd" ... Vielleicht ist ein Neustart erforderlich ... Lutz Reinhardt vor 7 Jahren 0
Wurde installiert und trotzdem neu gestartet. Immer noch dasselbe Problem Damian vor 7 Jahren 0
0
JojOatXGME

Ich weiß nichts über rTorrent, aber gemäß den Informationen, die Sie in Ihrer Frage erhalten haben, sollten Sie in der Lage sein, einen Service für Systemd zu erstellen . Ich habe es auf meinem System ( Arch Linux ) getestet und es hat funktioniert.

Zuerst müssen Sie eine *.serviceDatei erstellen . Ich habe unten ein Beispiel für eine solche Datei hinzugefügt. Wo Sie diese Datei erstellen, hängt von Ihren Anforderungen ab. Wenn Sie rTorrent beim Booten starten möchten, sollten Sie die Datei unter erstellen /etc/systemd/system/. Wenn Sie rTorrent beim Anmelden starten möchten, sollten Sie es in /etc/systemd/user/(für jeden Benutzer) oder ~/.config/systemd/user/(nur für Sie) erstellen .

Nachdem Sie diese Datei erstellt haben, sollten Sie sie starten können. Ich gehe davon aus, dass Sie die Datei benannt haben rtorrent.service, so dass der Dienst aufgerufen wird rtorrent. Wenn Sie die Datei unter gespeichert haben /etc/systemd/system/, können Sie die Anwendung durch Ausführen starten

# systemctl start rtorrent 

als Wurzel. Wenn Sie es in /etc/systemd/user/oder gespeichert haben ~/.config/systemd/user/, müssen Sie anrufen

$ systemctl --user start rtorrent 

als lokaler Benutzer. Wenn es funktioniert, können Sie ersetzen startmit enableder Anwendung beim Neustart / login beginnen zu lassen.

Laut diesem Forumbeitrag müssen Sie installieren, libpam-systemdbevor Sie Benutzerdienste unter Debian verwenden können. Möglicherweise müssen Sie auch Ihr System neu starten.


Ich denke, Ihre Servicedatei sollte im Grunde wie in meinem Beispiel unten aussehen. Sie müssen entfernen, User=...wenn Sie einen Benutzerdienst erstellt haben.

[Unit] Description=rTorrent After=network.target auditd.service  [Service] Type=forking ExecStart=/usr/bin/screen -dmS rtorrent /bin/bash -c \ 'echo "$$$$" > %h/.rtorrent.pid && exec /usr/local/bin/rtorrent'  ExecStop=/bin/bash -c '/bin/kill -15 "$$(cat %h/.rtorrent.pid)"' ExecStop=/bin/bash -c 'while /bin/kill -0 "$$(cat %h/.rtorrent.pid)"; do /bin/sleep 0.1; done' ExecStopPost=bin/rm %h/.rtorrent.pid  Restart=on-failure User=<insert some username here> WorkingDirectory=~  [Install] WantedBy=multi-user.target 

Sie müssen laufen, systemctl [--user] daemon-reloadnachdem Sie die Datei geändert haben. In meinem obigen Beispiel speichere ich die PID von rtorrent ~/.rtorrent.pidvor dem Start. Um die Anwendung zu beenden, sende ich SIGTERM(15) an rTorrent (mit PID von ~/.rtorrent.pid) und warte, bis der Prozess stoppt.