入力、出力、およびエラーストリームを含み、疑似端末にリダイレクトされる/dev/ttySAC0
(スクリーンセッションの外側)から始まり、shで始まるスクリーンセッション「main」があります。 /dev/pts/1 ターミナルに接続して実行しようとすると、次のように失敗します。/dev/ttySAC0
/dev/pts/1
screen -r main
WriteMessage: Bad file descriptor
しかし、新しいスクリーンセッションを作成してもscreen
問題はありません。またscreen -r main
、この画面セッションで実行すると、他の画面セッションで保存されたセッションを含む画面が表示されます。動作しませんでしたが、動作しました。
/dev/pts/1
で新しいセッションを開始し、セッションを切断して復元しようとすると同じエラーが発生します。
答え1
実行しscreen -d
て画面を見つけて実行しますscreen -R [screen_name]
。
答え2
defnonblock on
~/.screenrc ファイルにこの行を追加してみてください。
同じ問題が発生し始めたときに問題が解決したという記事を見つけました。それは私のものを修正しました。
答え3
他の画面と同じ名前の後にテキストがさらに表示される画面がある場合、これが発生します。追加のテキストなしで画面名が壊れます。
~$ 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