Uruchamiam 16.04 i systemd
teraz zabija, tmux
gdy użytkownik się rozłącza ( podsumowanie zmiany ).
Czy istnieje sposób na uruchomienie tmux
lub screen
(lub podobny program) z systemd
230? Czytałem wszystkie gorące dyskusje na temat zalet i wad behawioralnych, ale nie zaproponowano żadnego rozwiązania.
(Widzę też zachowanie w 229)
systemd
tmux
gnu-screen
WoJ
źródło
źródło
systemd-229-4ubuntu7
(z aktualizacji xenial) i nie widzę tego zachowania. W każdym razie to zachowanie zostało już przywrócone w Debianiesystemd-230-2
, więc prawdopodobnie wkrótce zostanie również przywrócone w Ubuntu.Odpowiedzi:
Używając Ubuntu 18.04 z wersją systemową 237 , żadne z sugerowanych rozwiązań nie działało dla mnie.
Rozwiązaniem, które zadziałało dla mnie było
/etc/systemd/logind.conf
KillExlcudeUsers
KillExlcudeUsers=root user1 user2
)źródło
Właściwym rozwiązaniem jest wyłączenie przestępczych zachowań systemowych w całym systemie.
Edytuj
/etc/systemd/logind.conf
( musisz sudo , oczywiście) i ustawMożesz również umieścić to ustawienie w osobnym pliku, np
/etc/systemd/logind.conf.d/99-dont-kill-user-processes.conf
.Następnie uruchom ponownie
systemd-logind.service
.źródło
loginctl enable-linger <user>
. Odman loginctl
: „Jeśli ta opcja jest włączona dla określonego użytkownika, menedżer użytkownika jest odradzany dla użytkownika podczas rozruchu i utrzymywany po wylogowaniu. Dzięki temu użytkownicy, którzy nie są zalogowani, mogą uruchamiać usługi długo działające”.W oparciu o odpowiedź @ Rinzwind i zainspirowany opisem jednostki, najlepsze, co mogłem znaleźć, to użycie TaaS (Tmux jako usługa) - ogólnej, odłączonej instancji, do której
tmux
ponownie się przyłącza.źródło
RemainAfterExit =
źródło
tmux
interaktywnie, w przeciwieństwie do mojej odpowiedzi)?tmux
aby zacząć jakosystemd-run --remain-after-exit tmux
(a może nawet z--scope --user
flagami).Musisz ustawić
Type
usługę naforking
, jak wyjaśniono tutaj .Załóżmy, że
screen
nazywa się usługa, w której chcesz uruchomićminecraft
. Następnie otworzyszminecraft.service
w edytorze tekstu i dodasz lub edytujesz wpisType=forking
w sekcji[Service]
.źródło
Według /unix//a/287282/117599 przywoływanie
tmux
za pomocąpowinien również załatwić sprawę.
źródło