SSH không bị chấm dứt sau khi thoát khi có chương trình X Forward


9

Sau khi chạy các chương trình X qua SSH, SSH không chấm dứt sau khi thoát shell (phải sử dụng ví dụ CtrlCđể giết nó).

Tôi đoán là mặc dù chương trình X đã thoát, nhưng vẫn còn một số "kết nối" (không được giải phóng). Các ngoại lệ tôi đã tìm thấy bây giờ là gtk-demoacroread.

Có ai biết lý do không? Đây có phải là vấn đề với cấu hình ssh {, d} không?


1
Bạn có thể tự kiểm tra điều này. Chạy ssh với -v và nó sẽ báo cáo các kết nối X11 được mở và đóng.
Kyle Jones

@KyleJones THX, dường như đây là sự cố (hai "kết nối" được giải phóng sau khi C-cđược nhấn).
yuyichao

Tôi đã gặp vấn đề tương tự trên SLES11 với bất kỳ cửa sổ X11 nào. Làm thế nào bạn theo dõi để xuống dbus?
Nils

Bạn chỉ có thể kiểm tra quá trình đang chạy như bạn (nếu không có phiên hoạt động nào khác). Tôi sử dụng systemd và đã kích hoạt nó trong sshd (cài đặt pam), vì vậy tất cả quá trình trong phiên ssh nằm trong cùng một nhóm, điều này giúp kiểm tra rất dễ dàng. ~ ~
yuyichao 7/212

Câu trả lời:


5

Bắt đầu chương trình X có thể bắt đầu một quá trình nền không kết thúc khi bạn đóng chương trình (hoặc chính chương trình không kết thúc đúng cách). Xem ở đây để giải thích về những gì xảy ra.

Để khắc phục điều này, bạn có thể cố gắng tìm hiểu các quy trình vẫn đang chạy và ngăn chúng bắt đầu khi bạn đăng nhập qua SSH hoặc chỉ cần giết chúng trước khi bạn đăng xuất. Bạn chắc chắn chỉ có thể tắt kết nối SSH khi bạn đã đăng xuất.


K, vấn đề là quá trình dbus (gconf) vẫn đang chạy. (cảm ơn systemd-cgls~ ~) (Tôi đã cố gắng để killall -KILLchương trình tự nghĩ rằng nó có thể rẽ nhánh một số quá trình nền trước đó nhưng có vẻ như không phải vậy.). Vì vậy, có cách nào để làm tốt mọi thứ? (ví dụ: tự động tiêu diệt dbus (gconf)) THX
yuyichao

1
Bạn có thể đặt killall dbushoặc một cái gì đó tương tự trong đó .logout, nhưng điều đó có thể sẽ làm rối tung những thứ khác (tức là khi bạn đăng nhập cục bộ).
Lars Kotthoff

Hmm, có vẻ như tôi cần phải làm điều này bằng tay (tức là không có tùy chọn trực tiếp cho điều đó). Ít nhất tôi đã sử dụng kill-session=1và hy vọng systemd có thể cho tôi biết đâu là quy trình đúng để giết (tức là không giết các quy trình trong các phiên khác.) ~~~ THX
yuyichao
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.