Execute screen -d , encontre as telas e execute screen -R [screen_name] .
Eu tenho a sessão de tela "main", iniciada em /dev/ttySAC0 e sh, iniciada em /dev/ttySAC0 (sessão de tela externa) com fluxos de entrada, saída e erro, redirecionada para pseudoterminal /dev/pts/1 .
Quando eu me conecto ao terminal / dev / pts / 1 e tento executar screen -r main , ele falha com:
WriteMessage: Bad file descriptor
Mas criar uma nova sessão de tela com screen funciona bem. Além disso, se eu executar screen -r main nesta sessão de tela, recebo a tela com minha sessão salva em outra sessão de tela. Não é útil, mas funciona.
Mesmo que eu inicie uma nova sessão em /dev/pts/1 , retire-a e tente revivê-la, recebi o mesmo erro.
Execute screen -d , encontre as telas e execute screen -R [screen_name] .
Tente adicionar a linha defnonblock on ao seu arquivo ~ / .screenrc.
Quando comecei a ter o mesmo problema, encontrei alguns posts mencionando que eles corrigiram seus problemas. Fixou o meu.
Tags gnu-screen