


2019年6月にRaspberry Pi 3 B+を購入して少し遊んだ後、放置していたのですが久しぶりに電源を入れてみました。
Kaliとか色々インストールしてみたものの、現在はRaspbianをインストールしてあります。
| 1 2 3 4 5 6 7 8 9 10 11 | pi@raspberrypi:~ $ cat /etc/os-release  PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" VERSION_CODENAME=stretch ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" | 
で、早々に不便を感じたのがPrintScreenやAlt+PrintScreenで簡単に画面キャプチャできないのが残念と。
でも調べると標準でscrotがインストールされていてPrintScreenでデスクトップ画面がキャプチャされ自動で/home/piにキャプチャファイル名に日時を含めて保存してくれました。
こんなファイル名になります。”2019-11-11-211740_1920x1080_scrot.png”
こうなるとアクティブウィンドウだけキャプチャできるようにもしたいものです。
How to Capture Screenshots on Raspberry Pi
https://www.tomshardware.com/news/raspberry-pi-capture-screenshots,40276.html
上記サイトにあるようにGnome Screenshotを使用してみました。Spectacleとかいろいろあるようですが。
- Gnome Screenshotのインストール
- シェルスクリプトの作成
- キーバインドの設定
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | pi@raspberrypi:~ $ sudo apt install gnome-screenshot パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています                 状態情報を読み取っています... 完了 以下のパッケージが新たにインストールされます:   gnome-screenshot アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 165 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,141 kB のディスク容量が消費されます。 取得:1 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian stretch/main armhf gnome-screenshot armhf 3.22.0-1 [165 kB] 165 kB を 1秒 で取得しました (119 kB/s)   以前に未選択のパッケージ gnome-screenshot を選択しています。 (データベースを読み込んでいます ... 現在 141605 個のファイルとディレクトリがインストールされています。) .../gnome-screenshot_3.22.0-1_armhf.deb を展開する準備をしています ... gnome-screenshot (3.22.0-1) を展開しています... mime-support (3.60) のトリガを処理しています ... desktop-file-utils (0.23-1) のトリガを処理しています ... libglib2.0-0:armhf (2.50.3-2+deb9u1) のトリガを処理しています ... gnome-screenshot (3.22.0-1) を設定しています ... man-db (2.7.6.1-2) のトリガを処理しています ... gnome-menus (3.13.3-9) のトリガを処理しています ... | 
/etc/xdg/openbox/lxde-pi-rc.xmlに直接gnome-screenshotコマンドを記載したのですが、ファイル名の生成が上手くできないのでシェルスクリプトにしてしまいました。
引数Wがでアクティブウィンドウのキャプチャになり、それ以外はデスクトップをキャプチャします。
ファイル名はscreen.shにして/home/pi/に保存してあります。
| 1 2 3 4 5 6 7 8 9 | #!/bin/sh # 2019/11/18 RootLinks Co., Ltd. echo $1 if [ "$1" = "W" ]; then    gnome-screenshot -w -f ~/Pictures/screen-`date +"%Y%m%d%H%M"`.png else    gnome-screenshot -f ~/Pictures/screen-`date +"%Y%m%d%H%M"`.png fi | 
/etc/xdg/openbox/lxde-pi-rc.xmlを直接編集するのはダメみたいですが:-)
| 1 | pi@raspberrypi:~ $ sudo vi /etc/xdg/openbox/lxde-pi-rc.xml | 
変更前
| 1 2 3 4 5 |     <keybind key="Print">       <action name="Execute">         <command>scrot</command>       </action>     </keybind> | 
変更後
| 1 2 3 4 5 6 7 8 9 10 |     <keybind key="Print">       <action name="Execute">         <command>sh /home/pi/screen.sh</command>       </action>     </keybind>     <keybind key="A-Print">       <action name="Execute">         <command>sh /home/pi/screen.sh W</command>       </action>     </keybind> | 
修正後は下記のコマンドで変更を適用します。
| 1 | pi@raspberrypi:~ $ sudo openbox --reconfigure | 
これでPrintScreenキーでデスクトップ、Alt+PrintScreenキーでアクティブウィンドウが/home/pi/Picuresに自動でキャプチャファイルが作成されます。
こんなファイル名で,”screen-201911121020.png”
Terminalはgnome-terminalをインストールして使っています。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | pi@raspberrypi:~ $ gnome-screenshot -h 用法:   gnome-screenshot [オプション...] ヘルプのオプション:   -h, --help                         ヘルプのオプションを表示する   --help-all                         ヘルプのオプションをすべて表示する   --help-gapplication                Show GApplication options   --help-gtk                         GTK+ のオプションを表示する アプリケーションのオプション:   -c, --clipboard                    取得したスクリーンショットをクリップボードへ直接送信する   -w, --window                       画面全体ではなくウィンドウ単体を取得する   -a, --area                         画面全体ではなく一部を取得する   -b, --include-border               スクリーンショットにウィンドウの境界を含める   -B, --remove-border                スクリーンショットからウィンドウの境界を取り除く   -p, --include-pointer              スクリーンショットにマウスのポインターを含める   -d, --delay=秒                     指定した時間を経過してからスクリーンショットを撮る [秒単位]   -e, --border-effect=エフェクト     境界の縁に適用するエフェクトを指定する (shadow、border、vintage、または none)   -i, --interactive                  設定ダイアログを表示する   -f, --file=ファイル名              スクリーンショットを指定のファイルに保存する   --version                          バージョン情報を表示して終了する   --display=DISPLAY                  使用するXのディスプレイを指定する | 

