Zapobiegaj wylogowaniu z zabicia sesji tmux


13

Zauważyłem, że wylogowanie (wylogowanie) z sesji użytkownika X zabije każdą tmuxsesję, którą zainicjowałem, nawet sesje, które uruchomiłem sudo tmuxi podobne polecenia. Jestem pewien, że wcześniej tak się nie stało, ale pewna niedawna zmiana wpłynęła na to zachowanie.

Jak utrzymywać te tmux(lub screen) sesje, nawet po zakończeniu sesji X?


jeśli jesteś zainteresowany, unix.stackexchange.com/questions/490243/…
Tim

Co to jest „sesja użytkownika X”, z której „wylogowujesz się”? Jego nazwa procesu to ...?
Tim

Chociaż nie uważam, że jest to szczególnie przydatne, możesz rozpocząć sesję tmux poza X, tj. Na tty1, jak opisano tutaj: unix.stackexchange.com/a/167388/67833
Rolf

Odpowiedzi:


16

Ta „funkcja” istnieje w systemdwcześniej, ale gdy systemddeweloperzy postanowili dokonać zmiany ustawień domyślnych , aby umożliwić ustawienie zakończenie procesów potomnych momencie wylogowania z sesji.

Możesz przywrócić to ustawienie w swoim logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Można również uruchomić tmuxza pomocą systemd-runowijki tak:

systemd-run --scope --user tmux

W przypadku tych systemów możesz po prostu użyć aliasu polecenia tmux(lub screen):

alias tmux="systemd-run --scope --user tmux"

Dodatkowa dyskusja w wątku reddit .
palswim

3
… I w wielu innych miejscach. W omawianym błędzie Debiana wyjaśniłem, w jaki sposób można systemd-logindzrobić właściwą rzecz. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP

@JdeBP Dziękujemy za poinformowanie nas, że wysyłanie SIGHUP zamiast SIGTERM i SIGKILL pozwala demonom przetrwać zamknięcie sesji logind systemd. Byłbym również wdzięczny, gdybyś mógł rozważyć także unix.stackexchange.com/questions/484344/... i unix.stackexchange.com/a/490435/674
Tim
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.