xwd에서 ImageMagick으로의 변환을 위한 파이프라인이 잘린 이미지를 생성합니다.

xwd에서 ImageMagick으로의 변환을 위한 파이프라인이 잘린 이미지를 생성합니다.

원격 호스트의 스크린샷을 찍고( 사용 xwd) 이를 png로 변환하려고 합니다( 사용 convert). 무인 원라이너가 필요하므로 다음과 같이 합니다.

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root | convert xwd:- output.png

문제는 결과 PNG 파일이 잘려서 화면 상단 부분만 표시된다는 것입니다. 두 단계로 프로세스를 수행하면 작동합니다.

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root > output.xwd
convert output.xwd output.png

하지만 단 하나의 명령으로 이를 수행해야 합니다.

convert나는 이것이 원격 명령으로부터 데이터가 수신되는 속도와 관련이 있다고 생각합니다 xwd. 나는 사용해 보았습니다.stdbuf 여기서 언급한 대로버퍼 크기를 늘려보지만 별 효과가 없는 것 같습니다.

ImageMagick 6.7.8.9-15를 사용하고 있습니다.

답변1

단 하나의 명령으로 수행해야합니다

"명령"이 단일 쉘 표현식을 의미하는 경우 다음과 같이 연결할 수 있습니다 &&.

sshpass -p THE_PASSWORD ssh [email protected] xwd -display :0 -root > output.xwd && convert output.xwd output.png

또는 이것이 작동하지 않으면 다음을 사용할 수 있습니다.프로세스 교체:

sshpass -p THE_PASSWORD ssh [email protected] convert <(xwd -display :0 -root) output.png

관련 정보