문제

창을 시작하고 jpeg로 디스크로 모양을 캡처하는 Red Hat Linux 명령 줄 도구를 작성해야합니다.

일반적으로 대상 기계에는 그래픽 카드가 없지만 소프트웨어 구성 요소 (예 : x)를 설치할 수 있습니다.

질문 또는 두 가지 :

이를 위해 어떤 라이브러리 나 도구를 제안 할 수 있습니까?

이 도구를 만들기 위해 GTK+와 같은 것을 사용한다면 비디오 카드가 부족하지 않으면 실행을 방해할까요?

나는 보았다 scrot, 그러나 사용자 상호 작용없이 특정 창을 캡처하는 것을 지원하는 것으로 보이지 않습니다.

도움이 되었습니까?

해결책

"가상 프레임 버퍼 " X.org 서버의 드라이버와 함께 XWD, netpbm, 그리고 CJPEG 유용.

X 서버에 필요한 특정 구성에 대해서는 잘 모르겠지만 사용중인 서버에 가상 프레임 버퍼 드라이버가 내장되어 있는지 확인해야합니다. Virtual FrameBuffer 드라이버는 NVIDIA 또는 ATI 비디오 카드에 연결하는 데 사용하는 디스플레이 드라이버입니다. "출력"은 LCD 화면이 아닌 픽셀이 포함 된 메모리 덩어리를 제외하고는 표시됩니다.

XWD는 표준 X 도구 중 하나이며 X 창 덤프를 생성 할 수 있습니다. XWD는 명령 줄에서 어떤 창을 덤프할지 알 수 있습니다. 펑키 한 "XWD"서식 스트림을 표준 아웃으로 출력합니다.

NetPBM 유틸리티는 한 이미지 형식을 다른 이미지 형식으로 변환하는 명령 줄 도구 모음입니다. xwdtoppm을 변환하는 것이 포함됩니다. PPM은 대부분의 NetPBM 도구에서 이해되는 중간 형식 인 매우 기본적이고 비 압축 형식입니다.

CJPEG는 표준 JPEG Tools Collection의 일부이며 NetPBM이있는 경우 설치되었을 것입니다. CJPEG는 PPM 바이트 스트림을 취하고 JPEG 바이트 스트림을 방출 할 수 있습니다.

Unix 스크립팅 및 파이프의 마법을 통해이 유틸리티를 함께 묶어 창으로 앱을 발사하고 xwd, xwdtoppm 및 cjpeg로 전화하여 이미지를 파일에 버릴 수 있습니다.

다른 팁

vncserver를 실행하여 가상 X 창 디스플레이를 만들 수 있습니다. 그래픽 카드가 필요하지 않습니다. VNCServer가 시작될 때 인쇄되는 디스플레이 번호로 디스플레이 변수를 설정하십시오. 다음으로 생성 된 디스플레이 (HTE 배경)에서 앱을 시작하고 데이터 포맷터 또는 gimp 명령과 함께 XWD를 사용하여 화면 이미지를 JPEG에 캡처하십시오.

그건 그렇고, 비슷한 답변을 확인하십시오 웹 사이트 스크린 샷을 만들기위한 명령 줄 프로그램 (Linux).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top