Cegah Logoff dari Membunuh Sesi tmux


13

Saya perhatikan bahwa logoff (logout) dari sesi pengguna X saya akan mematikan tmuxsesi apa pun yang telah saya mulai, bahkan sesi yang telah saya jalankan sudo tmuxdan perintah serupa. Saya yakin ini sebelumnya tidak terjadi, tetapi beberapa perubahan baru-baru ini mempengaruhi perilaku ini.

Bagaimana saya mempertahankan sesi tmux(atau screen) ini, bahkan setelah saya mengakhiri sesi X saya?



Apa itu "sesi pengguna X" yang Anda "logout"? Nama prosesnya adalah ...?
— Tim

Meskipun saya tidak berpikir ini sangat berguna, Anda dapat memulai sesi tmux di luar X, yaitu pada tty1 seperti yang dijelaskan di sini: unix.stackexchange.com/a/167388/67833
— Rolf

Jawaban:


16

Ini "fitur" telah ada di systemdsebelumnya, tapi yang systemdpengembang memutuskan untuk efek perubahan default , untuk mengaktifkan pengaturan untuk penghentian proses anak pada log out dari sesi.

Anda dapat mengembalikan pengaturan ini di logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Anda juga dapat menjalankan tmuxdengan systemd-runpembungkus seperti berikut:

systemd-run --scope --user tmux

Untuk sistem ini, Anda mungkin hanya ingin alias perintah tmux(atau screen):

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

Diskusi tambahan di utas reddit .
— palswim

3
... dan di banyak tempat lain. Dalam bug Debian yang merujuk pada hal itu, saya menjelaskan bagaimana seseorang dapat systemd-logindmelakukan hal yang benar. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
— JdeBP

@JdeBP Terima kasih telah memberi tahu kami bahwa mengirim SIGHUP alih-alih SIGTERM dan SIGKILL memungkinkan daemon selamat dari penutupan sesi logd systemd. Saya juga akan menghargai jika Anda juga dapat mempertimbangkan unix.stackexchange.com/questions/484344/… dan unix.stackexchange.com/a/490435/674
— Tim
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.