SSH не припиняється після виходу, коли є програма X Forward


9

Після запуску X-програм через SSH, SSH не закінчується після виходу з оболонки (доводиться використовувати, наприклад, CtrlCдля її вбивства).

Моя здогадка, хоча програма X вже виходить, все ще залишається якийсь "зв'язок" (не звільнений). Винятки, які я знайшов зараз, є gtk-demoі acroread.

Хтось знає причину? Це проблема з конфігурацією ssh {, d}?


1
Ви можете перевірити це на собі. Запустіть ssh за допомогою -v, і він повідомить про відкриті та закриті з'єднання X11.
Кайл Джонс

@KyleJones THX, здається, це проблема (два "з'єднання", звільнені після C-cнатискання).
yuyichao

У мене однакова проблема на SLES11 з будь-яким X11-вікном. Як ви простежили вниз до dbus?
Нілс

Ви можете просто перевірити процес, що працює, як ви (якщо немає інших активних сеансів). Я використовую systemd і ввімкнув це в sshd (налаштування пам’яті), тому весь процес на сеансі ssh знаходиться в одній групі, що дозволяє дуже легко перевірити. ~~
yuyichao

Відповіді:


5

Запуск програми X, ймовірно, запускає фоновий процес, який не закінчується при закритті програми (або сама програма не завершується належним чином). Дивіться тут для пояснення того, що відбувається.

Щоб виправити це, ви можете спробувати з'ясувати, які процеси все ще запущені, або запобігти їх запуску під час входу через SSH або просто вбити їх перед виходом. Ви, звичайно, можете просто вбити SSH-з'єднання, як тільки ви вийшли з системи.


K, проблема в тому, що процес dbus (gconf) все ще працює. (завдяки systemd-cgls~~) (Я спробував killall -KILLпрограму самої, думаючи, що вона може передбачити деякий фоновий процес раніше, але це, здається, не так.) То чи є спосіб зробити все добре? (наприклад, вбивати dbus (gconf) автоматично) THX
yuyichao

1
Ви можете поставити killall dbusщось подібне у своєму .logout, але це, мабуть, зіпсує інші речі (тобто, коли ви зареєстровані локально).
Ларс Коттофф

Гм, здається, мені потрібно це зробити вручну (тобто прямого варіанту для цього немає). Принаймні, я вже використовую, kill-session=1і, сподіваюсь, системний може сказати мені, який правильний процес вбивства (тобто не вбивство процесів в інших сесіях.) ~~~ THX
yuyichao
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.