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のディスプレイを指定する |