SSH não finalizado após a saída quando existe o programa X Forward


9

Depois de executar os programas X no SSH, o SSH não termina após a saída do shell (tem que usar, por exemplo, CtrlCpara matá-lo).

Meu palpite é que, embora o programa X já saia, ainda resta alguma "conexão" (não liberada). As exceções que encontrei agora são gtk-demoe acroread.

Alguém sabe a razão? Isso é um problema com a configuração do ssh {, d}?


11
Você pode testar isso por si mesmo. Execute ssh com -v e ele reportará as conexões X11 abertas e fechadas.
— Kyle Jones

@KyleJones THX, parece que esse é o problema (duas "conexões" liberadas depois de C-cpressionadas).
— yuyichao 6/02/12

Eu tenho o mesmo problema no SLES11 em qualquer janela X11. Como você chegou ao dbus?
— Nils

Você pode simplesmente verificar o processo em execução como você (se não houver outras sessões ativas). Eu uso systemd e permitiu-nos sshd (configuração pam), de modo que todo o processo na sessão ssh está no mesmo cgroup, o que torna muito fácil de verificar ~~.
— yuyichao

Respostas:


5

Iniciar o programa X provavelmente inicia um processo em segundo plano que não termina quando você fecha o programa (ou o programa em si não termina corretamente). Veja aqui uma explicação do que acontece.

Para corrigir isso, você pode tentar descobrir quais processos ainda estão em execução e impedir que eles sejam iniciados quando você efetuar login via SSH ou simplesmente matá-los antes de sair. Certamente você pode simplesmente matar a conexão SSH depois de fazer o logout.


K, o problema é que o processo dbus (gconf) ainda está em execução. (obrigado a systemd-cgls~~) (tentei killall -KILLo programa em si, pensando que poderia ter algum processo em segundo plano antes, mas esse não parece ser o caso.). Então, existe uma maneira de fazer as coisas bem? (ex .: kill dbus (gconf) automaticamente) THX
— yuyichao 06/02

11
Você poderia colocar killall dbusalgo assim no seu .logout, mas isso provavelmente atrapalharia outras coisas (ou seja, quando você estiver conectado localmente).
— Lars Kotthoff

Hmm, parece que preciso fazer isso manualmente (ou seja, nenhuma opção direta para isso). Pelo menos eu já estou usando kill-session=1e espero systemd pode me dizer qual é o processo de direito de matar ~~~ THX (ou seja, os processos não matar em outras sessões.)
— yuyichao
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.