「スクリーンキャプチャ」の版間の差分
(更新) |
|||
14行目: | 14行目: | ||
* {{App|Deepin Screenshot|とても使いやすいスクリーンショットツール。機能: スクリーンショットツールを発動するホットキー、選択した領域のスクリーンショットの取得、スクリーンショットに文章や線画を簡単に追加。Python/GTK2 ベース。|http://www.linuxdeepin.com/|{{Pkg|deepin-screenshot}}}} |
* {{App|Deepin Screenshot|とても使いやすいスクリーンショットツール。機能: スクリーンショットツールを発動するホットキー、選択した領域のスクリーンショットの取得、スクリーンショットに文章や線画を簡単に追加。Python/GTK2 ベース。|http://www.linuxdeepin.com/|{{Pkg|deepin-screenshot}}}} |
||
− | * {{App| |
+ | * {{App|Spectacle|スクリーンショットを撮るための [[KDE]] のアプリケーション。デスクトップ全体、単一のウィンドウ、ウィンドウの一部、四角形またはフリーハンドで指定した領域の画面をキャプチャすることができます。{{Grp|kdegraphics}} に含まれています。|https://github.com/KDE/spectacle/|{{Pkg|spectacle}}}} |
* {{App|[[Wikipedia:Scrot|Scrot]]|X 向けのシンプルなコマンドラインスクリーンショットユーティリティ。|http://freecode.com/projects/scrot|{{Pkg|scrot}}}} |
* {{App|[[Wikipedia:Scrot|Scrot]]|X 向けのシンプルなコマンドラインスクリーンショットユーティリティ。|http://freecode.com/projects/scrot|{{Pkg|scrot}}}} |
||
* {{App|Escrotum|pygtk を使用して画面をキャプチャ。scrot の影響を受けています。|https://github.com/Roger/escrotum|{{AUR|escrotum-git}}}} |
* {{App|Escrotum|pygtk を使用して画面をキャプチャ。scrot の影響を受けています。|https://github.com/Roger/escrotum|{{AUR|escrotum-git}}}} |
||
− | * {{App|kscreengenie|KDE のスクリーンショット取得ユーティリティ (Qt5/KF5)。|https://blogs.kde.org/2015/08/12/ksnapshot-next|{{Pkg|kscreengenie}}}} |
||
* {{App|maim|imlib2 を使ってスクリーンショットを取得するシンプルなコマンドラインユーティリティ。scrot を置き換えるものとして様々な点で scrot よりも優れています。|https://github.com/naelstrof/maim|{{Pkg|maim}}}} |
* {{App|maim|imlib2 を使ってスクリーンショットを取得するシンプルなコマンドラインユーティリティ。scrot を置き換えるものとして様々な点で scrot よりも優れています。|https://github.com/naelstrof/maim|{{Pkg|maim}}}} |
||
* {{App|maimclip|maim スクリーンショット取得ツールのシンプルな bash ラッパー。OSD 通知をサポート。|https://github.com/orschiro/scriptlets/tree/master/Maimclip|{{AUR|maimclip-git}}}} |
* {{App|maimclip|maim スクリーンショット取得ツールのシンプルな bash ラッパー。OSD 通知をサポート。|https://github.com/orschiro/scriptlets/tree/master/Maimclip|{{AUR|maimclip-git}}}} |
||
27行目: | 26行目: | ||
* {{App|zscreen|画面全体や領域を選択してスクリーンショットを取得し、自動的にスクリーンショットを [http://imgur.com imgur] にアップロードできる軽量な GUI。スクリーンショットを取得するときの GUI として scrot と zenity を使います。|https://github.com/ChrisZeta/Scrot-and-imgur-zenity-GUI|{{AUR|zscreen}}}} |
* {{App|zscreen|画面全体や領域を選択してスクリーンショットを取得し、自動的にスクリーンショットを [http://imgur.com imgur] にアップロードできる軽量な GUI。スクリーンショットを取得するときの GUI として scrot と zenity を使います。|https://github.com/ChrisZeta/Scrot-and-imgur-zenity-GUI|{{AUR|zscreen}}}} |
||
* {{App|screencloud|画面全体のスクリーンショットや領域を選択して撮影し、[http://imgur.com imgur]+auth にスクリーンショットをアップロードできるツール。プラグインとシステムトレイが付属。|http://screencloud.net/|{{AUR|screencloud}}}} |
* {{App|screencloud|画面全体のスクリーンショットや領域を選択して撮影し、[http://imgur.com imgur]+auth にスクリーンショットをアップロードできるツール。プラグインとシステムトレイが付属。|http://screencloud.net/|{{AUR|screencloud}}}} |
||
− | * {{App| |
+ | * {{App|Lightscreen|退屈なスクリーンショットの保存とカタログ化を自動化するシンプルなツール。表には現れないバックグラウンドプロセスとして動作し、(複数の) ホットキーで呼び出してスクリーンショットファイルをユーザーの設定にあわせてディスクに保存する。|http://lightscreen.com.ar|{{AUR|lightscreen}}}} |
== スクリーンショットユーティリティが含まれているパッケージ == |
== スクリーンショットユーティリティが含まれているパッケージ == |
||
− | * {{App|[[Wikipedia:ja:GIMP|GIMP]]|[[Wikipedia:ja:Adobe Photoshop|Adobe Photoshop]] などのプロプライエタリなエディタに匹敵する画像編集スイート。GIMP ([[GNU プロジェクト|GNU]] Image Manipulation Program) の開発は1990年代中頃から開始され、大量の[[CMYK support in The GIMP|プラグイン]]や補助ツールが存在します。|http://www.gimp.org/|{{Pkg|gimp}}}} |
+ | * {{App|[[Wikipedia:ja:GIMP|GIMP]]|[[Wikipedia:ja:Adobe Photoshop|Adobe Photoshop]] などのプロプライエタリなエディタに匹敵する画像編集スイート。GIMP ([[GNU プロジェクト|GNU]] Image Manipulation Program) の開発は1990年代中頃から開始され、大量の[[en2:CMYK support in The GIMP|プラグイン]]や補助ツールが存在します。|http://www.gimp.org/|{{Pkg|gimp}}}} |
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|API やコマンドラインの安定性を確保するために作られた ImageMagick のフォーク。パフォーマンスを向上させるためのマルチコア CPU をサポートしており、パフォーマンスを目当てに様々な巨大な商用サイト (Flickr, etsy) で採用されています。|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}} |
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|API やコマンドラインの安定性を確保するために作られた ImageMagick のフォーク。パフォーマンスを向上させるためのマルチコア CPU をサポートしており、パフォーマンスを目当てに様々な巨大な商用サイト (Flickr, etsy) で採用されています。|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}} |
||
* {{App|[[Wikipedia:ja:ImageMagick|ImageMagick]]|コマンドラインの画像処理プログラム。100以上のフォーマットをサポートしており正確なフォーマット変換ができることで知られています。ImageMagick の API はスクリプト化することができ大抵はバックエンドの処理に使われています。|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}} |
* {{App|[[Wikipedia:ja:ImageMagick|ImageMagick]]|コマンドラインの画像処理プログラム。100以上のフォーマットをサポートしており正確なフォーマット変換ができることで知られています。ImageMagick の API はスクリプト化することができ大抵はバックエンドの処理に使われています。|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}} |
||
129行目: | 128行目: | ||
=== FFmpeg === |
=== FFmpeg === |
||
− | + | [[FFmpeg]] は X11 のスクリーンをキャプチャできる x11grab デバイスを提供しています。 |
|
ディスプレイの''横幅''x''高さ''を指定してスクリーンショットを取得: |
ディスプレイの''横幅''x''高さ''を指定してスクリーンショットを取得: |
||
139行目: | 138行目: | ||
同じデバイスを使ってスクリーンキャストも可能です (ディスプレイのリフレッシュレートを ''rate'' HZ で指定): |
同じデバイスを使ってスクリーンキャストも可能です (ディスプレイのリフレッシュレートを ''rate'' HZ で指定): |
||
− | $ ffmpeg -f x11grab -video_size ''width''x''height'' - |
+ | $ ffmpeg -f x11grab -video_size ''width''x''height'' -framerate ''rate'' -i $DISPLAY -c:v libx264 -preset ultrafast cast.mkv |
上記のコマンドでは、エンコード速度が一番高速な x264 コーデックを使っていますが、他のコーデックも使えます。ただし (ディスクのパフォーマンスが足りなかったりエンコードが遅かったりして) フレームの書き込みが遅すぎると、フレームが抜け落ちて出力された動画は飛び飛びになります。 |
上記のコマンドでは、エンコード速度が一番高速な x264 コーデックを使っていますが、他のコーデックも使えます。ただし (ディスクのパフォーマンスが足りなかったりエンコードが遅かったりして) フレームの書き込みが遅すぎると、フレームが抜け落ちて出力された動画は飛び飛びになります。 |
||
149行目: | 148行目: | ||
== デスクトップ環境による方法 == |
== デスクトップ環境による方法 == |
||
− | === |
+ | === Spectacle === |
− | [[KDE]] を使っている場合、{{ic| |
+ | [[KDE]] を使っている場合、{{ic|Spectacle}} を使用すると良いでしょう。{{ic|Prnt Scr}} で使うことができます。 |
− | + | Spectacle は {{Pkg|spectacle}} に入っています。 |
|
=== Xfce Screenshooter === |
=== Xfce Screenshooter === |
||
184行目: | 183行目: | ||
</keybind> |
</keybind> |
||
</nowiki>}} |
</nowiki>}} |
||
+ | |||
+ | 上記の {{ic|Print}} が動作しない場合、[[特別なキーボードキー]]をみて、別の''キーシム''や''キーコード''を使って下さい。 |
||
== ターミナル == |
== ターミナル == |
2015年12月28日 (月) 15:44時点における版
関連記事
この記事ではシステムのスクリーンショットを取得する様々な方法を説明しています。
専用のソフトウェア
- Deepin Screenshot — とても使いやすいスクリーンショットツール。機能: スクリーンショットツールを発動するホットキー、選択した領域のスクリーンショットの取得、スクリーンショットに文章や線画を簡単に追加。Python/GTK2 ベース。
- Spectacle — スクリーンショットを撮るための KDE のアプリケーション。デスクトップ全体、単一のウィンドウ、ウィンドウの一部、四角形またはフリーハンドで指定した領域の画面をキャプチャすることができます。kdegraphics に含まれています。
- Scrot — X 向けのシンプルなコマンドラインスクリーンショットユーティリティ。
- Escrotum — pygtk を使用して画面をキャプチャ。scrot の影響を受けています。
- maim — imlib2 を使ってスクリーンショットを取得するシンプルなコマンドラインユーティリティ。scrot を置き換えるものとして様々な点で scrot よりも優れています。
- maimclip — maim スクリーンショット取得ツールのシンプルな bash ラッパー。OSD 通知をサポート。
- qscreenshot — シンプルなスクリーンショット取得・編集ツール (Qt)。
- screengrab — スクリーンショットを手軽に取得するためのクロスプラットフォームのアプリケーション (Qt)。
- Shutter — リッチなスクリーンショット・編集プログラム。
- Xfce4 Screenshooter — 画面全体、アクティブウィンドウ、または選択領域のキャプチャを行えます。スクリーンショットを撮るまでの待機時間とスクリーンショットを撮った後の動作を設定できます: PNG ファイルに保存、クリップボードにコピー、別のアプリケーションで開く、無料の画像ホスティングサービスである ZimageZ にアップロード。xfce4-goodies に含まれています。
- xwd — X Window System イメージダンプユーティリティ。
- zscreen — 画面全体や領域を選択してスクリーンショットを取得し、自動的にスクリーンショットを imgur にアップロードできる軽量な GUI。スクリーンショットを取得するときの GUI として scrot と zenity を使います。
- screencloud — 画面全体のスクリーンショットや領域を選択して撮影し、imgur+auth にスクリーンショットをアップロードできるツール。プラグインとシステムトレイが付属。
- Lightscreen — 退屈なスクリーンショットの保存とカタログ化を自動化するシンプルなツール。表には現れないバックグラウンドプロセスとして動作し、(複数の) ホットキーで呼び出してスクリーンショットファイルをユーザーの設定にあわせてディスクに保存する。
スクリーンショットユーティリティが含まれているパッケージ
- GIMP — Adobe Photoshop などのプロプライエタリなエディタに匹敵する画像編集スイート。GIMP (GNU Image Manipulation Program) の開発は1990年代中頃から開始され、大量のプラグインや補助ツールが存在します。
- GraphicsMagick — API やコマンドラインの安定性を確保するために作られた ImageMagick のフォーク。パフォーマンスを向上させるためのマルチコア CPU をサポートしており、パフォーマンスを目当てに様々な巨大な商用サイト (Flickr, etsy) で採用されています。
- ImageMagick — コマンドラインの画像処理プログラム。100以上のフォーマットをサポートしており正確なフォーマット変換ができることで知られています。ImageMagick の API はスクリプト化することができ大抵はバックエンドの処理に使われています。
- Imlib2 — 画像ファイルのロードと保存、さらにレンダリング、操作、任意多角形をサポートしているライブラリ。
一般的な方法
ImageMagick/GraphicsMagick
import
コマンドを使うことで現在のシステムのスクリーンショットを簡単に取得できます:
$ import -window root screenshot.jpg
import
は imagemagick パッケージに入っています。
-window
オプションを付けずに import
を実行するとウィンドウや任意の領域をインタラクティブに選択することが可能です。
複数の X 画面のスクリーンショット
twinview または dualhead で使っている場合、2回スクリーンショットを取得して imagemagick
を使って貼り付けます:
import -window root -display :0.0 -screen /tmp/0.png import -window root -display :0.1 -screen /tmp/1.png convert +append /tmp/0.png /tmp/1.png screenshot.png rm /tmp/{0,1}.png
Xinerama ヘッドのスクリーンショット
Xinerama による multi-head セットアップでは仮想スクリーンが一つしかありません。物理的なスクリーンの高さに違いがあると、スクリーンショットにデッドスペースが出来てしまいます。こういう場合、それぞれの物理的なスクリーンごとにスクリーンショットを取得すると良いでしょう。Xinerama の情報が X サーバーから取り出せていれば、以下のスクリプトが動作します:
#!/bin/sh xdpyinfo -ext XINERAMA | sed '/^ head #/!d;s///' | while IFS=' :x@,' read i w h x y; do import -window root -crop ${w}x$h+$x+$y head_$i.png done
アクティブなウィンドウ/フォーカスしたウィンドウのスクリーンショット
以下のスクリプトは現在フォーカスされているウィンドウのスクリーンショットを取得します。EWMH/NetWM 準拠の X ウィンドウマネージャで動作します。スクリーンショットを上書きしないように、ファイル名に取得時刻を使っています。
#!/bin/sh activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)") activeWinId=${activeWinLine:40} import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png
もしくは、次のコマンドは EWMH をサポートしているかどうかに関わらず動作します:
$ import -window "$(xdotool getwindowfocus -f)" /tmp/$(date +%F_%H%M%S_%N).png
GIMP
GIMP を使ってスクリーンショットを取得することもできます (File > Create > Screenshot...)。
xwd
ルートウィンドウのスクリーンショットを取得:
$ xwd -root -out screenshot.xwd
scrot
scrot を使えば CLI からスクリーンショットを撮ることができ、シャッターを押すまでの待機時間をユーザーが定義できるなどの機能があります。特に指定がなければ、カレントディレクトリにファイルが保存されます。
$ scrot -t 20 -d 5
上記のコマンドは日付が入った .png
ファイルが作成され、ウェブ投稿用にサムネイルも作られます (元の画像の 20%)。上の例ではキャプチャするまで5秒間待ちます。
ファイルに保存するときに標準的な日付のフォーマットを使うこともできます、例えば:
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png
このコマンドではホームディレクトリの "screenshots" という名前のフォルダに、現在の年・月・日・時間・分・秒がファイル名のスクリーンショットが保存されます。
詳しくは man scrot
を見て下さい。[1] のようにファイルのアップロードを自動化することもできます。
escrotum
escrotum-gitAUR は pygtk を使って画面をキャプチャします。scrot にインスパイアされています。
選択モードを使った時に scrot ではウィンドウのリフレッシュでバグが発生するので開発されました。
コマンドラインインターフェースは scrot とほぼ同じなので、そのまま同じように使うことができます。
imlib2
imlib2 にはスクリーンショットを取得するためのバイナリ imlib2_grab
が含まれています。フルスクリーンのスクリーンショットを取得するには、次を入力:
$ imlib2_grab screenshot.png
実は scrot は imlib2
を使っています。
FFmpeg
FFmpeg は X11 のスクリーンをキャプチャできる x11grab デバイスを提供しています。
ディスプレイの横幅x高さを指定してスクリーンショットを取得:
$ ffmpeg -f x11grab -video_size widthxheight -i $DISPLAY -vframes 1 screen.png
上記のコマンドでは PNG コーデック (ロスレスでスクリーンショットに向いている) を使っていますが、他の画像コーデックも使うことができます。
同じデバイスを使ってスクリーンキャストも可能です (ディスプレイのリフレッシュレートを rate HZ で指定):
$ ffmpeg -f x11grab -video_size widthxheight -framerate rate -i $DISPLAY -c:v libx264 -preset ultrafast cast.mkv
上記のコマンドでは、エンコード速度が一番高速な x264 コーデックを使っていますが、他のコーデックも使えます。ただし (ディスクのパフォーマンスが足りなかったりエンコードが遅かったりして) フレームの書き込みが遅すぎると、フレームが抜け落ちて出力された動画は飛び飛びになります。
Weston
Wayland のコンポジットマネージャである Weston では、Super+s
を押すことでスクリーンショットを撮影することができ、Weston の現在の作業ディレクトリに保存されます。スクリーンキャストもサポートされています。録画の開始と停止は Super+r
を押すことで行われ、Weston の現在の作業ディレクトリに capture.wcap
という名前のファイルが作成されます。wcap-decode --yuv4mpeg2 capture.wcap
を実行することでキャプチャを YUV フォーマットにデコードできます。このコマンドの出力をファイルに書き込んだり、FFmpeg にパイプして更に処理を加えることもできます。
デスクトップ環境による方法
Spectacle
KDE を使っている場合、Spectacle
を使用すると良いでしょう。Prnt Scr
で使うことができます。
Spectacle は spectacle に入っています。
Xfce Screenshooter
Xfce を使っている場合 xfce4-screenshooter をインストールしてキーボードバインディングを追加することができます:
Xfce Menu > Settings > Keyboard > Application Shortcuts
Screenshot プロンプトをスキップしたい場合は、オプションのターミナルに $ xfce4-screenshooter -h
と入力してください。
GNOME
GNOME ユーザーは Prnt Scr
を押すか Apps > Accessories > Take Screenshot でスクリーンショットが取れます。gnome-screenshot をインストールする必要があります。
Cinnamon
Cinnamon はデフォルトでスクリーンショットユーティリティがインストールされません。gnome-screenshot をインストールするとスクリーンショットが有効になり、Menu > Accessories > Screenshot または Prnt Scr
を押すことで撮影できるようになります。
他のデスクトップ環境やウィンドウマネージャ
LXDE などのデスクトップ環境や Openbox や Compiz などのウィンドウマネージャの場合、上述のコマンドをホットキーに追加してスクリーンショットを撮影することができます。例えば:
$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png
上のコマンドを Prnt Scr
キーに追加すれば Compiz でスクリーンショットを取得して Pictures フォルダに日付を付けて保存できます。Openbox の rc.xml
ファイルではコンマを使えないので、Openbox でこのコマンドを Prnt Scr
キーに指定するには、rc.xml
ファイルのキーボードセクションに以下を追加する必要があります:
rc.xml
<!-- Screenshot --> <keybind key="Print"> <action name="Execute"> <command>sh -c "import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png"</command> </action> </keybind>
上記の Print
が動作しない場合、特別なキーボードキーをみて、別のキーシムやキーコードを使って下さい。
ターミナル
ansi コードで出力
util-linux パッケージに含まれている、script
コマンドを使うことができます。$ script
と入力すればその瞬間から、全ての出力は (ansi コードを含めて) typescript
ファイルに保存されるようになります。
終わったら、exit
と入力するだけで typescript
が作成されます。作成されたファイルは AUR の ansi2htmlAUR パッケージを使って html に変換できます。
typescript
ファイルを typescript.html
に変換するには、次を実行:
$ ansi2html --bg=dark < typescript > typescript.html
また、コマンドによっては直接 ansi2html にパイプで渡すこともできます:
$ ls --color|ansi2html --bg=dark >output.html
どんなコマンドでも使えるというわけではないので、その場合は、script
を使う必要があります。
仮想端末
Uvesafb をインストールして fbgrab または fbdump を使ってスクリーンショットを取得してください。
単にコンソールの文章を取得したいだけで画像は要らない場合、util-linux パッケージに含まれている setterm
を使うことができます。以下のコマンドは仮想端末1のテキストをカレントディレクトリの screen.dump ファイルに保存します:
# setterm -dump 1 -file screen.dump
/dev/vcs1
の中身を読まないといけないので root 権限が必要です。