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.