screen
でこれができるとは思えません 出力が実際にウィンドウにレンダリングされない限り、これはおそらく screen を使用するポイントを無効にします.しかし、ウィンドウはフォアグラウンドにある必要はありません.
ImageMagick スイートには import
というユーティリティが含まれています これに使用できます。 import --help
の場合 「コマンドが見つかりません」というメッセージが表示されたら、imagemagick パッケージをインストールします。このパッケージは、任意の Linux ディストリビューションで利用できます。
import
ウィンドウの名前が必要です。 iftop
はターミナル インターフェイスであるため、正しい名前を使用していることを確認するには、実行する GUI ターミナルのタイトルを設定する必要があります。その方法は、使用する GUI ターミナルによって異なります。たとえば、私は次のような XFCE ターミナルを好みます:
Terminal -T Iftop -e iftop
iftop
を実行している新しいターミナルを開きます タイトルは「イフトップ」。そのスクリーンショットを撮ることができます:
import -window Iftop ss.jpg
これを 5 秒ごとに実行する場合は、代わりにスクリプトを実行しているウィンドウを開いて、同じターミナルを再利用できるようにすることをお勧めします。
count=0;
while ((1)); do
iftop &
pid=$!
sleep 1 # make sure iftop is up
count=$(($count+1))
import -window Iftop iftop_sshot$count.jpg
kill $pid
sleep 5
done
スクリプトが「iftopSShot.sh」の場合、この Terminal -T Iftop -e iftopSShot.sh
を開始します。 -- ただし、おそらく Terminal
を使用していない可能性があります . Linux GUI 端末のほとんどは、個別に使用できるスタンドアロン アプリケーションですが、特定の DE に関連付けられています。 KDE のデフォルト端末の名前は Konsole
だと思います そしてそれは -T
に従います および -e
慣習; GNOME の場合、おそらく gnome-terminal
です。 (これは変更されている可能性があります) -t
を使用しているようです -T
ではありません .
import
に注意してください デフォルトではベルが鳴るのでイライラしますが、 -silent
があります オプション。
X で 環境:
端末のタイトルを動的に設定:
スクリプトから、ansi シーケンスを使用して端末のタイトルを変更する方法:
echo -e "\033]0;Term | myApp\007";
ウィンドウ タイトルで png をキャプチャ:
wmctrl
を使用して、正確なタイトルでウィンドウ ID を検索できるようになりました。 ID を import
に渡します ユーティリティ:
import -window $(wmctrl -l | grep -i 'Term | myApp' | awk '{print $1}') ~/Pictures/capture.png
GIF を作成する:
微調整の例、毎秒 5 つのキャプチャを取得し、convert
を使用してそれらを gif に変換する 、無限の 2 秒ループで。
rm -f /tmp/*png && for i in {1..5}; do import -window $(wmctrl -l | grep -i 'Term | myApp' | awk '{print $1}') /tmp/$i.png && sleep 1; done && convert -delay 200 -loop 0 /tmp/*.png animation.gif