입력, 출력 및 오류 스트림을 포함하고 의사 터미널로 리디렉션되는 /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