Ich starte 16.04 und systemd
töte jetzt, tmux
wenn der Benutzer die Verbindung trennt ( Zusammenfassung der Änderung) ).
Gibt es eine Möglichkeit, tmux
oder screen
(oder ein ähnliches Programm) mit systemd
230 auszuführen ?Ich las die hitzige Diskussion über Vor- und Nachteile des Benehmens, aber es wurde keine Lösung vorgeschlagen.
(Ich sehe das Verhalten auch in 229)
systemd
tmux
gnu-screen
WoJ
quelle
quelle
systemd-229-4ubuntu7
(von Xenial-Updates) und ich sehe dieses Verhalten nicht. Wie auch immer, dieses Verhalten wurde bereits in Debian zurückgesetztsystemd-230-2
, so dass es wahrscheinlich bald auch in Ubuntu zurückgesetzt wird.Antworten:
Unter Ubuntu 18.04 mit Systemd Version 237 funktionierte keine der vorgeschlagenen Lösungen für mich.
Die Lösung, die für mich funktionierte, war zu
/etc/systemd/logind.conf
KillExlcudeUsers
KillExlcudeUsers=root user1 user2
)quelle
Die richtige Lösung besteht darin, das Systemverhalten systemweit zu deaktivieren.
Bearbeiten
/etc/systemd/logind.conf
( Sie müssen natürlich sudo ) und einstellenSie können diese Einstellung auch in einer separaten Datei ablegen, z
/etc/systemd/logind.conf.d/99-dont-kill-user-processes.conf
.Dann neu starten
systemd-logind.service
.quelle
loginctl enable-linger <user>
. Vonman loginctl
: "Wenn für einen bestimmten Benutzer aktiviert, wird beim Start ein Benutzermanager für den Benutzer erstellt und nach dem Abmelden beibehalten. Dadurch können Benutzer, die nicht angemeldet sind, Dienste mit langer Laufzeit ausführen."Basierend auf der Antwort von @ Rinzwind und inspiriert von einer Beschreibung der Einheit, ist das Beste, was ich finden kann, TaaS (Tmux as a Service) zu verwenden - eine generische, getrennte Instanz, an die
tmux
eine Verbindung hergestellt werden kann.quelle
RemainAfterExit =
quelle
tmux
interaktives Starten im Gegensatz zu meiner Antwort)?tmux
den Start alssystemd-run --remain-after-exit tmux
(oder vielleicht sogar mit--scope --user
Flags) .Sie müssen
Type
den Dienst auf einstellenforking
, wie hier erklärt .Angenommen, der Dienst, in dem Sie ausgeführt werden möchten,
screen
heißtminecraft
. Anschließend öffnen Sieminecraft.service
einen Texteditor und fügen den EintragType=forking
unter dem Abschnitt hinzu oder bearbeiten ihn[Service]
.quelle
Gemäß /unix//a/287282/117599 aufrufen
tmux
mitsollte auch den Trick machen.
quelle