сбой экрана с «WriteMessage: неверный дескриптор файла»

11

У меня есть сеанс экрана "main", начался в /dev/ttySAC0и sh, начался в /dev/ttySAC0(вне сеанса экрана) с потоками ввода, вывода и ошибок, перенаправленными на псевдотерминал /dev/pts/1. Когда я подключаюсь к терминалу / dev / pts / 1 и пытаюсь запустить screen -r mainего, происходит сбой:

WriteMessage: Bad file descriptor

Но создание нового сеанса экрана screenработает нормально. Кроме того, если я запускаю screen -r mainв этом сеансе экрана, я получил экран с моим сохраненным сеансом в другом сеансе экрана. Это не полезно, но это работает.

Даже если я /dev/pts/1начинаю новую сессию , отрываюсь от нее и пытаюсь ее оживить, я получаю ту же ошибку.

Paboka
источник

Ответы:

7

Беги screen -d, найди экраны и беги screen -R [screen_name].

Sudhanshu
источник
4

Попробуйте добавить строку defnonblock onв ваш файл ~ / .screenrc.

Когда у меня возникла та же проблема, я обнаружил несколько постов, в которых упоминалось, что это исправило их проблемы. Это исправило мое.

Энтони Доусон
источник
Это не помогло.
Пабока
1

Это происходит, если у меня есть экран с тем же именем, что и другой экран + больше текста после него, имя экрана без лишних разрывов текста, т.е.

~$ screen -ls
        7385.foo-screen      (02/27/2020 12:03:41 AM)        (Detached)
        7296.foo-screen-2    (02/27/2020 12:00:48 AM)        (Detached)

работает:

~$ screen -r foo-screen-2 

терпит неудачу:

~$ screen -r foo-screen 
WriteMessage: Bad file descriptor

работает:

~$ screen -r 7385.foo-screen 
chiliNUT
источник