답변:
기존 답변 외에도 터미널에서 스크린 샷을 ASCII로 표시하려면 다음을 수행하십시오.
xwd -root -display :0 | convert - jpg:- | jp2a - --colors
(요구 x11-apps
에 대해 xwd
, imagemagick
에 대해 convert
하고 jp2a
).
xwd -root -display :0 | convert - jpg:- > screenshot.jpg
xwd
마법 번호 에서 형식을 유추 할 수 없으므로 입력 형식을 명시 적으로 지정하는 것이 좋습니다. xwd -root -display :0 | convert xwd:- jpg:- | jp2a - --colors
xwd -name "$win_name" | convert xwd:- /tmp/"$win_name".png
어디에서win_name=$(xwininfo -tree -root | grep 'The Window Name Im Looking For' | awk -F\" '{print $2}')
xwd
거의 모든 Xorg 설치에서 사용할 수있는를 사용하는 솔루션은 다음과 같습니다 .
xwd -root -out screenshot.xwd
screenshot.xwd
파일은 김프로 열 수 있습니다 :
자세한 내용은 http://www.x.org/wiki/UserDocumentation/GettingStarted/를 참조 하십시오 .
셔터를 사용해보십시오
DISPLAY=:0 shutter -f -e -n -o "$HOME/Pictures/screenshot.png"
루트 창이 사용 중이 아니므로 가져 오기가 작동하지 않습니다. 컴 포지 팅은 "바이 패스"합니다 (각 윈도우는 자체 버퍼로 렌더링 된 다음 이전 방식 대신 디스플레이에 멀티플렉싱되어 "루트"윈도우에서 모두 렌더링 됨).
또한 스크린 샷을 찍기 전에 VTY가 활성화되어 있는지 확인해야합니다. 예를 들어
#!/bin/bash
X :1 &
export DISPLAY=:1
sleep 10 # give time for X to start
gedit &
sleep 10 # give time for app to do something
chvt 8 # ensure the X display is active
shutter -f -e -n -o "$HOME/Pictures/screenshot.png" # screenshot
killall xorg # terminate X
X :0 & sleep 50 && sudo chvt 6 && program & sleep 5 && screenshot
(완전히 가짜 스크립트입니다).
동일한 컴퓨터에 앉아서 X 서버가 실행중인 것과 다른 가상 터미널에서 작업하는 것은 작동하지 않습니다.
http://www.karlrunge.com/x11vnc/faq.html#faq-linuxvc에 설명되어 있습니다. 인용문:
Q-108 : Linux 가상 터미널 (VT)을 사용하여 사용자 세션간에 '빠른 사용자 전환'을 구현합니다 (예 : Betty는 Ctrl-Alt-F7, Bobby는 Ctrl-Alt-F8, Sid는 Ctrl-Alt -F1 : 키 입력을 사용하여 세션 간을 전환합니다.) x11vnc에 연결하는 VNC 뷰어의보기가 완전히 검은 색이거나 업데이트되지 않거나 X 세션 x11vnc가 연결되어 있지 않으면 픽셀이 엉망이되는 방법 활성 VT?
이것은 응용 프로그램 (이 경우 X 서버 프로세스)이 활성 VT에 있지 않은 경우 (가상 콘솔의 경우 VC라고도 함) 어떻게 "잘 작동"해야하는지와 관련이있는 것 같습니다. 즉, 키보드에서 읽지 않아야합니다 VT가 활성화되어 있지 않으면 마우스 또는 비디오 디스플레이를 관리합니다. XGetImage () 호출이 궁극적으로 비디오 하드웨어 자체에서 프레임 버퍼 데이터를 검색해야한다고 가정하면 X 세션이 VT를 적극적으로 제어하지 않으면 x11vnc의 폴링이 작동하지 않는 것이 좋습니다.
이 문제를 해결하는 쉬운 방법이없는 것 같습니다. 이 경우 xwd (1)조차도 작동하지 않습니다 (시도하십시오). XFree86 / Xorg X 서버와 같이 더 낮은 레벨에서 무언가를 수행해야합니다. 또한 섀도 프레임 버퍼 (비디오 프레임 버퍼의 사본이 주 메모리에 보관 됨)를 사용해도 문제가 해결되지 않습니다 (마지막으로 확인한 2007).
아무도 워크 스테이션에 앉아 있지 않고 VT를 X 세션과 연결된 것으로 원격으로 전환하려는 경우 (x11vnc가 올바르게 폴링 할 수 있음) chvt (1) 명령을 사용할 수 있습니다 (예 : "chvt 7"). VT # 7.