.png)
X.org에서 스크린샷을 찍는 방법은 무엇입니까?
"화면 인쇄" 버튼이 "제대로 작동"하는지 잘 모르겠고 테스트 방법도 모르겠습니다.
답변1
스크린샷을 찍는 데 가장 일반적으로 사용되는 Linux 애플리케이션은 다음과 같습니다.scrot
Debian의 경우 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get install scrot
또는 아치의 경우:
sudo pacman -S scrot
다음을 입력하여 스크린샷을 찍습니다.
scrot output-file.png
scrot
해당 키에 바인딩하려면 print screen
창 관리자에서 제어해야 합니다.
답변2
이 질문에 대한 좋은 답을 찾았습니다여기, 반복됩니다.
이는 ImageMagick을 통해 달성할 수 있습니다. 명령을 실행하여 설치
sudo apt-get install imagemagick
모든 데스크탑을 얻으려면 다음을 입력하십시오.
import -window root screen.png
아니면 5초 동안 지연할 수도 있습니다.
sleep 5; import -window root screen.png
답변3
나는 "xwd"를 사용합니다. 예를 들어, 방금 한 가지를 만들었습니다. xwd | xwdtopnm > dw.ppm
xwd에 대해 제가 아는 유일한 단점은 출력을 "xwud"가 아닌 다른 것으로 변환할 수 있는 다른 유틸리티가 필요하다는 것입니다.
답변4
이것은 내가 얻는 데 사용하는 perl6 스크립트입니다.루트 영역 창또는지연가져온 스크린샷 사용:
#!/usr/bin/env perl6
use v6;
sub message(Str $file) {
run <xmessage -nearmouse -timeout 3>, "Screenshot saved in $file";
}
sub print_window(Str $file) {
qx{xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"} ~~ /(0x\d*).*$/;
run <import -window>, $0, $file;
message($file);
}
sub MAIN( Str $option where $option ∈ <root area window delay> ) {
my $today = DateTime.now( formatter => {
sprintf "%04d_%02d_%02d_%02d:%02d:%02d",
.year, .month, .day, .hour, .minute, .second
} );
my $file = "$*HOME/Dades/Imatges/ScreenShots/$today.png";
given $option {
when 'root' { run <import -window root>, $file; message($file) }
when 'area' { run "import", $file ; message($file) }
when 'window' { print_window($file) }
when 'delay' { sleep 5; print_window($file) }
default { say 'Something went wrong' ; exit }
}
}
다음은 스크립트 실행을 위한 i3의 주요 바인딩입니다.
bindsym $mod+Print exec Print_Screen root
bindsym --release $mod+Shift+Print exec Print_Screen area
bindsym $mod+Mod1+Print exec Print_Screen delay
bindsym $mod+Control+Print exec Print_Screen window