システム仕様

システム仕様

ディスクの場所から画像を読み取り、/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ディスクの画像が変更されたときに更新される機能はありませんfimeog

システム仕様

私のシェルは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

関連情報