Ngăn chặn đăng xuất khỏi giết chết phiên tmux


13

Tôi đã nhận thấy rằng một lần đăng xuất (đăng xuất) từ phiên người dùng X của tôi sẽ giết bất kỳ tmuxphiên nào tôi đã bắt đầu, ngay cả các phiên tôi đã chạy với sudo tmuxvà các lệnh tương tự. Tôi chắc chắn rằng điều này trước đây đã không xảy ra, nhưng một số thay đổi gần đây đã ảnh hưởng đến hành vi này.

Làm cách nào để duy trì các phiên tmux(hoặc screen) này, ngay cả sau khi tôi kết thúc phiên X của mình?



"Phiên người dùng X" mà bạn "đăng xuất" là gì? Tên quy trình của nó là ...?
Tim

Mặc dù tôi không nghĩ rằng điều này đặc biệt tiện dụng, nhưng bạn có thể bắt đầu phiên tmux bên ngoài X, tức là trên tty1 như được mô tả ở đây: unix.stackexchange.com/a/167388/67833
Rolf

Câu trả lời:


15

"Tính năng" này đã tồn tại systemdtrước đây, nhưng các systemdnhà phát triển đã quyết định thực hiện thay đổi trong mặc định , để cho phép cài đặt chấm dứt các tiến trình con khi đăng xuất khỏi phiên.

Bạn có thể hoàn nguyên cài đặt này trong logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Bạn cũng có thể chạy tmuxvới một systemd-runtrình bao bọc như sau:

systemd-run --scope --user tmux

Đối với các hệ thống này, bạn có thể chỉ muốn đặt bí danh cho lệnh tmux(hoặc screen):

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

Thảo luận thêm trong một chủ đề reddit .
palswim

3
Càng và ở nhiều nơi khác. Trong lỗi Debian đề cập đến, tôi đã giải thích cách người ta thực sự có thể làm systemd-logindđiều đúng. bug.debian.org/cgi-bin/orpreport.cgi?orms=825394#221
JdeBP

@JdeBP Cảm ơn bạn đã nói với chúng tôi rằng việc gửi SIGHUP thay vì SIGTERM và SIGKILL cho phép các trình tiện ích tồn tại khi kết thúc phiên đăng nhập hệ thống. Tôi cũng đánh giá cao nếu bạn cũng có thể xem xét unix.stackexchange.com/questions/484344/ triệtunix.stackexchange.com/a/490435/674
Tim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.