新しいスクリーンショットを撮って自分のホームフォルダのどこかに保存するようにグローバルショートカットを設定したいと思います。次のコマンドを使用して、ImageMagickを使用してスクリーンショットを撮ることができます。
import screenshot.jpg
ただし、これを複数回実行すると、スクリーンショット.jpgが複数回上書きされます。アプリケーションにscreen1.jpg、スクリーンショット2.jpgなどを自動的に作成させたいと思います。この場合、私のコマンドはどのように見えますか?
答え1
ファイルの命名
import screenshot-`date +%H%M%S`.jpg
答え2
グラフィカルユーザーインターフェース方法
次のようなものも使用できます。シャッター行ってこれをやってみてください。選択、ウィンドウ、またはデスクトップ全体のスクリーンショットを撮る機能を提供します。これらの操作は、Shutterの特定のキーボードショートカットに合わせてカスタマイズできます。
キーボードマッピングダイアログの表示
命名パターンダイアログボックスの表示
コマンドライン方法
コマンドを使用する場合import
これはImageMagickツールセット。
はい
以下のコマンドを実行してからスクリーンショットを撮る準備ができたら、マウスの左ボタンをクリックするだけです。
$ import "screenshot-$(date +"%d %b %T").jpg"
このファイルを生成します。
$ ls -l | grep screenshot
-rw-rw-r-- 1 saml saml 2273538 Sep 26 13:06 screenshot-26 Sep 13:06:55.jpg
このコマンド形式では、import
ファイル名がスペースに分割されないように、すべての引数を引用符で囲む必要があります。
$ import "...file with spaces..."
このコマンドを使用して、現在アクティブなウィンドウのスクリーンショットを撮ることもできます。
$ import -window \
"$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5)" \
"screenshot-$(date +"%d %b %T").jpg"
上記の例では、このxprop
コマンドはアクティブウィンドウのIDをプログラムで決定します。
$ xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5
0x2e00004
ここでは、食欲を刺激するためにもっと複雑なことをすることができます。
答え3
スクリプト:
#!/bin/bash
n=0
maxn=1000
bn=screenshot%.jpg
while [[ $n -lt $maxn ]]; do
# create temporary filename
tn=${bn/\%/${n}}
# check whether the file already exists
if [[ -f $tn ]]; then
((n++))
else
screenshot_command $tn
break
fi
done
$bn
パーセント文字が数字のプレースホルダーとして機能するファイルのデフォルト名。一部のファイルを削除すると、ファイルが存在しない場合はその名前が使用されるため、ファイルが再生成されます。計算順序(つまり、最大値から降順)を復元し、存在しない最後のファイル名を使用できます。既に存在するものをクリックしてください。