X Forward 프로그램이있을 때 종료 후 SSH가 종료되지 않습니다


9

SSH를 통해 X 프로그램을 실행 한 후에는 SSH 종료 후 SSH가 종료되지 않습니다 (예 : 종료 CtrlC).

내 생각 엔 X 프로그램이 이미 종료되었지만 여전히 "연결"이 남아 있습니다 (해제되지 않음). 내가 찾은 예외는 gtk-demoacroread입니다.

아무도 이유를 알고 있습니까? ssh {, d} 구성에 문제가 있습니까?


1
이것을 직접 테스트 할 수 있습니다. -v와 함께 ssh를 실행하면 열리고 닫힌 X11 연결이보고됩니다.
Kyle Jones

@KyleJones THX, 이것이 문제인 것 같습니다 ( C-c눌린 후 해제 된 두 개의 "연결" ).
yuyichao

SLES11에서 X11 창과 동일한 문제가 발생했습니다. 어떻게 dbus까지 추적 했습니까?
Nils

다른 활성 세션이없는 경우 실행중인 프로세스를 간단히 확인할 수 있습니다. systemd를 사용하고 sshd (pam 설정)에서 활성화했기 때문에 ssh 세션의 모든 프로세스가 동일한 cgroup에 있으므로 정말 쉽게 확인할 수 있습니다. ~~
yuyichao

답변:


5

X 프로그램을 시작하면 프로그램을 닫을 때 종료되지 않는 백그라운드 프로세스가 시작되거나 프로그램 자체가 올바르게 종료되지 않을 수 있습니다. 어떻게되는지에 대한 설명은 여기 를 참조 하십시오 .

이 문제를 해결하려면 여전히 실행중인 프로세스를 찾아 SSH를 통해 로그인 할 때 프로세스가 시작되지 못하게하거나 로그 아웃하기 전에 프로세스를 종료하십시오. 로그 아웃 한 후에도 SSH 연결을 종료 할 수 있습니다.


K, 문제는 dbus (gconf) 프로세스가 여전히 실행 중입니다. ( systemd-cgls~~ 덕분에 ) ( killall -KILL프로그램 자체가 백그라운드 프로세스를 이전에 포크 할 수 있다고 생각했지만 실제로는 그렇지 않습니다.) 그래서 일을 잘하는 방법이 있습니까? (예 : dbus (gconf) 자동 종료) THX
yuyichao

1
killall dbus또는 이와 비슷한 것을 넣을 수는 .logout있지만 다른 것들을 엉망으로 만들 수 있습니다 (예 : 로컬로 로그인 할 때).
Lars Kotthoff

흠, 나는 이것을 수동으로해야 할 것 같습니다 (즉, 직접적인 옵션은 없습니다). 적어도 나는 이미 이미 사용 kill-session=1하고 있으며 희망적으로
체계화
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.