web-dev-qa-db-ja.com

スクリーンショットを撮る(X以内)

X.orgでスクリーンショットを撮るにはどうすればよいですか?

Print Screenボタンが「正しく機能する」かどうかはわかりません。また、どのようにテストするのかわかりません。

8
Andrew Fogg

スクリーンショットを撮るために最も一般的に使用されるLinuxアプリケーションはscrotと呼ばれます

Debian用にインストールできます:

Sudo apt-get install scrot

またはArchの場合:

Sudo pacman -S scrot

スクリーンショットは、次のように入力して取得します。

scrot output-file.png

scrotprint screenキーにバインドする場合は、ウィンドウマネージャーで制御する必要があります。

8
Jivings

私はこの質問に対する素晴らしい答えを見つけました ここ 、繰り返す価値があります。

これはImageMagickで実現できます。コマンドを実行してインストールします

Sudo apt-get install imagemagick

すべてのデスクトップを取得するには、次のように入力します

import -window root screen.png

または、5秒の遅延でそれを行うことができます

sleep 5; import -window root screen.png
5
Andrew Fogg

'xwd'を使用します。たとえば、私が今やったこと:xwd | xwdtopnm > dw.ppm xwdで私が知っている唯一の欠点は、その出力を「xwud」以外で理解できるものに変換するために他のユーティリティが必要なことです。

0
Mark Wood

これは、私が使用するPerl6スクリプトですルートエリアウィンドウまたはdelayインポートを使用したスクリーンショット:

#!/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
0
Mimosinnet