스크롤 가능한 터미널 창(RoxTerm)을 PNG 이미지로 저장하는 방법은 무엇입니까?

스크롤 가능한 터미널 창(RoxTerm)을 PNG 이미지로 저장하는 방법은 무엇입니까?

Ruby 프로그램의 컬러 터미널 출력을 png 파일로 저장하고 싶습니다. 출력이 화면 높이에 맞지 않아 스크롤할 수 있습니다. 스크롤 가능한 터미널 창 영역(물론 보이는 부분뿐만 아니라 약간 위로 스크롤되는 부분)의 전체 또는 일부를 png 파일로 저장할 수 있습니까?

답변1

제한된 크기의 실제 화면을 사용할 필요는 없습니다. 모든 출력을 한 번에 표시할 수 있을 만큼 큰 가상 화면을 만든 다음 해당 화면이나 터미널을 덤프합니다. 예를 들어:

$ Xvfb :1 -screen 0 100x4000x24 -noreset &
$ xterm -geometry 10x200 -display :1 -e \
   sh -c 'echo $WINDOWID >/tmp/id;ls -l /etc;sleep 99' &
$ DISPLAY=:1 convert x:$(cat /tmp/id) /tmp/out.png 
$ identify /tmp/out.png
  /tmp/out.png PNG 79x2604 ...

그러면 100 x 4000 픽셀, 200줄 높이의 화면이 생성됩니다 xterm. 이 WINDOWID변수는 내보내지고 xtermImageMagick convert프로그램에 제공되어 이미지를 png 파일로 복사할 수 있습니다. 이 identify명령은 모든 것이 xterm캡처되었음을 보여 주지만 1080픽셀만 있는 실제 화면에서는 그렇지 않습니다.

답변2

나는 튜토리얼용으로 녹화된 세션을 생성하기 위해 asciienma.org(이전의 ascii.io)를 사용해 왔으며 터미널에 작업을 포함/공유해야 합니다. 녹음 내용은 .cast 형식으로 저장 및 다운로드할 수 있으며, 이를 .gif 형식으로 변환할 수 있습니다.

.cast 파일을 .gif로 변환하려면 이 프로젝트를 사용합니다.asciicast2gif. 결과는 다음과 같습니다.

SS1

인용하다

관련 정보