irssi na tela se reconectando aos servidores quando a conexão ssh perdida

2

Eu tenho o irssi rodando na tela, e eu me conecto a ele via ssh (com o PuTTY). Quando eu perco inesperadamente minha conexão ssh, se irssi era a janela de tela ativa, ao reconectar / reconectar, ela geralmente cai e se reconecta a todos os servidores de IRC. Existe alguma maneira de "isolá-lo" da sessão ssh para que ele permaneça conectado?

    
por Andrew Brockert 25.10.2010 / 12:22

1 resposta

2

O que está acontecendo é que o irssi tenta escrever algo na tela (seu terminal) e a tela tenta gravar na sua conexão ssh. A escrita da tela está bloqueando, então ela também bloqueia o irssi, que então não responde mais ao PING dos servidores, que então o desconectam.

A solução para dizer à tela não bloquear o aplicativo nela se a tela bloquear. Você pode fazer isso com o comando nonblock screen: ctrl-A :nonblock on . Isso só afeta a janela atual na tela. Para aplicá-lo a novas janelas por padrão, use defnonblock on . E para fazer isso toda vez que você iniciar a tela, coloque-a em ~/.screenrc :

defnonblock on

De man screen :

nonblock [on|off|numsecs]
Tell screen how to deal with user interfaces (displays) that cease to accept output. This can happen if a user presses ^S or a TCP/modem connection gets cut but no hangup is received. If nonblock is off (this is the default) screen waits until the display restarts to accept the output. If nonblock is on, screen waits until the timeout is reached (on is treated as 1s). If the display still doesn't receive characters, screen will consider it "blocked" and stop sending characters to it. If at some time it restarts to accept characters, screen will unblock the display and redisplay the updated window contents.
    
por 04.11.2010 / 13:38