Bagaimana saya bisa mengambil tangkapan layar di X.org?
Saya tidak yakin apakah tombol Print Screen akan "berfungsi" dan saya tidak tahu bagaimana cara mengujinya.
Bagaimana saya bisa mengambil tangkapan layar di X.org?
Saya tidak yakin apakah tombol Print Screen akan "berfungsi" dan saya tidak tahu bagaimana cara mengujinya.
Jawaban:
Aplikasi Linux yang paling umum digunakan untuk mengambil screenshot disebut scrot
Anda dapat menginstalnya dengan untuk Debian:
sudo apt-get install scrot
Atau untuk Arch:
sudo pacman -S scrot
Tangkapan layar diambil dengan mengetik:
scrot output-file.png
Jika Anda ingin mengikat scrot
ke print screen
kunci maka yang perlu dikendalikan oleh manajer jendela.
Saya menemukan jawaban yang bagus untuk pertanyaan ini di sini , perlu diulangi.
Ini dapat dicapai dengan ImageMagick. Instal dengan menjalankan perintah
sudo apt-get install imagemagick
Untuk mengambil semua desktop cukup ketik
import -window root screen.png
Atau Anda bisa melakukannya dengan penundaan 5 detik
sleep 5; import -window root screen.png
xbindkeys
meskipun
Ini adalah skrip perl6 yang saya gunakan untuk mengambil jendela area root atau menunda ScreenShots menggunakan impor:
#!/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 }
}
}
Ini adalah binding utama di i3 untuk menjalankan skrip:
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