「スクリーンキャプチャ」の版間の差分
細 (→Wayland: リンクを修正) |
(TranslationStatus) |
||
(同じ利用者による、間の12版が非表示) | |||
1行目: | 1行目: | ||
[[Category:システム管理]] |
[[Category:システム管理]] |
||
[[Category:マルチメディア]] |
[[Category:マルチメディア]] |
||
− | [[ |
+ | [[en:Screen capture]] |
− | [[ |
+ | [[es:Screen capture]] |
− | [[ |
+ | [[pt:Screen capture]] |
− | [[ |
+ | [[ru:Screen capture]] |
+ | [[zh-hans:Screen capture]] |
||
− | [[ru:Taking a screenshot]] |
||
− | [[zh-hans:Taking a screenshot]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
− | {{Related|キー |
+ | {{Related|キーバインド}} |
{{Related articles end}} |
{{Related articles end}} |
||
この記事では、[[Wikipedia:ja:スクリーンショット|スクリーンショット]]と[[Wikipedia:ja:スクリーンキャスト|スクリーンキャスト]]のソフトウェアを一覧にして解説しています。 |
この記事では、[[Wikipedia:ja:スクリーンショット|スクリーンショット]]と[[Wikipedia:ja:スクリーンキャスト|スクリーンキャスト]]のソフトウェアを一覧にして解説しています。 |
||
16行目: | 15行目: | ||
=== 専用のソフトウェア === |
=== 専用のソフトウェア === |
||
− | * {{App|CoreShot|X11 用のシンプルで軽量なスクリーンキャプチャユーティリティ。C-Suite |https://cubocore. |
+ | * {{App|CoreShot|X11 用のシンプルで軽量なスクリーンキャプチャユーティリティ。C-Suite の一部。|https://cubocore.gitlab.io/|{{AUR|coreshot}}}} |
− | * {{App|Deepin Screenshot|とても使いやすいスクリーンショットツール。 |
+ | * {{App|Deepin Screenshot|とても使いやすいスクリーンショットツール。現在は非推奨となっており、Deepin Screen Recorder にマージされています。クリップボード機能に関する既知の問題は {{AUR|deepin-screenshot-copy-patch}} でパッチが適用されます。|https://www.deepin.org/en/original/deepin-screenshot/|{{Pkg|deepin-screen-recorder}}}} |
− | * {{App|Escrotum| |
+ | * {{App|Escrotum|Python と GTK3 が使用されているスクリーンキャプチャツール。scrot からインスパイアされています。|https://github.com/Roger/escrotum|{{AUR|escrotum-git}}}} |
− | * {{App|Flameshot|インタラクティブにスクリーンショットを |
+ | * {{App|[[Flameshot]]|インタラクティブにスクリーンショットを撮ることができる Qt5 ベースのソフトウェア。撮りたい領域を選択して、様々なツールで落書きしたりカスタマイズする機能があります。|https://github.com/lupoDharkael/flameshot|{{Pkg|flameshot}}}} |
− | * {{App| |
+ | * {{App|[[Wikipedia:ja:GNOME スクリーンショット|GNOME Screenshot]]|GNOME デスクトップ用のスクリーンショットツール。|https://gitlab.gnome.org/GNOME/gnome-screenshot/|{{Pkg|gnome-screenshot}}}} |
− | * {{App| |
+ | * {{App|grim|Wayland コンポジタでスクリーンショットを撮ります。|https://sr.ht/~emersion/grim/|{{Pkg|grim}}}} |
− | * {{App| |
+ | * {{App|gscreenshot|シンプルな GTK スクリーンショットユーティリティ。遅延撮影、領域選択、クリップボードへのコピーといった機能があります。|https://github.com/thenaterhood/gscreenshot|{{AUR|gscreenshot}}}} |
+ | * {{App|HotShots|画面をキャプチャし、様々な画像フォーマットに保存するだけでなく、注釈やグラフィカルなデータ (矢印、線、テキストなど) を加えることのできるアプリケーション。|https://github.com/obiwankennedy/HotShots|{{AUR|hotshots-git}}}} |
||
− | * {{App|KShare|ShareX の影響を受けているクロスプラットフォームのユーティリティ。Qt で書かれています。|https://kshare.arsenarsen.com|{{AUR|kshare}}}} |
||
+ | * {{App|imgur-screenshot|選択した領域のスクリーンショットを撮り、[https://imgur.com imgur] にアップロードしたりできるツール。|https://github.com/jomo/imgur-screenshot|{{AUR|imgur-screenshot}}}} |
||
− | * {{App|Lightscreen|退屈なスクリーンショットの保存とカタログ化を自動化するシンプルなツール。表には現れないバックグラウンドプロセスとして動作し、(複数の) ホットキーで呼び出してスクリーンショットファイルをユーザーの設定にあわせてディスクに保存する。|http://lightscreen.com.ar|{{AUR|lightscreen}}}} |
||
− | * {{App| |
+ | * {{App|ksnip|Ksnip は Qt ベースのクロスプラットホームなスクリーンショットツールで、多くの注釈機能、基本的な画像編集、リモート (ftp、imgur、スクリプト) へのアップロード機能を提供します。|https://github.com/ksnip/ksnip|{{Pkg|ksnip}}}} |
− | * {{App| |
+ | * {{App|Lightscreen|スクリーンショットの保存や整理などの面倒な処理を自動化するシンプルなツール。このツールはバックグラウンドプロセスとして動作し、ユーザーの設定に応じて1つ (または複数) のホットキーでスクリーンショットを撮り、ディスクに保存することができます。|https://lightscreen.com.ar|{{AUR|lightscreen}}}} |
− | * {{App| |
+ | * {{App|LXQt Screenshot|LXQt 用のスクリーンショットツール。{{ic|lximage-qt --screenshot}} で実行できます。|https://github.com/lxde/lximage-qt|{{Pkg|lximage-qt}}}} |
− | * {{App| |
+ | * {{App|maim|スクリーンショットを撮るシンプルなコマンドラインユーティリティ。Scrot を置き換えることを目的としており、多くの点で scrot より優れています。|https://github.com/naelstrof/maim|{{Pkg|maim}}}} |
− | * {{App| |
+ | * {{App|MATE Screenshot|MATE デスクトップ用のスクリーンショットツール。|https://mate-desktop.org|{{Pkg|mate-utils}}}} |
+ | * {{App|menyoki|画像編集機能のある、コマンドラインのスクリーンショット及びスクリーンキャストツール。|https://github.com/orhun/menyoki|{{Pkg|menyoki}}}} |
||
− | * {{App|Spectacle|スクリーンショットを撮るための [[KDE]] のアプリケーション。デスクトップ全体、単一のウィンドウ、ウィンドウの一部、四角形またはフリーハンドで指定した領域の画面をキャプチャすることができます。{{Grp|kdegraphics}}{{Broken package link|パッケージが存在しません}} に含まれています。|https://github.com/KDE/spectacle/|{{Pkg|spectacle}}}} |
||
+ | * {{App|mss|最小限の CLI を備えた、[[xrandr]] 互換のスクリーンショット Python モジュール。|https://pypi.org/project/mss/|{{Pkg|python-mss}}}} |
||
− | * {{App|Xfce4 Screenshooter|画面全体、アクティブウィンドウ、または選択領域のキャプチャを行えます。スクリーンショットを撮るまでの待機時間とスクリーンショットを撮った後の動作を設定できます: PNG ファイルに保存、クリップボードにコピー、別のアプリケーションで開く、無料の画像ホスティングサービスである Imgur や ZimageZ にアップロード。{{Grp|xfce4-goodies}} に含まれています。|https://goodies.xfce.org/projects/applications/xfce4-screenshooter|{{Pkg|xfce4-screenshooter}}}} |
||
− | * {{App| |
+ | * {{App|Pantheon Screenshot|Elementary OS のために設計されたスクリーンショットツール。|https://github.com/elementary/screenshot|{{Pkg|pantheon-screenshot}}}} |
+ | * {{App|ScreenCloud|画面全体または選択したエリアのスクリーンショットを撮り、[https://imgur.com imgur]+auth にアップロードできます。プラグインやシステムトレイの機能があります。|https://screencloud.net/|{{AUR|screencloud}}}} |
||
+ | * {{App|ScreenGrab|素早くスクリーンショットを撮るためのクロスプラットホームなアプリケーション (Qt)。|https://github.com/DOOMer/screengrab|{{Pkg|screengrab}}}} |
||
+ | * {{App|[[Wikipedia:Scrot|Scrot]]|X 用のシンプルなスクリーンショットコマンドラインユーティリティ。|https://github.com/resurrecting-open-source-projects/scrot|{{Pkg|scrot}}}} |
||
+ | * {{App|Shotgun|Rust で書かれた最小限の X スクリーンショットユーティリティ。作者によると、maim より2倍高速だそうです。|https://github.com/neXromancers/shotgun|{{Pkg|shotgun}}}} |
||
+ | * {{App|Shutter|リッチなスクリーンショット及び編集プログラム。[https://hyp.is/AVQUNTRUH9ZO4OKSlue9/askubuntu.com/questions/252281/how-do-i-take-screenshots-with-a-delay/260178 撮影を遅らせる機能]があります。|https://shutter-project.org/|{{Pkg|shutter}}}} |
||
+ | * {{App|Spectacle|スクリーンショット/キャストのための [[KDE]] アプリケーション。デスクトップ全体、単一のウィンドウ、ウィンドウの一セクション、選択した矩形領域、及びフリーハンドで選択した領域を撮影することができます。{{Grp|kde-graphics}} グループの一部です。|https://github.com/KDE/spectacle/|{{Pkg|spectacle}}}} |
||
+ | * {{App|Xfce4 Screenshooter|画面全体、アクティブなウィンドウ、選択した領域を撮影できるアプリケーション及び Xfce4 パネルプラグイン。{{Grp|xfce4-goodies}} に含まれています。|https://goodies.xfce.org/projects/applications/xfce4-screenshooter|{{Pkg|xfce4-screenshooter}}}} |
||
+ | * {{App|xwd|X Window System の画像撮影ユーティリティ。|https://www.x.org/|{{Pkg|xorg-xwd}}}} |
||
==== xwd ==== |
==== xwd ==== |
||
− | {{man|1|xwd}} |
+ | {{man|1|xwd}} は {{Pkg|xorg-xwd}} パッケージで提供されています。 |
ルートウィンドウのスクリーンショットを撮るには: |
ルートウィンドウのスクリーンショットを撮るには: |
||
42行目: | 49行目: | ||
$ xwd -root -out screenshot.xwd |
$ xwd -root -out screenshot.xwd |
||
− | {{Tip|スクリーンショットを撮る前に |
+ | {{Tip|スクリーンショットを撮る前に時間を置くには、{{ic|sleep}} コマンドを使うことができます。例: {{ic|sleep 5; xwd ...}}。}} |
==== scrot ==== |
==== scrot ==== |
||
− | {{Pkg|scrot}} |
+ | {{Pkg|scrot}} は、CLI からスクリーンショットを撮ることができ、撮影の遅延などの機能があります。デフォルトでは、カレントディレクトリにスクリーンショットを保存します。 |
$ scrot -t 20 -d 5 |
$ scrot -t 20 -d 5 |
||
− | 上記のコマンドは、 |
+ | 上記のコマンドは、ウェブ投稿用にサムネイル付き (元画像の20%) の日付のつけられた ''.png'' ファイルに保存します。この例では、5秒経ってから撮影します。 |
− | ファイル |
+ | ファイルへの保存時に標準的な日付と時間の形式を使うこともできます。例: |
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png |
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png |
||
− | + | このコマンドは、ファイル名に現在の年、月、日、時、分、そして秒を付け、ホームディレクトリ内の "screenshots" という名前のフォルダ内にスクリーンショットを保存します。 |
|
− | 詳細 |
+ | 詳細は {{man|1|scrot}} を参照してください。 |
− | {{Note|一部のウィンドウ |
+ | {{Note|一部のウィンドウマネージャ ({{AUR|dwm}}、{{Pkg|xmonad}}、その他も該当する可能性あり) では、ウィンドウマネージャのキーボードショートカットから {{ic|scrot -s}} を実行しても正しく機能しません。この問題は、scrot の実行を少し遅らせることで回避できます: {{ic|sleep 0.2; scrot -s}}。}} |
==== escrotum ==== |
==== escrotum ==== |
||
− | {{AUR|escrotum-git}} |
+ | {{AUR|escrotum-git}} は PyGTK を使用するスクリーンキャプチャツールで、scrot からインスパイアされています。 |
− | ウィンドウを |
+ | このツールは、scrot が領域選択モードの際にリフレッシュしているウィンドウをキャプチャしようとすると問題が発生するため、開発されました。 |
− | コマンドラインインターフェイスは scrot とほぼ同じ |
+ | コマンドラインインターフェイスは scrot のものとほぼ同じであるため、scort の置き換えとして利用できます。 |
==== maim ==== |
==== maim ==== |
||
− | {{Pkg|maim}} は |
+ | {{Pkg|maim}} は scrot の改良版となることを目指しています。 |
− | 全画面をファイルに保存 |
+ | 全画面をキャプチャしてファイルに保存するには: |
$ maim ''filename'' |
$ maim ''filename'' |
||
− | 選択を |
+ | 領域選択の UI を表示して、ファイルに保存するには: |
$ maim --select ''filename'' |
$ maim --select ''filename'' |
||
− | {{Pkg|xdotool}} がインストールされていると仮定 |
+ | アクティブなウィンドウをファイルに保存するには ({{Pkg|xdotool}} がインストールされていると仮定します): |
$ maim --window $(xdotool getactivewindow) ''filename'' |
$ maim --window $(xdotool getactivewindow) ''filename'' |
||
− | {{Pkg|xclip}} がインストールされていると仮定 |
+ | 領域選択の UI を表示し、カーソルを除いて撮影し、クリップボードに保存するには ({{Pkg|xclip}} がインストールされていると仮定します): |
$ maim -s | xclip -selection clipboard -t image/png -i |
$ maim -s | xclip -selection clipboard -t image/png -i |
||
− | === デスクトップ環境 |
+ | === デスクトップ環境固有 === |
==== Spectacle ==== |
==== Spectacle ==== |
||
− | [[KDE]] を使っている場合、{{ic|Spectacle}} を使用すると良い |
+ | [[KDE]] を使っている場合、{{ic|Spectacle}} を使用すると良いかもしれません。 |
− | Spectacle は {{Pkg|spectacle}} |
+ | Spectacle は {{Pkg|spectacle}} パッケージで提供されています。 |
==== Xfce Screenshooter ==== |
==== Xfce Screenshooter ==== |
||
108行目: | 115行目: | ||
==== GNOME ==== |
==== GNOME ==== |
||
− | [[GNOME]] ユーザーは {{ic| |
+ | [[GNOME]] ユーザーは {{ic|PrintScreen}} を押すか、システムメニューのカメラアイコンをクリックすることで、スクリーンショットを撮ることができます。任意で、{{Pkg|gnome-screenshot}} をインストールすれば、''Apps > Accessories > Take Screenshot'' からスクリーンショットツールを開くことができます。 |
+ | |||
+ | GNOME には、{{ic|Ctrl+Shift+Alt+r}} を押すことで使用できる内臓のスクリーン録画ツールがあります。録画中は、画面右下の角に赤い丸が表示されます。録画が終わると、{{ic|Screencast from %d%u-%c.webm}} という名前のファイルが {{ic|Videos}} ディレクトリ内に作成されます。スクリーンキャスト機能を使用するには、{{Pkg|gst-plugin-pipewire}} パッケージと {{Pkg|gst-plugins-good}} パッケージをインストールする必要があります。 |
||
==== Cinnamon ==== |
==== Cinnamon ==== |
||
− | [[Cinnamon]] は |
+ | デフォルトの [[Cinnamon]] 環境では、スクリーンショットユーティリティが提供されていません。{{Pkg|gnome-screenshot}} をインストールすることで、''Menu > Accessories > Screenshot'' から、または {{ic|PrintScreen}} を押してスクリーンショットを撮ることができるようになります。 |
==== 他のデスクトップ環境やウィンドウマネージャ ==== |
==== 他のデスクトップ環境やウィンドウマネージャ ==== |
||
− | [[LXDE]] などのデスクトップ環境や |
+ | [[LXDE]] などの他のデスクトップ環境や、[[Openbox]] や [[Compiz]] といったウィンドウマネージャでは、先に挙げたコマンドをスクリーンショットを撮るホットキーに追加することができます。例えば: |
+ | |||
$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png |
$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png |
||
− | 上のコマンドを {{ic|Prnt Scr}} キーに追加すれば Compiz でスクリーンショットを取得して Pictures フォルダに日付を付けて保存できます。Openbox の {{ic|rc.xml}} ファイルではコンマを使えないので、Openbox でこのコマンドを {{ic|Prnt Scr}} キーに指定するには、{{ic|rc.xml}} ファイルのキーボードセクションに以下を追加する必要があります: |
||
+ | {{ic|import}} は {{Pkg|imagemagick}} パッケージに含まれています。Compiz で上記のコマンドを {{ic|PrintScreen}} キーにに割り当てれば、日付と時間を含むファイル名でスクリーンショットを Pictures フォルダに保存することができます。 |
||
− | {{hc|rc.xml|<nowiki> |
||
+ | Openbox の {{ic|rc.xml}} ファイルではコンマは認識されないことに注意してください。なので、Openbox で {{ic|PrintScreen}} キーに先のコマンドをバインドするには、以下の記述を {{ic|rc.xml}} ファイルの keyboard セクションに追加する必要があります: |
||
− | <!-- 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> |
||
− | </nowiki>}} |
||
− | |||
− | 上記の {{ic|Print}} が動作しない場合、[[特別なキーボードキー]]をみて、別の''キーシム''や''キーコード''を使って下さい。 |
||
− | [[LXDE]] などのデスクトップ環境や [[Openbox]] や [[Compiz]] などのウィンドウマネージャの場合、上述のコマンドをホットキーに追加してスクリーンショットを撮影することができます。例えば: |
||
− | $ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png |
||
− | 上のコマンドを {{ic|Prnt Scr}} キーに追加すれば Compiz でスクリーンショットを取得して Pictures フォルダに日付を付けて保存できます。Openbox の {{ic|rc.xml}} ファイルではコンマを使えないので、Openbox でこのコマンドを {{ic|Prnt Scr}} キーに指定するには、{{ic|rc.xml}} ファイルのキーボードセクションに以下を追加する必要があります: |
||
{{hc|rc.xml|<nowiki> |
{{hc|rc.xml|<nowiki> |
||
143行目: | 141行目: | ||
</nowiki>}} |
</nowiki>}} |
||
− | + | {{ic|Print}} でバインドできない場合は、[[キーボード入力]] の記事を参照し、他の ''keysym'' または ''keycode'' を使ってください。 |
|
=== スクリーンショットユーティリティが含まれているパッケージ === |
=== スクリーンショットユーティリティが含まれているパッケージ === |
||
149行目: | 147行目: | ||
==== ImageMagick/GraphicsMagick ==== |
==== ImageMagick/GraphicsMagick ==== |
||
− | + | [[ImageMagick#スクリーンショットの取得]] を参照。 |
|
==== GIMP ==== |
==== GIMP ==== |
||
− | GIMP を使ってスクリーンショットを取得することもできます (''File > Create > Screenshot''...)。 |
+ | [[GIMP]] を使ってスクリーンショットを取得することもできます (''File > Create > Screenshot''...)。 |
==== imlib2 ==== |
==== imlib2 ==== |
||
− | {{Pkg|imlib2}} にはスクリーンショットを取得するためのバイナリ {{ic|imlib2_grab}} が含まれています。フルスクリーンのスクリーンショットを |
+ | {{Pkg|imlib2}} にはスクリーンショットを取得するためのバイナリ {{ic|imlib2_grab}} が含まれています。フルスクリーンのスクリーンショットを撮るには: |
$ imlib2_grab screenshot.png |
$ imlib2_grab screenshot.png |
||
163行目: | 161行目: | ||
==== FFmpeg ==== |
==== FFmpeg ==== |
||
− | [[FFmpeg#スクリーンキャプチャ]]を参照。 |
+ | [[FFmpeg#スクリーンキャプチャ]] を参照。 |
+ | == スクリーンキャストソフトウェア == |
||
− | == 一般的な方法 == |
||
− | |||
− | === ImageMagick/GraphicsMagick === |
||
− | |||
− | {{ic|import}} コマンドを使うことで現在のシステムのスクリーンショットを簡単に取得できます: |
||
− | $ import -window root screenshot.jpg |
||
− | |||
− | {{ic|import}} は {{Pkg|imagemagick}} パッケージに入っています。 |
||
− | |||
− | {{ic|-window}} オプションを付けずに {{ic|import}} を実行するとウィンドウや任意の領域をインタラクティブに選択することが可能です。 |
||
− | |||
− | {{Note|'''graphicsmagick''' を使いたい場合は、"gm" を前に付けて下さい、例: {{ic|$ gm import -window root screenshot.jpg}}。}} |
||
− | |||
− | ==== 複数の X 画面のスクリーンショット ==== |
||
− | |||
− | twinview または dualhead で使っている場合、2回スクリーンショットを取得して {{Ic|imagemagick}} を使って貼り付けます: |
||
− | {{bc| |
||
− | 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 サーバーから取り出せていれば、以下のスクリプトが動作します: |
||
− | {{bc|<nowiki> |
||
− | #!/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 |
||
− | </nowiki>}} |
||
− | |||
− | ==== アクティブなウィンドウ/フォーカスしたウィンドウのスクリーンショット ==== |
||
− | |||
− | 以下のスクリプトは現在フォーカスされているウィンドウのスクリーンショットを取得します。EWMH/NetWM 準拠の X ウィンドウマネージャで動作します。スクリーンショットを上書きしないように、ファイル名に取得時刻を使っています。 |
||
− | {{bc|<nowiki> |
||
− | #!/bin/sh |
||
− | activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)") |
||
− | activeWinId=${activeWinLine:40} |
||
− | import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png |
||
− | </nowiki>}} |
||
− | |||
− | もしくは、次のコマンドは EWMH をサポートしているかどうかに関わらず動作します: |
||
− | $ import -window "$(xdotool getwindowfocus -f)" /tmp/$(date +%F_%H%M%S_%N).png |
||
− | |||
− | {{Note|(dwb や zathura) プログラムのスクリーンショットが空になる場合は、{{ic|xdotool}} コマンドに {{ic|-frame}} を付けたり {{ic|-f}} を削除してみてください。}} |
||
− | |||
− | === xwd === |
||
− | |||
− | ルートウィンドウのスクリーンショットを取得: |
||
− | $ xwd -root -out screenshot.xwd |
||
− | |||
− | {{Note|{{ic|import}} でアクティブウィンドウのスクリーンショットを取得する方法でも {{ic|xwd}} を使うことができます。}} |
||
− | |||
− | === scrot === |
||
− | |||
− | {{Pkg|scrot}} を使えば CLI からスクリーンショットを撮ることができ、シャッターを押すまでの待機時間をユーザーが定義できるなどの機能があります。特に指定がなければ、カレントディレクトリにファイルが保存されます。 |
||
− | $ scrot -t 20 -d 5 |
||
− | |||
− | 上記のコマンドは日付が入った {{ic|.png}} ファイルが作成され、ウェブ投稿用にサムネイルも作られます (元の画像の 20%)。上の例ではキャプチャするまで5秒間待ちます。 |
||
− | |||
− | ファイルに保存するときに標準的な日付のフォーマットを使うこともできます、例えば: |
||
− | $ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png |
||
− | |||
− | このコマンドではホームディレクトリの "screenshots" という名前のフォルダに、現在の年・月・日・時間・分・秒がファイル名のスクリーンショットが保存されます。 |
||
− | |||
− | 詳しくは {{man|1|scrot}} を見て下さい。[https://github.com/kaihendry/Kai-s--HOME/tree/master/bin] のようにファイルのアップロードを自動化することもできます。 |
||
− | |||
− | {{Note|一部のウィンドウマネージャでは ([[dwm]] や [[xmonad]] など)、{{ic|scrot -s}} がウィンドウマネージャのキーボードショートカットで正しく動作しないことがあります。scrot を実行する前に短いポーズを挟むことで問題を解決できます: {{ic|sleep 0.2; scrot -s}}。}} |
||
− | |||
− | === escrotum === |
||
− | |||
− | {{AUR|escrotum-git}} は pygtk を使って画面をキャプチャします。scrot にインスパイアされています。 |
||
− | |||
− | 選択モードを使った時に scrot ではウィンドウのリフレッシュでバグが発生するので開発されました。 |
||
− | |||
− | コマンドラインインターフェースは scrot とほぼ同じなので、そのまま同じように使うことができます。 |
||
− | |||
− | === maim === |
||
− | |||
− | {{Pkg|maim}} は scrot の向上版を目指しています。 |
||
− | |||
− | scrot の欠点を補っており [https://github.com/naelstrof/slop slop] で領域のスクリーンショットを取得します。 |
||
− | |||
− | === FFmpeg === |
||
− | |||
− | [[FFmpeg]] は X11 のスクリーンをキャプチャできる x11grab デバイスを提供しています。 |
||
− | |||
− | ディスプレイの''横幅''x''高さ''を指定してスクリーンショットを取得: |
||
− | |||
− | $ ffmpeg -f x11grab -video_size ''width''x''height'' -i $DISPLAY -vframes 1 screen.png |
||
− | |||
− | 上記のコマンドでは PNG コーデック (ロスレスでスクリーンショットに向いている) を使っていますが、他の画像コーデックも使うことができます。 |
||
− | |||
− | 同じデバイスを使ってスクリーンキャストも可能です (ディスプレイのリフレッシュレートを ''rate'' HZ で指定): |
||
− | |||
− | $ ffmpeg -f x11grab -video_size ''width''x''height'' -framerate ''rate'' -i $DISPLAY -c:v libx264 -preset ultrafast cast.mkv |
||
− | |||
− | 上記のコマンドでは、エンコード速度が一番高速な x264 コーデックを使っていますが、他のコーデックも使えます。ただし (ディスクのパフォーマンスが足りなかったりエンコードが遅かったりして) フレームの書き込みが遅すぎると、フレームが抜け落ちて出力された動画は飛び飛びになります。 |
||
− | |||
− | === Weston === |
||
− | |||
− | Wayland のコンポジットマネージャである [[Weston]] では、{{ic|Super+s}} を押すことでスクリーンショットを撮影することができ、Weston の現在の作業ディレクトリに保存されます。スクリーンキャストもサポートされています。録画の開始と停止は {{ic|Super+r}} を押すことで行われ、Weston の現在の作業ディレクトリに {{ic|capture.wcap}} という名前のファイルが作成されます。{{ic|wcap-decode --yuv4mpeg2 capture.wcap}} を実行することでキャプチャを YUV フォーマットにデコードできます。このコマンドの出力をファイルに書き込んだり、FFmpeg にパイプして更に処理を加えることもできます。 |
||
− | |||
− | == スクリーンキャスト ソフトウェア == |
||
[[FFmpeg#スクリーンキャプチャ]] と [[Wikipedia:Comparison of screencasting software]] も参照してください。 |
[[FFmpeg#スクリーンキャプチャ]] と [[Wikipedia:Comparison of screencasting software]] も参照してください。 |
||
277行目: | 169行目: | ||
スクリーンキャストユーティリティは、デスクトップや個々のウィンドウのビデオを作成することができます。 |
スクリーンキャストユーティリティは、デスクトップや個々のウィンドウのビデオを作成することができます。 |
||
− | * {{App|Byzanz|GIF アニメーションを作成するシンプルなスクリーンキャストツール。|https://gitlab.gnome.org/Archive/byzanz|{{Pkg|byzanz}}}} |
+ | * {{App|Byzanz|GIF アニメーションを作成するシンプルなスクリーンキャスト CLI ツール。|https://gitlab.gnome.org/Archive/byzanz|{{Pkg|byzanz}}}} |
− | * {{App|Deepin Screen Recorder|Deepin デスクトップ用の |
+ | * {{App|Deepin Screen Recorder|Deepin デスクトップ用の画面録画アプリケーション。|https://www.deepin.org/en/original/deepin-screen-recorder/|{{Pkg|deepin-screen-recorder}}}} |
* {{App|FFcast|Bash で書かれた FFmpeg ベースのスクリーンキャストツール。|https://github.com/lolilolicon/FFcast|{{AUR|ffcast}}}} |
* {{App|FFcast|Bash で書かれた FFmpeg ベースのスクリーンキャストツール。|https://github.com/lolilolicon/FFcast|{{AUR|ffcast}}}} |
||
− | * {{App| |
+ | * {{App|GPU Screen Recorder|パフォーマンスを大幅に向上させるために GPU で画面を録画するスクリーンレコーダー。そのパフォーマンスは Nvidia ShadowPlay に匹敵します。ライブストリーミングや再生バッファもサポートしています。|https://git.dec05eba.com/gpu-screen-recorder-gtk/about/|{{AUR|gpu-screen-recorder-gtk-git}}}} |
* {{App|Green Recorder|Linux システム用のシンプルかつ機能的なデスクトップレコーダー。|https://github.com/dvershinin/green-recorder|{{AUR|green-recorder}}}} |
* {{App|Green Recorder|Linux システム用のシンプルかつ機能的なデスクトップレコーダー。|https://github.com/dvershinin/green-recorder|{{AUR|green-recorder}}}} |
||
− | * {{App|Kazam|デザインを念頭に置いたスクリーンキャストプログラム。マルチスクリーン |
+ | * {{App|Kazam|デザイン性を念頭に置いたスクリーンキャストプログラム。マルチスクリーンの環境でも使えます。|https://launchpad.net/kazam|{{AUR|kazam}}}} |
− | * {{App|Kooha|最小限の GTK インターフェ |
+ | * {{App|Kooha|最小限の GTK インターフェイスを備えたシンプルなスクリーンレコーダー。|https://github.com/SeaDve/Kooha|{{Pkg|kooha}}}} |
− | * {{App|menyoki|コマンドラインでスクリーンショット |
+ | * {{App|menyoki|コマンドライン上でスクリーンショット/キャストを撮り、ImageOps を実行します。X11 のみですが、Wayland のサポートも計画されています。|https://github.com/orhun/menyoki|{{Pkg|menyoki}}}} |
− | * {{App|[[Open Broadcaster Software]]| |
+ | * {{App|[[Open Broadcaster Software]]|録画及びライブストリーミングのためのアプリケーション。|https://obsproject.com/|{{Pkg|obs-studio}}}} |
− | :* {{AUR|obs-gnome-screencast}} – GNOME |
+ | :* {{AUR|obs-gnome-screencast}} – GNOME screencast 機能のためのプラグイン。Wayland をサポートしています。 |
− | * {{App|[[Wikipedia:Peek_(software)|Peek]]|GIF、APNG、WebM、 |
+ | * {{App|[[Wikipedia:Peek_(software)|Peek]]|GIF、APNG、WebM、MP4 のアニメーションを作成できるシンプルなスクリーンキャストツール。もはや開発されていません (2023年1月現在)。|https://github.com/phw/peek|{{Pkg|peek}}}} |
− | * {{App|RecApp|GTK で書かれたユーザーフレンドリーなスクリーンキャス |
+ | * {{App|RecApp|GTK で書かれたユーザーフレンドリーなスクリーンキャストツール。フリーな GStreamer モジュールを使用しており、FFmpeg には依存していません。もはや開発されていません。|https://github.com/amikha1lov/RecApp|{{AUR|recapp}}}} |
− | * {{App|RecordItNow|KDE 4 |
+ | * {{App|RecordItNow|KDE 4 のためのプラグインベースのデスクトップレコーダー。|http://recorditnow.sourceforge.net/|{{AUR|recorditnow}}{{Broken package link|package not found}}}} |
− | * {{App|[[RecordMyDesktop]]| |
+ | * {{App|[[RecordMyDesktop]]|デスクトップを録画して ogg 形式に落とす、簡単に使えるユーティリティ。CLI、GTK、Qt のインターフェイスを利用可能。(開発は活発ではありません)|https://recordmydesktop.sourceforge.net/|CLI: {{Pkg|recordmydesktop}}、GTK: {{AUR|gtk-recordmydesktop}}、Qt: {{AUR|qt-recordmydesktop}}{{Broken package link|package not found}}}} |
− | * {{App|screencast|FFmpeg |
+ | * {{App|screencast|FFmpeg で X11 デスクトップを録画するコマンドラインインターフェイス。オフライン録画とライブストリーミングの両方をサポートしています。|https://github.com/dbermond/screencast/|{{AUR|screencast}}}} |
− | * {{App|Screencast| |
+ | * {{App|Screencast|''Elementary OS'' 用に設計されたシンプルなスクリーンキャストレコーダー。|https://github.com/artemanufrij/screencast|{{AUR|pantheon-screencast}}}} |
− | * {{App|[[Wikipedia:SimpleScreenRecorder|SimpleScreenRecorder]]| |
+ | * {{App|[[Wikipedia:SimpleScreenRecorder|SimpleScreenRecorder]]|C++/Qt5 で書かれた、機能が豊富な画面録画ツール。X11 と OpenGL をサポートしています。|https://www.maartenbaert.be/simplescreenrecorder/|{{AUR|simplescreenrecorder}}}} |
− | * {{App|Spectacle|スクリーン |
+ | * {{App|Spectacle|スクリーンショット/キャストのための [[KDE]] アプリケーション。Wayland でのデスクトップ全体や単一画面、単一ウィンドウの (無音声) 録画をサポートしています。{{Grp|kde-graphics}} グループの一部です。Kwin が有効化されている状態でのみ動作するため、他のウィンドウマネージャでは使用できません。|https://invent.kde.org/graphics/spectacle|{{Pkg|spectacle}}}} |
− | * {{App|VokoScreen|GStreamer を使用 |
+ | * {{App|VokoScreen|GStreamer を使用する強力な GUI スクリーンキャストツール。数々のコーデックをサポートし、内外 (マイクロカメラとウェブカメラ) 及び画面/ウィンドウ/ビューソースの音声付きの録画、ズーム、マウス領域とボタンのハイライトが可能です。ただし、Wayland サポートは限られています。|https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html|{{Pkg|vokoscreen}}}} |
− | * {{App|Wayfarer| |
+ | * {{App|Wayfarer|Xorg 及び Pipewire が動作している Wayland 用の GTK4 スクリーンレコーダー。|https://github.com/stronnag/wayfarer|{{AUR|wayfarer}}}} |
− | * {{App|[[Wikipedia:XVidCap|XVidCap]]| |
+ | * {{App|[[Wikipedia:XVidCap|XVidCap]]|音声ナレーション付きでスクリーンキャストや X Window System の画面出力を録画できるアプリケーション。|http://xvidcap.sourceforge.net/|{{AUR|xvidcap}}{{Broken package link|package not found}}}} |
== Wayland == |
== Wayland == |
||
− | Wlroots ベースのコンポジタでは、{{Pkg|grim}} や {{AUR|grimshot}} ({{Pkg|sway}} パッケージも {{ic|/usr/share/sway/ |
+ | Wlroots ベースのコンポジタでは、{{Pkg|grim}} や {{AUR|grimshot}} ({{Pkg|sway-contrib}} パッケージも {{ic|/usr/share/sway-contrib/grimshot}} で ''grimshot'' を提供しています) でスクリーンショットを撮ることができます。動画は、{{Pkg|wf-recorder}} (または {{AUR|wf-recorder-git}}) で撮ることができます。さらに、{{AUR|wlrobs-hg}} は、wlroot ベースのコンポジタでのスクリーンキャプチャーを可能にする {{Pkg|obs-studio}}プラグインです。また任意で、キャプチャする画面領域を選択するために {{Pkg|slurp}} を使用できます。GPU が [[VA-API]] エンコードをサポートしている場合、{{Pkg|wf-recorder}} の代わりに {{AUR|wl-screenrec-git}} を使えば、より高速に動作する可能性があります。 |
画面全体のスクリーンショットを撮る: |
画面全体のスクリーンショットを撮る: |
||
353行目: | 245行目: | ||
{{Tip| |
{{Tip| |
||
− | * この方法は、{{AUR|zoom}} デスクトップクライアントを {{Pkg|xorg-xwayland}} で動作させたケースと、[https://bigbluebutton.org/ BigBlueButton] を {{Pkg|chromium}} 内で動作させたケース ({{Pkg|firefox}} では解像度が低い) でテストされました。{{AUR|skypeforlinux |
+ | * この方法は、{{AUR|zoom}} デスクトップクライアントを {{Pkg|xorg-xwayland}} で動作させたケースと、[https://bigbluebutton.org/ BigBlueButton] を {{Pkg|chromium}} 内で動作させたケース ({{Pkg|firefox}} では解像度が低い) でテストされました。{{AUR|skypeforlinux-bin}} は、仮想ビデオデバイス {{ic|VirtualVideoDevice}} を検出しますが、空の画面しか出力しません。 |
* この例では {{ic|wf-recorder}} を使用していますが、その他のソフトウェアも使用できます。単に出力を仮想デバイスに流すだけです。 |
* この例では {{ic|wf-recorder}} を使用していますが、その他のソフトウェアも使用できます。単に出力を仮想デバイスに流すだけです。 |
||
}} |
}} |
||
407行目: | 299行目: | ||
Chromium と Firefox は画面共有にアクセスできるはずです。[https://mozilla.github.io/webrtc-landing/gum_test.html Mozilla の getUserMedia / getDisplayMedia テストページ]でテストできます。 |
Chromium と Firefox は画面共有にアクセスできるはずです。[https://mozilla.github.io/webrtc-landing/gum_test.html Mozilla の getUserMedia / getDisplayMedia テストページ]でテストできます。 |
||
+ | |||
+ | === X11 アプリケーションで Wayland ウィンドウをスクリーンキャストする === |
||
+ | |||
+ | ネイティブな Wayland ウィンドウ (あるいはスクリーン/ワークスペース全体) は X11 アプリケーションに共有することができます。そのためには {{Pkg|xwaylandvideobridge}} アプリケーションを使う必要があります。詳細は [http://blog.davidedmundson.co.uk/blog/xwaylandvideobridge/ Fixing Wayland: Xwayland screen casting] を見てください。 |
||
== ターミナル == |
== ターミナル == |
||
− | === |
+ | === ANSI コードでキャプチャする === |
− | {{Pkg|util-linux}} パッケージに含まれている、{{ |
+ | {{Pkg|util-linux}} パッケージに含まれている、{{man|1|script}} コマンドを使うことができます。{{ic|script}} を実行すればその瞬間から、全ての出力は (ANSI コードを含めて) {{ic|typescript}} ファイルに保存されるようになります。 |
− | 終わったら、{{ic|exit}} と入力するだけで {{ic|typescript}} が作成されます。作成されたファイルは |
+ | 終わったら、{{ic|exit}} と入力するだけで {{ic|typescript}} が作成されます。作成されたファイルは {{AUR|ansi2html}} パッケージを使って HTML に変換できます ({{Pkg|python-ansi2html}} の ansi2html と混同しないように)。 |
{{ic|typescript}} ファイルを {{ic|typescript.html}} に変換するには、次を実行: |
{{ic|typescript}} ファイルを {{ic|typescript.html}} に変換するには、次を実行: |
||
424行目: | 320行目: | ||
$ ls --color|ansi2html --bg=dark >output.html |
$ ls --color|ansi2html --bg=dark >output.html |
||
− | どんなコマンドでも使えるというわけではないので、その場合は、{{ic|script}} を使う必要があります。 |
+ | これはどんなコマンドでも使えるというわけではないので、その場合は、{{ic|script}} を使う必要があります。 |
=== フレームバッファ === |
=== フレームバッファ === |
||
− | [[フレームバッファ]]をインストールして、{{Pkg|fbgrab}} か {{ |
+ | 何かしらの[[フレームバッファ]]をインストールして、{{Pkg|fbgrab}} か {{AUR|fbdump}} を使用してスクリーンショットを撮ることができます。 |
=== 仮想コンソール === |
=== 仮想コンソール === |
||
+ | ==== スクリーンショット ==== |
||
− | [[Uvesafb]] をインストールして {{Pkg|fbgrab}} または {{Pkg|fbdump}} を使ってスクリーンショットを取得してください。 |
||
+ | |||
+ | 単にコンソールの文章を取得したいだけで実際の画像は要らない場合、{{Pkg|util-linux}} パッケージに含まれている {{ic|setterm}} を使うことができます。以下のコマンドは仮想コンソール 1 のテキストをカレントディレクトリの {{ic|screen.dump}} ファイルに保存します: |
||
− | 単にコンソールの文章を取得したいだけで画像は要らない場合、{{Pkg|util-linux}} パッケージに含まれている {{ic|setterm}} を使うことができます。以下のコマンドは仮想コンソール 1 のテキストをカレントディレクトリの screen.dump ファイルに保存します: |
||
# setterm -dump 1 -file screen.dump |
# setterm -dump 1 -file screen.dump |
||
{{ic|/dev/vcs1}} の中身を読まないといけないので root 権限が必要です。 |
{{ic|/dev/vcs1}} の中身を読まないといけないので root 権限が必要です。 |
||
+ | |||
+ | ==== コンソールのスクリーンキャスト ==== |
||
+ | |||
+ | {{Pkg|asciinema}} は、ターミナルセッションのアクティビティ全体を録画することができます。結果は、asciinema 独自の (オープンな) 形式でファイルに保存されます。このファイルは同ツールまたはツールの HTML5 バージョンで再生でき、このツールの公式ウェブサイト asciinema.org で共有することができますし、あるいは HTML バージョンを自身でホストして共有することもできます。 |
||
+ | |||
+ | 使用方法は {{man|1|asciinema}} や {{ic|asciinema --help}} で確認できます。 |
||
+ | |||
+ | * {{ic|asciinema rec ''output.cast''}} はセッションを録画し、{{ic|Ctrl+\}} でポーズ/再開、{{ic|Ctrl-d}}/またはセッションを終了することで録画を停止できます。出力ファイル名は省略可能です。 |
||
+ | |||
+ | 録画に関する有用な引数: |
||
+ | |||
+ | * {{ic|-c ''command''}}: 特定のコマンドのアクション/出力だけを録画したい場合 |
||
+ | * {{ic|-i 1.2}}: 1.2 秒だけ録画 |
||
+ | * {{ic|-t "''beautiful title''"}}: ターミナルキャストにタイトルを追加 |
||
+ | |||
+ | 録画以外の機能: |
||
+ | |||
+ | * {{ic|asciinema play ''file.cast''}}: asciinmea ファイルを再生 |
||
+ | * {{ic|asciinema upload ''file.cast''}}: ファイルを asciinema.org にアップロードして共有 |
||
+ | * {{ic|asciinema auth}}: asciinema.org アカウント上の録画ファイルを管理 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === スクリーンショットで古い画面の状態が使われる === |
||
+ | |||
+ | [[KDE#Spectacle のスクリーンショットでスクリーンの古い状態が使われてしまう]] を参照。 |
||
+ | |||
+ | {{TranslationStatus|Screen capture|2024-04-18|805694}} |
2024年4月18日 (木) 19:23時点における版
関連記事
この記事では、スクリーンショットとスクリーンキャストのソフトウェアを一覧にして解説しています。
スクリーンショットソフトウェア
専用のソフトウェア
- CoreShot — X11 用のシンプルで軽量なスクリーンキャプチャユーティリティ。C-Suite の一部。
- Deepin Screenshot — とても使いやすいスクリーンショットツール。現在は非推奨となっており、Deepin Screen Recorder にマージされています。クリップボード機能に関する既知の問題は deepin-screenshot-copy-patchAUR でパッチが適用されます。
- Escrotum — Python と GTK3 が使用されているスクリーンキャプチャツール。scrot からインスパイアされています。
- Flameshot — インタラクティブにスクリーンショットを撮ることができる Qt5 ベースのソフトウェア。撮りたい領域を選択して、様々なツールで落書きしたりカスタマイズする機能があります。
- GNOME Screenshot — GNOME デスクトップ用のスクリーンショットツール。
- grim — Wayland コンポジタでスクリーンショットを撮ります。
- gscreenshot — シンプルな GTK スクリーンショットユーティリティ。遅延撮影、領域選択、クリップボードへのコピーといった機能があります。
- HotShots — 画面をキャプチャし、様々な画像フォーマットに保存するだけでなく、注釈やグラフィカルなデータ (矢印、線、テキストなど) を加えることのできるアプリケーション。
- imgur-screenshot — 選択した領域のスクリーンショットを撮り、imgur にアップロードしたりできるツール。
- ksnip — Ksnip は Qt ベースのクロスプラットホームなスクリーンショットツールで、多くの注釈機能、基本的な画像編集、リモート (ftp、imgur、スクリプト) へのアップロード機能を提供します。
- Lightscreen — スクリーンショットの保存や整理などの面倒な処理を自動化するシンプルなツール。このツールはバックグラウンドプロセスとして動作し、ユーザーの設定に応じて1つ (または複数) のホットキーでスクリーンショットを撮り、ディスクに保存することができます。
- LXQt Screenshot — LXQt 用のスクリーンショットツール。
lximage-qt --screenshot
で実行できます。
- maim — スクリーンショットを撮るシンプルなコマンドラインユーティリティ。Scrot を置き換えることを目的としており、多くの点で scrot より優れています。
- MATE Screenshot — MATE デスクトップ用のスクリーンショットツール。
- menyoki — 画像編集機能のある、コマンドラインのスクリーンショット及びスクリーンキャストツール。
- mss — 最小限の CLI を備えた、xrandr 互換のスクリーンショット Python モジュール。
- Pantheon Screenshot — Elementary OS のために設計されたスクリーンショットツール。
- ScreenCloud — 画面全体または選択したエリアのスクリーンショットを撮り、imgur+auth にアップロードできます。プラグインやシステムトレイの機能があります。
- ScreenGrab — 素早くスクリーンショットを撮るためのクロスプラットホームなアプリケーション (Qt)。
- Scrot — X 用のシンプルなスクリーンショットコマンドラインユーティリティ。
- Shotgun — Rust で書かれた最小限の X スクリーンショットユーティリティ。作者によると、maim より2倍高速だそうです。
- Shutter — リッチなスクリーンショット及び編集プログラム。撮影を遅らせる機能があります。
- Spectacle — スクリーンショット/キャストのための KDE アプリケーション。デスクトップ全体、単一のウィンドウ、ウィンドウの一セクション、選択した矩形領域、及びフリーハンドで選択した領域を撮影することができます。kde-graphics グループの一部です。
- Xfce4 Screenshooter — 画面全体、アクティブなウィンドウ、選択した領域を撮影できるアプリケーション及び Xfce4 パネルプラグイン。xfce4-goodies に含まれています。
- xwd — X Window System の画像撮影ユーティリティ。
xwd
xwd(1) は xorg-xwd パッケージで提供されています。
ルートウィンドウのスクリーンショットを撮るには:
$ xwd -root -out screenshot.xwd
scrot
scrot は、CLI からスクリーンショットを撮ることができ、撮影の遅延などの機能があります。デフォルトでは、カレントディレクトリにスクリーンショットを保存します。
$ scrot -t 20 -d 5
上記のコマンドは、ウェブ投稿用にサムネイル付き (元画像の20%) の日付のつけられた .png ファイルに保存します。この例では、5秒経ってから撮影します。
ファイルへの保存時に標準的な日付と時間の形式を使うこともできます。例:
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png
このコマンドは、ファイル名に現在の年、月、日、時、分、そして秒を付け、ホームディレクトリ内の "screenshots" という名前のフォルダ内にスクリーンショットを保存します。
詳細は scrot(1) を参照してください。
escrotum
escrotum-gitAUR は PyGTK を使用するスクリーンキャプチャツールで、scrot からインスパイアされています。
このツールは、scrot が領域選択モードの際にリフレッシュしているウィンドウをキャプチャしようとすると問題が発生するため、開発されました。
コマンドラインインターフェイスは scrot のものとほぼ同じであるため、scort の置き換えとして利用できます。
maim
maim は scrot の改良版となることを目指しています。
全画面をキャプチャしてファイルに保存するには:
$ maim filename
領域選択の UI を表示して、ファイルに保存するには:
$ maim --select filename
アクティブなウィンドウをファイルに保存するには (xdotool がインストールされていると仮定します):
$ maim --window $(xdotool getactivewindow) filename
領域選択の UI を表示し、カーソルを除いて撮影し、クリップボードに保存するには (xclip がインストールされていると仮定します):
$ maim -s | xclip -selection clipboard -t image/png -i
デスクトップ環境固有
Spectacle
KDE を使っている場合、Spectacle
を使用すると良いかもしれません。
Spectacle は spectacle パッケージで提供されています。
Xfce Screenshooter
Xfce を使っている場合 xfce4-screenshooter をインストールしてキーボードバインディングを追加することができます:
Xfce Menu > Settings > Keyboard > Application Shortcuts
Screenshot プロンプトをスキップしたい場合は、オプションのターミナルに $ xfce4-screenshooter -h
と入力してください。
GNOME
GNOME ユーザーは PrintScreen
を押すか、システムメニューのカメラアイコンをクリックすることで、スクリーンショットを撮ることができます。任意で、gnome-screenshot をインストールすれば、Apps > Accessories > Take Screenshot からスクリーンショットツールを開くことができます。
GNOME には、Ctrl+Shift+Alt+r
を押すことで使用できる内臓のスクリーン録画ツールがあります。録画中は、画面右下の角に赤い丸が表示されます。録画が終わると、Screencast from %d%u-%c.webm
という名前のファイルが Videos
ディレクトリ内に作成されます。スクリーンキャスト機能を使用するには、gst-plugin-pipewire パッケージと gst-plugins-good パッケージをインストールする必要があります。
Cinnamon
デフォルトの Cinnamon 環境では、スクリーンショットユーティリティが提供されていません。gnome-screenshot をインストールすることで、Menu > Accessories > Screenshot から、または PrintScreen
を押してスクリーンショットを撮ることができるようになります。
他のデスクトップ環境やウィンドウマネージャ
LXDE などの他のデスクトップ環境や、Openbox や Compiz といったウィンドウマネージャでは、先に挙げたコマンドをスクリーンショットを撮るホットキーに追加することができます。例えば:
$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png
import
は imagemagick パッケージに含まれています。Compiz で上記のコマンドを PrintScreen
キーにに割り当てれば、日付と時間を含むファイル名でスクリーンショットを Pictures フォルダに保存することができます。
Openbox の rc.xml
ファイルではコンマは認識されないことに注意してください。なので、Openbox で PrintScreen
キーに先のコマンドをバインドするには、以下の記述を rc.xml
ファイルの keyboard セクションに追加する必要があります:
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
でバインドできない場合は、キーボード入力 の記事を参照し、他の keysym または keycode を使ってください。
スクリーンショットユーティリティが含まれているパッケージ
ImageMagick/GraphicsMagick
GIMP
GIMP を使ってスクリーンショットを取得することもできます (File > Create > Screenshot...)。
imlib2
imlib2 にはスクリーンショットを取得するためのバイナリ imlib2_grab
が含まれています。フルスクリーンのスクリーンショットを撮るには:
$ imlib2_grab screenshot.png
FFmpeg
FFmpeg#スクリーンキャプチャ を参照。
スクリーンキャストソフトウェア
FFmpeg#スクリーンキャプチャ と Wikipedia:Comparison of screencasting software も参照してください。
スクリーンキャストユーティリティは、デスクトップや個々のウィンドウのビデオを作成することができます。
- Byzanz — GIF アニメーションを作成するシンプルなスクリーンキャスト CLI ツール。
- Deepin Screen Recorder — Deepin デスクトップ用の画面録画アプリケーション。
- FFcast — Bash で書かれた FFmpeg ベースのスクリーンキャストツール。
- GPU Screen Recorder — パフォーマンスを大幅に向上させるために GPU で画面を録画するスクリーンレコーダー。そのパフォーマンスは Nvidia ShadowPlay に匹敵します。ライブストリーミングや再生バッファもサポートしています。
- Green Recorder — Linux システム用のシンプルかつ機能的なデスクトップレコーダー。
- Kazam — デザイン性を念頭に置いたスクリーンキャストプログラム。マルチスクリーンの環境でも使えます。
- Kooha — 最小限の GTK インターフェイスを備えたシンプルなスクリーンレコーダー。
- menyoki — コマンドライン上でスクリーンショット/キャストを撮り、ImageOps を実行します。X11 のみですが、Wayland のサポートも計画されています。
- Open Broadcaster Software — 録画及びライブストリーミングのためのアプリケーション。
- https://obsproject.com/ || obs-studio
- obs-gnome-screencastAUR – GNOME screencast 機能のためのプラグイン。Wayland をサポートしています。
- Peek — GIF、APNG、WebM、MP4 のアニメーションを作成できるシンプルなスクリーンキャストツール。もはや開発されていません (2023年1月現在)。
- RecApp — GTK で書かれたユーザーフレンドリーなスクリーンキャストツール。フリーな GStreamer モジュールを使用しており、FFmpeg には依存していません。もはや開発されていません。
- RecordItNow — KDE 4 のためのプラグインベースのデスクトップレコーダー。
- http://recorditnow.sourceforge.net/ || recorditnowAUR[リンク切れ: package not found]
- RecordMyDesktop — デスクトップを録画して ogg 形式に落とす、簡単に使えるユーティリティ。CLI、GTK、Qt のインターフェイスを利用可能。(開発は活発ではありません)
- https://recordmydesktop.sourceforge.net/ || CLI: recordmydesktop、GTK: gtk-recordmydesktopAUR、Qt: qt-recordmydesktopAUR[リンク切れ: package not found]
- screencast — FFmpeg で X11 デスクトップを録画するコマンドラインインターフェイス。オフライン録画とライブストリーミングの両方をサポートしています。
- Screencast — Elementary OS 用に設計されたシンプルなスクリーンキャストレコーダー。
- SimpleScreenRecorder — C++/Qt5 で書かれた、機能が豊富な画面録画ツール。X11 と OpenGL をサポートしています。
- Spectacle — スクリーンショット/キャストのための KDE アプリケーション。Wayland でのデスクトップ全体や単一画面、単一ウィンドウの (無音声) 録画をサポートしています。kde-graphics グループの一部です。Kwin が有効化されている状態でのみ動作するため、他のウィンドウマネージャでは使用できません。
- VokoScreen — GStreamer を使用する強力な GUI スクリーンキャストツール。数々のコーデックをサポートし、内外 (マイクロカメラとウェブカメラ) 及び画面/ウィンドウ/ビューソースの音声付きの録画、ズーム、マウス領域とボタンのハイライトが可能です。ただし、Wayland サポートは限られています。
- Wayfarer — Xorg 及び Pipewire が動作している Wayland 用の GTK4 スクリーンレコーダー。
- XVidCap — 音声ナレーション付きでスクリーンキャストや X Window System の画面出力を録画できるアプリケーション。
- http://xvidcap.sourceforge.net/ || xvidcapAUR[リンク切れ: package not found]
Wayland
Wlroots ベースのコンポジタでは、grim や grimshotAUR (sway-contrib パッケージも /usr/share/sway-contrib/grimshot
で grimshot を提供しています) でスクリーンショットを撮ることができます。動画は、wf-recorder (または wf-recorder-gitAUR) で撮ることができます。さらに、wlrobs-hgAUR は、wlroot ベースのコンポジタでのスクリーンキャプチャーを可能にする obs-studioプラグインです。また任意で、キャプチャする画面領域を選択するために slurp を使用できます。GPU が VA-API エンコードをサポートしている場合、wf-recorder の代わりに wl-screenrec-gitAUR を使えば、より高速に動作する可能性があります。
画面全体のスクリーンショットを撮る:
$ grim screenshot.png
Sway で現在のウィンドウのスクリーンショットを撮る:
$ swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | grim -g - screenshot.png
Hyprland で現在のウィンドウのスクリーンショットを撮る:
$ hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - screenshot.png
画面の一部のスクリーンショットを撮る:
$ slurp | grim -g - screenshot.png
画面の一部のスクリーンショットを攝り、wl-clipboard を使ってクリップボートに貼り付ける:
$ slurp | grim -g - - | wl-copy
画面全体の動画を撮る:
$ wf-recorder -f recording.mp4
画面の一部の動画を撮る:
$ wf-recorder -g "$(slurp)"
また、上記の一部のプログラムは Wayland でのみ動作します (例: ksnip、green-recorderAUR)。
スクリーンキャスト
GNOME screencast を使う
green-recorderAUR、obs-gnome-screencastAUR、及び obs-studio は、GNOME screencast 機能を使用した Wayland での画面録画をサポートしています。
Hyprland を使う
Hyprland ウィンドウマネージャでは、xdg-desktop-portal-hyprland を使用している場合、OBS でスクリーンキャストと録画を行うことができます (個々のウィンドウやワークスペースの選択も可)。[1]
仮想 Web カメラのビデオフィードを使う
v4l2loopback#wf-recorder を使って Wayland をキャストする を参照してください。
wf-recorder (または wf-recorder-gitAUR) および v4l2loopback-dkms をインストールしてください。そして、以下のパラメータを指定して v4l2loopback
カーネルモジュールをロードしてください:
# modprobe v4l2loopback exclusive_caps=1 card_label=VirtualVideoDevice
新しい仮想ビデオデバイス VirtualVideoDevice
が作成されたことを確認してください:
$ v4l2-ctl --list-devices
... VirtualVideoDevice (platform:v4l2loopback-000): /dev/video2 ...
wf-recorder
で画面の録画を開始し、v4l2loopback
によって作成された新しい仮想ビデオデバイス VirtualVideoDevice
に出力を送ってください:
$ wf-recorder --muxer=v4l2 --codec=rawvideo --file=/dev/video2 -x yuv420p
ここで yuv420p
色空間を使用しているのは、映像出力に Zoom との互換性を持たせるためです。[2]
これで、先の仮想ビデオデバイスをビデオ通話/ビデオ会議アプリケーションで "ウェブカメラ" として選択できるようになりました (デバイスは VirtualVideoDevice
という名前です)。仮想ビデオデバイスがきちんとスクリーン共有を出力していることは、ffplay
(ffmpeg の一部) や mpv、gst-launch
(gstreamer の一部) を使用して確認できます:
$ ffplay /dev/video2
$ mpv av://v4l2:/dev/video2
$ gst-launch-1.0 -v v4l2src device=/dev/video2 ! glimagesink
Firefox がビデオストリームを読み取ることができず、"AbortError: Starting video failed" のようなメッセージを出力する場合、v4l2compat.so
をプリロードしてみてください:
$ LD_PRELOAD=/usr/lib/v4l1compat.so firefox
個々のアプリケーションの共有
先に説明した通り、wf-recorder
は、slurp で事前に選択した画面領域のみを録画することができます。この機能を使って、特定の領域/アプリケーションウィンドウを共有して仮想ビデオデバイスに出力を流すには、以下のコマンドで画面の録画を開始してください:
$ wf-recorder -g "$(slurp)" --muxer=v4l2 --codec=rawvideo --file=/dev/video2 -x yuv420p
画面の領域を選択したら、先に説明したように仮想ビデオデバイス /dev/video2
経由でビデオフィードにアクセスできるようになります。
WebRTC プロトコルを使う
PipeWire#WebRTC 画面共有 を参照してください。
Chromium と Firefox は画面共有にアクセスできるはずです。Mozilla の getUserMedia / getDisplayMedia テストページでテストできます。
X11 アプリケーションで Wayland ウィンドウをスクリーンキャストする
ネイティブな Wayland ウィンドウ (あるいはスクリーン/ワークスペース全体) は X11 アプリケーションに共有することができます。そのためには xwaylandvideobridge アプリケーションを使う必要があります。詳細は Fixing Wayland: Xwayland screen casting を見てください。
ターミナル
ANSI コードでキャプチャする
util-linux パッケージに含まれている、script(1) コマンドを使うことができます。script
を実行すればその瞬間から、全ての出力は (ANSI コードを含めて) typescript
ファイルに保存されるようになります。
終わったら、exit
と入力するだけで typescript
が作成されます。作成されたファイルは ansi2htmlAUR パッケージを使って HTML に変換できます (python-ansi2html の ansi2html と混同しないように)。
typescript
ファイルを typescript.html
に変換するには、次を実行:
$ ansi2html --bg=dark < typescript > typescript.html
また、コマンドによっては直接 ansi2html にパイプで渡すこともできます:
$ ls --color|ansi2html --bg=dark >output.html
これはどんなコマンドでも使えるというわけではないので、その場合は、script
を使う必要があります。
フレームバッファ
何かしらのフレームバッファをインストールして、fbgrab か fbdumpAUR を使用してスクリーンショットを撮ることができます。
仮想コンソール
スクリーンショット
単にコンソールの文章を取得したいだけで実際の画像は要らない場合、util-linux パッケージに含まれている setterm
を使うことができます。以下のコマンドは仮想コンソール 1 のテキストをカレントディレクトリの screen.dump
ファイルに保存します:
# setterm -dump 1 -file screen.dump
/dev/vcs1
の中身を読まないといけないので root 権限が必要です。
コンソールのスクリーンキャスト
asciinema は、ターミナルセッションのアクティビティ全体を録画することができます。結果は、asciinema 独自の (オープンな) 形式でファイルに保存されます。このファイルは同ツールまたはツールの HTML5 バージョンで再生でき、このツールの公式ウェブサイト asciinema.org で共有することができますし、あるいは HTML バージョンを自身でホストして共有することもできます。
使用方法は asciinema(1) や asciinema --help
で確認できます。
asciinema rec output.cast
はセッションを録画し、Ctrl+\
でポーズ/再開、Ctrl-d
/またはセッションを終了することで録画を停止できます。出力ファイル名は省略可能です。
録画に関する有用な引数:
-c command
: 特定のコマンドのアクション/出力だけを録画したい場合-i 1.2
: 1.2 秒だけ録画-t "beautiful title"
: ターミナルキャストにタイトルを追加
録画以外の機能:
asciinema play file.cast
: asciinmea ファイルを再生asciinema upload file.cast
: ファイルを asciinema.org にアップロードして共有asciinema auth
: asciinema.org アカウント上の録画ファイルを管理