GNU 화면 : 분리 된 세션을 stdout에 인쇄


17

분리 된 GNU screen세션에 대한 간단한 개요를 원합니다 . 현재 컨텐츠를 stdout에 덤프 할 수 있습니까? 같은 것

screen --print SESSION_NAME > file.txt

답변:


17

를 사용하여 스크린 세션의 창 하나를 덤프 할 수 있습니다 . screen -X hardcopy /some/file그러면 현재 창의 화면 덤프가에 저장됩니다 /some/file.

다음을 사용하여 특정 창을 덤프 할 수 있습니다.

screen -X at 3 hardcopy /some/file

그리고 모두 다음과 같은 단일 파일로 구성됩니다.

screen -X eval 'hardcopy_append on' 'at \\# hardcopy /some/file'

덤프 할 디렉토리를 지정하여 창당 하나의 파일을 덤프 할 수도 있습니다 (지정하지 않은 경우 screen시작된 디렉토리에서 덤프 됨).

screen -X eval 'hardcopydir /some/dir' 'at \\# hardcopy'

(라는 파일에 덤프됩니다 hardcopy.<n>)

스크롤 버퍼를 포함 하는 -h옵션을 참조하십시오 hardcopy.

사용 screen-S평소와 같이 옵션에서 명령을 실행하는 세션을 지정합니다. ⁣ ⁣ ⁣ ⁣


2
화면 세션이 연결된 적이없는 경우 와 창을 선택 -p하거나하는 것은 at필요하다 . 그래도 screen -X hardcopy /some/file작동하지 않으면 screen -X at 0 hardcopy /some/file또는을 시도하십시오 screen -p 0 -X hardcopy /some/file.
Gilles 'SO- 악마 그만해'

2
임시 파일로 출력하고 캐터링 한 다음 임시 파일을 삭제하는 것 외에 stdout에 하드 카피 할 수있는 방법이 있습니까?
Claudiu

1
@Claudiu : 귀하의 질문은 3 세 이상이지만 그 대답은 어쨌든 관련이 있습니다 : 아니오; 방금 strace"클라이언트"화면이 서버에 하드 카피 명령을 전송하고 서버가이를 처리한다는 것을 알았습니다. (맨 페이지에는 하드 카피 파일이 클라이언트가 아닌 서버의 cwd에 기록되어 있다고 명시되어 있습니다.) 하드 카피의 경우 TTY 데이터가 유선으로 전송되지 않는 것 같습니다.
i336_

6

세션 로깅을 활성화 screen하는 -L옵션으로 시작하십시오 .

당신은 시작 후 또는 screen, 당신은에 윈도우의 로깅을 설정할 수 있습니다 screen에 세션과 오프 CTRLa- H.

로그는 screenlog.XX가 고유 번호 인 이름으로 현재 작업 디렉토리에 작성됩니다 .

로깅이 활성화 될 때 창 목록의 출력은 L플래그 열에 있습니다.

Num Name           Flags
  0 fedora         $(L)               
  1 sudo           $                                        
  2 fedora         $(L)                                                
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.