ディスクの場所から画像を読み取り、/home/me/image.png
画面上のウィンドウに表示し、場所にある画像が変更されるたびにウィンドウを更新するプログラムが必要です/home/me/image.png
。
私のお気に入りの画像表示プログラムですが、feh
ファイルfeh
が変更されたときに自動的に更新される機能は組み込まれていません。
私が検討しているオプションの1つは、ファイルがfeh
変更されるたびに終了して再度開くbashスクリプトを作成することです。ただし、これを行うと、新しいウィンドウに画像が表示されます。元のウィンドウに画像を表示したいです。
ImageMagickのユーティリティを試してみましたが、display
私のコンピュータでは動作しません。もし私がdisplay
間違って使ったのではないでしょうか?私はそれを使用しました$ display -update 1 /home/me/image.png
。 ImageMagickではエラーは発生しません。変更をディスクに書き込むと、イメージの更新に失敗します。
ディスクの画像が変更されたときに画像を更新することは、多くの画像表示プログラムがサポートする必要がある基本的な機能のように見えますが、たとえば複数の画像表示プログラムを試してみましたが、feh
ディスクの画像が変更されたときに更新される機能はありませんfim
。eog
システム仕様
私のシェルはbashです。私のWindowsシステムはi3です。私のディストリビューションはlubuntuです。
答え1
sxiv
画像が修正されると自動的に再読み込みするシンプルなX画像ビューアです。特別なオプションは必要ありません。以下を使用して画像を起動します。
sxiv <file>
Ubuntuリポジトリのパッケージ名の下にありますsxiv
。
答え2
少し複雑ですが、Ubuntu / Debianツールの使用をfeh
サポートするバージョンを構築できます。--auto-reload
正直なところ、この機能がデフォルトで有効になっていない理由はわかりません。
fehを構築するために必要なパッケージをインストールします。sudo apt-get build-dep feh
インストールパッケージのビルドサポート:sudo apt-get install build-essential devscripts
作業ディレクトリを作成します。mkdir src && cd src
アップストリームのソースコードを取得します。apt source feh
Chdircd feh-3.6.3
または持っているすべてのディレクトリ
debian/rules ファイルを編集して、次の行を変更します。
dh_auto_build --parallel -- PREFIX=/usr exif=1
到着する:
dh_auto_build --parallel -- PREFIX=/usr exif=1 inotify=1
パッケージビルド: debuild -us -uc -b
。ほとんどの警告と一部のエラーは無視できます。
光沢のある新しいfeh
パッケージをインストールします。sudo dpkg -i ../feh_3.6.3-1_amd64.deb
feh --auto-reload
これで、ディスク上のファイルが変更されたときに自動的に再ロードするオプションが提供されます。eog
あるいは、部分的eom
または破損したファイルを処理するため、非原子的にファイルを更新すると(たとえば、画像処理プログラムの出力をファイルにストリーミングするなど)、破損せずにファイルの表示が停止します。
feh
誤ってアップグレードしていないことを確認したい場合がありますapt
。これを行うには、「予約済み」とマークしてください。
sudo apt-mark hold feh
ディストリビューションのアップストリームバージョンにアップグレードする場合は、後でマークを解除できます。
sudo apt-mark unhold feh