Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【Linux】ウィンドウを最前面に出して(アクティブにして)、スクリーンショットを取るコマンド

www.baeldung.com

ここにいろんなコマンドがまとめられている

  • import
  • scrot
  • gnome-screenshot
  • shutter
  • flameshot

今回は、linuxスクリーンショットを取ることを考えてるけど、ほとんどのコマンドは使えるっぽかった

今回は一番上のimportを使ってみる

importの使い方

画面全体のスクショを撮る時は

import -window root image.png

指定したウィンドウを撮影する時は

import -window $id hoge.png

windowオプションはそのウィンドウのidが必要

wmctrl -lx

でウィンドウが一覧される
ここで、必要なウィンドウのidを取ってくればいい
idは一番左端なので、fooというアプリを開いている画面のスクショを撮りたい時は

id=`wmctrl -lx | grep 'foo' | awk '{print $1}'`

でidを持ってこれる

指定したidのウィンドウをアクティブ(最前面)に持ってくるには

wmctrl -a -i $id

これらを組み合わせれば、
ウィンドウを最前面に出して(アクティブにして)、スクリーンショットを取れるはず

メモ

なんでメモしたかは忘れました
askubuntu.com