Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/12/21 11:44:57.596 (台灣標準時)

画面全体や特定のウィンドウの様子を記録する方法

講義資料を作成するとき、計算機の操作方法を示すために、計算機の画面全体 や特定のウィンドウの様子を記録したい場合があるでござる。スクリーンショッ トをとるために、これまでずっと xv を使っていたでござる。 xv を起動し、 マウスを使って右クリックをすると、 "xv controls" というウィ ンドウが出てくるでござる。右下に "Grab" というボタンがあり、 そのボタンを押すと、 "grab" というウィンドウが出てくるでござ る。そのウィンドウに "Grab" というボタンがあり、そのボタンを 押し、マウスの左ボタンをクリックすると、スクリーンショットがとれるでご ざる。特定のウィンドウの上で左クリックをすれば、そのウィンドウが記録さ れ、ウィンドウの無いところで左クリックをすれば、画面全体が記録されるで ござる。

スクリーンショットをとって得た画像をファイルとして書き出すには、まず "xv controls" のウィンドウの右側にある "Save" ボタ ンを押し、 "xv save" というウィンドウを出すでござる。そして、 好みの画像フォーマット選び、また、ファイル名を書き、 "Ok" ボ タンを押すでござる。画像フォーマットに PostScript を選んだ場合、用紙の 大きさや解像度などを指定するウィンドウが出てきて、そこで"Ok" ボタンを押せば、画像がファイルとして書き出されるでござる。

fig_202310/xv_202310_00.png
fig_202310/xv_202310_01.png
fig_202310/xv_202310_02.png
fig_202310/xv_202310_03.png
fig_202310/xv_202310_04.png
fig_202310/xv_202310_05.png

このように、 xv を使えば、スクリーンショットをとり、得た画像を PostScript ファイルとして書き出すことができるのでござるが、幾つか、不 都合な点があるでござる。一つは、 xv の操作性の問題でござる。 xv は、前 回に指定した設定を覚えていないので、起動する度に、用紙の大きさはレター サイズに、解像度は 72 dpi に戻ってしまうでござる。毎回、 A4 と 300 dpi に設定し直すのが面倒でござる。特に、解像度の変更のために、矢印のボタン を何度も押さねばならぬのが特に面倒でござる。二つ目は、 GUI による操作 が必要なことでござる。 1920x1080 の full HD の画面だと特に不満はなかっ たのでござるが、 3840x2160 の 4K の画面を使うようになったら、3840x2160 の大きさの画像を PostScript ファイルとして書き出すのに時間がかかり、 GUI による操作だと待ち時間が長く、端末エミュレーターでコマンドを実行す ることで全てが完了するようにしたいと思ったでござる。もう一つは、 NetBSD だと問題ないのでござるが、 xv は shareware であるため、 Debian GNU/Linux だと apt コマンドを使って簡便にインストールできないことでご ざる。

以上の理由から、 GUI による煩雑な操作無しでスクリーンショットがとれ、 更に、GUI による煩雑な操作無しで PostScript ファイルに変換できる方法を 探してみたでござる。

コマンド一発でスクリーンショットをとるには、 ImageMagick に含まれる import コマンドを使えばよいようでござる。例えば、以下のように import コマンドを実行し、特定のウィンドウの上でマウスの左ボタンを押せば、その ウィンドウの様子がファイルとして書き出されるでござる。ウィンドウの無い 場所で左ボタンを押せば、画面全体の様子がファイルとして書き出されるでご ざる。


% import test.png

ただ、上の方法で一つのウィンドウの様子を記録する場合、 window manager の描画する枠の部分が記録されないでござる。 window manager の担当する frame の部分も含めて、スクリーンショットをとりたい場合には、以下のよう にすればよいようでござる。


% import -frame test.png

import コマンドの詳しい使い方については、 "man import" とす れば解説を読むことができるでござる。

fig_202310/man_import_00.png
fig_202310/man_import_01.png

次に、スクリーンショットをとり、書き出した画像ファイルを PostScript に 変換するには、以下のようにすればよいようでござる。 "-density" オプションを使って、希望の解像度を dpi で指定すれ ばよいようでござる。


% convert test.png -density 600 test.eps

convert コマンドの詳しい使い方については、 "man convert" と すれば解説を読むことができるでござる。

fig_202310/man_convert_00.png
fig_202310/man_convert_01.png


Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___Network/20240130_00.html
  10. Computer___NetBSD/20220817_3.html
  11. Computer___Python/20220410_0.html
  12. Computer___Network/20240416_00.html
  13. Computer___NetBSD/20230119_00.html
  14. Computer___Debian/20210223_1.html
  15. Computer___Python/20221013_0.html
  16. Computer___Python/20210124_0.html
  17. Computer___NetBSD/20220428_0.html
  18. Computer___NetBSD/20220818_1.html
  19. Computer___NetBSD/20240101_02.html
  20. Science___Math/20220420_0.html
  21. Computer___Python/20240101_00.html
  22. Computer___NetBSD/20220808_0.html
  23. Computer___TeX/20230503_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20230515_00.html
  26. Computer___Network/20220413_1.html
  27. Computer___NetBSD/20210127_0.html
  28. Computer___TeX/20231107_00.html
  29. Computer___Python/20220816_1.html
  30. Computer___Python/20230717_01.html


HTML file generated by Kinoshita Daisuke.