Posts tagged ‘leave XnViewMP’

画像管理ソフトのXnViewMPに嫌気がさしたので、digiKam6に戻った(調べたら、一年間も使っていなかったようだ)。その前に浸かっていたdigiKam(当時は5)には以下のような不満があった(移行した時の投稿より)ので、XnViewMPに移った。

digiKam5(以下、digiKam)は重い(起動が遅いことがある、メモリを食う(メモリリーク)、いろいろな処理(特にDB関係)が重い)のと、UIの使い勝手が微妙にイライラするうえに変更できない

しかし、XnViewMPを使っていたら さまざまな不満が生じ、digiKamへの不満よりも強くなった。例えば以下である。

  • 機能少な目、バグ多目。機能仕様に一貫性がなく、思ったように(期待するように・「普通」に)は動かなくて、がっかり・イライラする。
  • カメラからの画像取り込み後に、XnViewMPへの追加(認識させる)操作が要る。 → 移行時にそのためのプログラムを作った。
  • 回転した画像のバックアップが見えて鬱陶しい(非表示にはできない)。 → 見えなくなるように、suffixを変えるプログラムを作った。
  • WordPressに画像を入れる場合、画像にコメントを設定していても表示されない(digiKamの場合は表示できていた)。コメントを設定するタグが異なるようだ。 → 毎回、手でコメントを入れ直していた。
  • 検索が面倒なうえに貧弱で、目的の画像が見つかることはほとんどない。
  • UIの作りがイマイチ。
    • 再起動後に、表示するタグなどの見え方がリセットされて、閉じていても再度全部表示されて鬱陶しい。
    • ディレクトリ一覧が見にくい。
    • 情報ペーンの作りがイマイチで使いにくい(特に、幅が足りなくてもお構いなし)。
  • 更新が停滞している。

それから、XnViewMPは画像の管理にDBを使っていない(実際には「カタログ」という機能のためのDBはある)ので、画像のタグなどを一括管理している訳ではい。とはいえ、再起動のたびに全画像をスキャンしている訳でもなく、カタログに記録しているようだ。ただ、カタログが中途半端なため、実際の画像とカタログに記録された状態が一致しないことが結構頻繁に起こり(例: ある画像にあるカテゴリ(タグ)が付いていると表示されていても、実際には付いていない)、それを解消するには画像を再度スキャンしなくてはならない。それどころか、後述する、digiKamで設定したタグがXnViewMPには反映されない問題のように、再度スキャンしても反映されないことすらあるが、これはカタログの作りのいい加減さが関係しているのだろうと思う。

XnViewMPに移る時は、DBを使っていないから、DBの管理や保守に手間が掛からないし、安全性が増す(DBを使っている場合は、DBが壊れたら多くの画像情報が失われてしまう)のが長所だと思っていたのだが、実際には結構「いい加減」な状態になっているのにチェックも修正もできずに「あるがまま」の状態だし、検索が駄目な原因とも想像できるから、今は短所だと思っている。安全性については、随時DBをバックアップしておけば確保できると思う。

ただ、XnViewMPの方がdigiKamよりいいところもある。

  • サムネイルモードで、プレビューを別のペーンに出せる。digiKamではできない(プレビューモードが近いが、サムネイルの表示数が少ない)。
  • サムネイルペーンに子ディレクトリのアイコンが表示される。digiKamは何も出ない(ディレクトリでなく「アルバム」として扱っているため?)。
  • レイアウトの変更が可能。digiKamではできない。 ← そもそも、digiKamに近付けようとしたから有用だっただけ。
  • メモリ使用量が比較的少ない? (実際には、長く起動していると増えた覚えがある)
  • Favorites(お気に入り・良く使うもの)がある。digiKamにはない。

また、digiKam6には問題(不具合または不満)もある。

  • 画像エディタがESCキーで閉じない。 → ショートカット設定で閉じるようにできるが、閉じて欲しくない場合も閉じてしまうので止めた。
  • appImage版では日本語が入力できない。 → 以前のdigiKam5への対処と同様にしてできるようになった。
  • 地図を出すと、謎の小さいウインドウが出て消せない。 → Google mapを使うようにすれば出ない(Marble virtual globeだと出る)。
  • 画像をThuner(Xfceのファイルマネージャ)にコピー・ペーストやドラッグ・ドロップしてコピーできない(逆も駄目)。
    • クリップボードにコピーされるのがURL(file:///*)だからか、属性が違うのか。
    • なお、Nixnote2(Linux用Evernoteクライアント)にはドラッグ・ドロップして画像を挿入することができる。ただし、ペーストではURLが入る。
  • 左ペーンでHomeキーを押すとdigiKamのトップページのようなものが表示されて、すごく鬱陶しい。
  • 新しいコメントに日本語を書く時、変換確定前は見えない。
    • 文字色の問題? ただし、一旦何か入れると見えるようになる。
  • WordPressに画像を入れた場合、EXIFでの画像の回転が正しく処理されない場合がある。 → プラグインで対応した(確認中)。

なお、最初に書いた、起動が遅いことがあることがある問題は、digiKam6では解消している(確かにXnViewMPよりは遅いが、それほど時間が掛からない)。

そして、将来性はdigiKamの方がずっとありそうだ。XnViewMPは今年の1月から全然更新されていないが、digiKamはまめに更新されている。バージョンアップで上記の不満が改善されるかと思って、ずっとXnViewMPをチェックしつつ待っていたのだが、全然される様子がないので見切りを付けることにした。digiKam6の方が良くない点もあるが、それよりもXnViewMPへの不満の方がストレスだった。XnViewMPは「イマイチなうえに鬱陶しい」が最もいい表現だろう。

移行に当たっては以下の点に注意・確認したが、それほど大きな問題はなかった。

  • digiKamに移るとXnViewMPに戻るのは大変(XnViewMPに移る時が大変だったため)。 → 実際には、大きな問題はなかった。
    • XnViewMPに移る時に大変だったのは、digiKamの前に使っていたACDSeeのタグにXnViewMPが対応していなかったため。
  • カテゴリ(digiKamでは「タグ」)の移行
    • XnViewMPで付けたカテゴリはdigiKamでそのまま見えたが、digiKamで付けたタグはXnViewMPには反映されなかった。
      • ファイルにはタグは書かれており、新しい画像にdigiKamでタグを付けた場合にはXnViewMPに反映されるので、digiKamのタグ関連の設定は大丈夫なはずで、XnViewMPの問題なので追わないことにした。
    • 標準設定では、階層化したタグがdigiKamではフラットになってしまうものがあったので、設定を修正した。
      • 設定変更後、フラットになったタグが重複してしまったので、手で修正した。
  • コメントの移行
    • XnViewMPで付けたコメントはdigiKamでそのまま見え、digiKamで付けたコメントもXnViewMPでそのまま見えたので、問題ない。
  • メモリリーク(メモリ使用量の増大)は大丈夫か?
    • 1.5日で約500MBから約1GBになり、まず減らないようだ(一度、なぜか減ったことがある)。多くのサムネイルを表示すると増えるようだ。
      • DBがSQLiteだとメモリ量が増えそうな気がしたのでMySQLに変更したが、効果はなさそうだ。
        • 私の環境では、MySQLにするには、設定のDatabase→Database Settingsを以下のようにした(もちろん、あらかじめmysqldを起動し、digiKamのユーザを作っておく必要がある)。
          • Typeに"MySQL Server (experimental)"を指定 (なぜか、"MySQL Internal"ではできなかった)
          • Connect options: "UNIX_SOCKET=/var/run/mysqld/mysqld.sock"を指定。TCPで接続する場合には下を参照のこと(私は未確認)。
            • Stack Overflowによれば、MySQLにTCPで接続する場合にはHost Nameを"localhost"でなく、"127.0.0.1"のようにすればいいようだ(MySQLが"localhost"を特別扱いしているとのこと)。
      • あとで、Spotifyでのように使用量を監視するプログラムを作りたい。
  • 動画のサポートの確認 → 問題なかった。
    • XnViewMPでは動画にカテゴリを付けられないが、digiKamではできた。
  • Sym-linkを編集した場合にどうなるか。
    • Sym-linkの画像の編集には問題なかった(リンク先の画像が編集される)が、タグの操作が今ひとつ謎だった。
      • Sym-link(リンク先は画像)のタグを外すと、sym-linkのタグは外れるが、リンク先の画像のタグはそのままだった(逆も同じ)。タグを外す時は独立しているようだ。おそらく、DBにタグを記録している関係だと思う。 → タグが残っているのが分かるので、大きな問題ではない。

今のところ、以下のTODOがある。

  • 問題
    • [暫定済] メモリ使用量が多くなった場合の対処
      • 外部から何かで開放の指示可能?
        • おそらく無理。
        • コマンドラインのオプションは不明。
        • Dbusが使えるとのことだが、資料はない。
      • 自作のプログラムと同様の処理でメモリ量を調べて警告を出す? → 監視プログラムを作った: 指定したプロセスのメモリ使用量が上限を超えていたらメールで通知するようにした。 (11/11 11:22記)
        • Spotifyは、メモリ量が多くなった場合にはアイドル時に自動で再起動させているが、digiKamの再起動は怖そうなので警告にする。
      • 顔認識(People)や類似画像(Similarity)機能を使うと使用メモリ量が増えるので、使わないことにした。 (11/13 17:27)
        • 前者は「同じ顔」を認識しないようなので、スキャンして認識された数千の顔全部に自分でラベル付けする必要があるので実用性に乏しく、後者は、メモリ使用量の増加が甚だしいうえにSimilarityタブを開いた時の処理が遅いので、実用的でない。
        • DBからそれぞれの認識データを削除した。
    • コメントに日本語を書く時に、変換確定前は見えない。同様に、画像エディタの範囲指定の枠の色が白で見えないことがある。
      • テーマを編集すれば直る?
    • [保留] 地図を出すと小さいウインドウが出て消えないことへの対処
      • Google mapを使っていれば出ない。
    • (ファイルがread onlyの時など)プロパティ(例: コメント)の変更に失敗してもエラーが出ないので、問題に気付かないことへの対処
  • 設定
    • [暫定済] 表示するメタデータの選択(追加?)
      • Metadata→ViewsのEXIF, Makernotes, IPTC, XMP
    • [済] その他の設定の調整
  • 機能
    • 画像をThunerにコピー・ペーストやドラッグしてコピーはできない(逆も駄目)ことへの対処
      • クリップボードにURLでなくファイル名を入れればいいのか、クリップボードの属性の問題なのか。
    • サムネイルモードでプレビューを別のペーンに出したい。
      • ダブルクリックでプレビューする設定は可能(ESCで戻る)。 → 試したが、エディタを開くのが不便になるので止めた。
    • サムネイルペーンにディレクトリ(アルバム)のアイコンを表示したい。
    • 画像エディタをESCで閉じるようにしたい。
      • 状態によってESCの代わりのキーを送るようにすれば良さそうがだ、画像エディタ中で編集を開始しても外部から判定できないので難しい。 (11/11 11:26)
    • リサイズの画像サイズのプリセットの変更(追加?): 僕が良く使うサイズ(500画素)がない。
      • 調べたら、プリセットの画素数はリサイズ用のプラグインのプログラムに直接記述されていて、全く変更できないことが分かった。バイナリエディタでプラグインのプログラム中に記載されたプリセットの画素数を書き換えたら変更できたが、多くの手間が必要なので、その版を使うかどうかは決め兼ねている。
      • 単に、プリセット中の希望に近いサイズ(640x480画素)を使うか、プリセットでなく指定すればいいという気はしている(以前はそうしていたと思う)。
    • Favorites(良く使うアルバムへのアクセスを手軽に)機能の追加
    • 簡単な画像の加工が意外にできない(例: 複数画像を並べて新しい画像にする)。
      • こういう場合は、意地を張らずに、手軽にできるXnViewMPを使えばいいのだろう(が、やっぱり気に入らないw)。
  • その他
    • [済?] 左ペーンでHomeを押してもdigiKamのページが表示されないようにする(すごく鬱陶しい)。
      • マウントされたAppImage中のそのページ(/tmp/.mount_digikaXXXXX/usr/share/digikam/about/)をいじれば何とかできそう。
      • → Homeキーの代替ショートカット(Alternate)を"First image"に割り当てて解決したか? Endキーも同様に"Last image"にした。しばらく使って弊害がないか確認する。 (11/11 11:19)
  • 運用
    • タグ(カテゴリ)の階層構造を改良する。
    • カメラからの画像取り込みプログラムがXnViewMP用の新規取り込みファイル一覧を作らないようにする(それほど大きくないので、残してもよい)。
    • 同様に、XnViewMP用の定期自動処理(回転した画像のバックアップを見えないようにrenameする)も止める。

多少の問題はあるが、やっぱり、カメラから画像を取り込んだり画像を追加したら、何もせずにすぐに表示される(認識される)のは気持ちいい(ただし、設定(Collectionsの"Monitor the albums for external changes"をonにする)が必要)。

そんな訳で、気が変わるまではw、digiKamを使うことにした。

 

(11/10 11:32 若干加筆; 11/11 11:26 メモリ使用量監視プログラムとHomeキーの代替ショートカットの件などを加筆; 11/13 17:27 顔認識と類似画像について加筆)

  •  0
  •  0
Keys: , , , , , ,