나는 며칠 동안 GNU 스크린 세션을 실행해 왔습니다. 나는 터미널의 내용(위로 스크롤하여 볼 수 있음)을 파일에 저장해야 하는 상황에 처했습니다. 가능합니까? 5000줄을 넘지 않을 것으로 예상됩니다.
화면 녹화를 설정하는 방법을 찾았습니다미래파일로 출력합니다. 하지만 이 경우에는 과거 출력(또는 가능한 한 많은 기존 출력)도 저장해야 합니다.
답변1
hardcopy -h
명령을 사용하여 현재 스크롤 버퍼의 내용을 파일에 저장할 수 있습니다 . 에 명시된 바와 같이 man screen
:
hardcopy [-h] [file] Writes out the currently displayed image to the file file, or, if no filename is specified, to hardcopy.n in the default directory, where n is the number of the current window. This either appends or overwrites the file if it exists. See below. If the option -h is specified, dump also the contents of the scrollback buffer.
당신은 말한다:
5000줄을 넘지 않을 것으로 예상됩니다.
5000줄은 정말 많은 양이다. 스크롤 버퍼의 기본 길이는
screen
5000줄이 아닌 100줄입니다. 더 큰 스크롤 버퍼 설정으로 세션을 시작하지 않으면
screen
약 5000행의 스크롤 버퍼가 모두 검색되지 않습니다.
답변2
한 가지 방법은 복사 모드를 사용하여 전체 롤백 기록을 복사한 다음 파일에 덤프하는 것입니다. (더 좋은 방법이 있을 수도 있습니다.)
기본 키 바인딩을 사용하면 다음과 같습니다.
- Ctrl-A는 화면에 명령을 보냅니다.
[
복사 모드 시작g
맨 위로 이동- 스페이스바는 스크롤백 버퍼(현재 위치)의 시작 부분을 복사할 텍스트의 시작 부분으로 표시합니다.
G
끝까지 가라- 복사하려는 텍스트의 끝 부분을 입력한 후 복사하세요.
그런 다음 vim을 열고 실행하여 :set paste
자동 들여쓰기와 같은 문제를 피한 다음 Ctrl-A
]
붙여넣기를 사용하세요.