ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Raspberry Pi(ラズパイ)のWaylandではgrim(grimshot)でスクリーンショットを撮る

(2024-02-25 初稿)

先日、Raspberry Pi OSでスクリーンショットを撮ろうと思ったら、うまく撮ることができなかった。

ちなみに、これまでのRaspberry Pi(ラズパイ)のデフォルトのスクリーンショットを撮るソフトウェアはscrot。Debianでは、gnome screenshotを使っている。

Webで調べてみると、最近のRaspberry Pi OSでは、X11ではなく、Waylandを利用しているとのこと。

まずは、現在、どちらを使っているかの確認方法。

$ echo $XDG_SESSION_TYPE
x11  or  wayland

自分の環境が確認できたところで、x11の場合は、これまでどおりscrotやgnome screenshotを利用すれば良く、waylandの場合は、grimまたはgrimshotを利用する。

ちなみに、筆者のラズパイでは、grimがデフォルトでインストールされていた。

ただし、grimの使い方がわからないので、以下のサイトで確認した。

上記サイトに詳細な使い方の記述があるが、以下に簡単な使い方を示す。

$ grim                     #画面全体
$ grim -g "10,20 300x400"  #指定する領域

えっと、指定する領域のスクリーンショットは、座標がわからないと撮れないので、以下のとおり、Waylandの領域指定のコマンドラインユーティリティであるslurp(cli utility to select a region in a Wayland compositor)をインストールして利用したほうが良い。

$ sudo apt install slurp

で、インストール後は、以下のとおりで領域を指定してスクリーンショットを撮ることができる。

$ grim -g "$(slurp)"

また、wl-clipboardをインストールすれば、以下のとおり、ファイルに保存せずクリップボードに経由でコピペできる。

$ sudo apt install wl-clipboard
$ grim - | wl-copy

さらに、grimshotを用いると、指定する領域をクリップボード経由で貼り付けることができる。

$ sudo apt install grimshot
$ grimshot copy area

grimshotの詳しい使い方は、man grimshotで確認してね。

ただし、筆者が使ってみた範囲では、grim や grimshot copy window でアクティブなwindowのスクリーンショットの取得がうまくできない… (・・?

また何か良い方法が見つかったら、アップする。

 

関連ページ