Ubuntu標準ファイルマネージャ Nautilus へ Nautilus Image Converter 機能拡張 を導入すると、 画像 を右クリックメニューからリサイズ・縮小・回転・変換など様々なアクションをワンクリックで行えるようになりとても便利です。今後 KDE 環境へ移行後も標準ファイルマネージャ Dolphin で同様の機能がないものか、いくつか試してみました。
GNOME標準Nautilus File Managerの場合
長年使っているUbuntuのファイルマネージャNautilusには、画像ファイルに関連した機能を拡張するNautilus Image Converterがあり、
1 2 3 4 5 6 7 8 9 10 11 |
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.6 LTS Release: 18.04 Codename: bionic $ nautilus --version GNOME nautilus 3.26.4 $ apt list -a nautilus-image-converter nautilus-image-converter/bionic,now 0.3.1~git20110416-2 amd64 [インストール済み] |
Nautilus上で画像ファイルを右クリックから、画像サイズの変更や回転ができるスグレモノでした。
今後、KDE系のKubuntuへの移行を進めるに当たり、KDE系のDolphin File Managerでもこのような機能拡張がないものか、実際に試してみます。
Dolphin向け機能拡張その1:Kim (KDE Image Menu)
使用するPCは、NUC8i7BEHに入れたKubuntu 22.04デスクトップです(関連記事はこちら)。標準でインストールされているDolphinのバージョンも、OSと同じものが謳われていました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ uname -a Linux NUC8Kubu 6.2.0-33-generic #33~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 10:33:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy $ apt list -a dolphin dolphin/jammy,now 4:22.04.3-0ubuntu1~ubuntu22.04~ppa1 amd64 [installed,automatic] dolphin/jammy 4:21.12.3-0ubuntu1 amd64 $ kf5-config --version Qt: 5.15.3 KDE Frameworks: 5.98.0 kf5-config: 1.0 |
まず、Dolphin向けの画像関連の機能拡張として見つかったのは、Kim (KDE Image Menu)と呼ばれるものですが、既に開発終了しており、KDE4までにしか対応していません。
その後、有志によりプロジェクトをフォークアウトさせたKim5がその名の通り、現行のKDE5系に対応していました。
オリジナルのKimがダウンロードしたファイルを手作業で配置しなければならなったのに対し、このKim5ではそれらの作業がバッチファイル化されていて安心。
但し、必要なパッケージ imagemagick または graphicsmagick は予めインストールしておかないと、インストーラバッチに怒られます。
1 2 |
$ sudo ./install.sh Can not find executive "montage". Please install it which may be in package "graphicsmagick". |
imagimagick をインストール後、Kim5をローカルへGit Cloneします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
$ git clone https://github.com/caco3/kim5.git Cloning into 'kim5'... remote: Enumerating objects: 216, done. remote: Counting objects: 100% (86/86), done. remote: Compressing objects: 100% (66/66), done. remote: Total 216 (delta 46), reused 42 (delta 20), pack-reused 130 Receiving objects: 100% (216/216), 314.22 KiB | 1.37 MiB/s, done. Resolving deltas: 100% (111/111), done. $ tree kim5 kim5 ├── kim │ ├── ABOUT │ ├── AUTHORS │ ├── ChangeLog │ ├── COPYING │ ├── INSTALL │ ├── install.sh │ ├── manual │ │ ├── index.html │ │ └── work.css │ ├── README │ ├── src │ │ ├── bin │ │ │ ├── kim_album │ │ │ ├── kim_compress │ │ │ ├── kim_convert │ │ │ ├── kim_flipflop │ │ │ ├── kim_galery │ │ │ ├── kim_multiburst │ │ │ ├── kim_other │ │ │ ├── kim_pelemele │ │ │ ├── kim_print │ │ │ ├── kim_record │ │ │ ├── kim_record_mpg │ │ │ ├── kim_rename │ │ │ ├── kim_resize │ │ │ ├── kim_resizeandsend │ │ │ ├── kim_rotate │ │ │ ├── kim_rotatewithexif │ │ │ ├── kim_slideshow │ │ │ ├── kim_sortbydate │ │ │ ├── kim_treatment │ │ │ ├── kim_video │ │ │ └── kim_webexport │ │ ├── gallery │ │ │ ├── index.part1 │ │ │ └── index.part2 │ │ ├── kim_compressandresize.desktop │ │ ├── kim_compressandresizevideo.desktop │ │ ├── kim_convertandrotate.desktop │ │ ├── kim_publication.desktop │ │ ├── kim_translation │ │ ├── po │ │ │ ├── kim5.pot │ │ │ ├── nl.po │ │ │ └── zh_TW.po │ │ └── slideshow │ │ ├── dewslider.swf │ │ ├── index.part1 │ │ └── index.part2 │ └── uninstall.sh ├── KIM5.png ├── LICENSE └── README.md |
サブフォルダ kim の中にある install.sh を管理者権限で実行して、必要なファイルを配置します。
1 2 3 4 5 6 7 |
~/kim5/kim$ sudo ./install.sh QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' ./install.sh: line 69: msgfmt: command not found ./install.sh: line 69: msgfmt: command not found Kim has been installed. Good bye! |
やっていることはシンプルに、実行バイナリを /usr/bin/ へ、コンテキストを定義する .desktop ファイルを /usr/share/kservices5/ServiceMenus/ へコピーしているようでした。
インストール後早速、Dolphin上で適当な画像ファイルを右クリックし、コンテキストメニューに現れたKimの3つの項目とその内容を確認してみます。
現れた3つの項目の類別は以下の通りです。
- Compress and Resize : 圧縮とリサイズ
- Convert and Rotate : 形式変換と回転
- Treatment and Publicicaiton : アニメGIF作成や共有など
圧縮やリサイズは予め用意されているプリセットのほか、カスタムで好きな数値を指定することができます。
使ってみて思ったのは、ピクセルサイズをパーセント指定したリサイズができないこと。画像をざっくり縦横半分の大きさにしたい場合にも、そのサイズを計算して指定しなければならないのは面倒です。
また、画像形式の変換では、変換後に拡張子の変わったファイル名がたまたま存在していても、プロンプト無しでそれが上書きされてしまうので注意が必要です。
Dolphin向け機能拡張その2:ReImage
もう1つの画像向け機能拡張がこちらのReImageです。
インストールにはパッケージインストーラが用意されているものの、レポジトリは無さそうなので公式サイトからdebパッケージをダウンロードしてそのままインストール。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ ls -l ~/Downloads/ -rw-rw-r-- 1 user user 16640 Sep 26 13:43 kde-service-menu-reimage_2.5_all.deb $ sudo apt install ~/Downloads/kde-service-menu-reimage_2.5_all.deb Note, selecting 'kde-service-menu-reimage' instead of '/home/user/Downloads/kde-service-menu-reimage_2.5_all.deb'The following additional packages will be installed: freeglut3 jhead webp The following NEW packages will be installed: freeglut3 jhead kde-service-menu-reimage webp 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 213 kB/230 kB of archives. After this operation, 846 kB of additional disk space will be used. Do you want to continue? [Y/n] y |
配置されるファイルはKim5と同じような構成ですが、実行バイナリが reimage-kdialog にまとめられていました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ tree ./ ./ └── usr ├── bin │ └── reimage-kdialog └── share ├── doc │ └── kde-service-menu-reimage │ ├── AUTHORS │ ├── README │ ├── changelog.gz │ ├── copyright │ └── menu.config └── kservices5 └── ServiceMenus ├── reimage-compress-resize.desktop ├── reimage-convert-rotate.desktop ├── reimage-metadata.desktop └── reimage-tools.desktop |
画像ファイルを右クリックしてみると、Kim5よりメタデータ関連の項目が増え、計4つの項目がありました。
- Compress and Resize : 圧縮とリサイズ
- Convert and Rotate : 形式変換と回転
- Metadata : メタデータ操作
- Tools : アニメGIFや画像効果
Kim5同様、リサイズや圧縮は用意されているプリセットの他、値を指定することが可能で、こちらはリサイズのパーセント指定が可能なのが利点。
さらに、画像ファイル内のExifメタデータの表示や削除機能がありました。スマホやデジカメの画像をSNSやメールで送る際に使えそうです。
なお、ReImage開発者のサイトにはPDF向けのDolphin機能拡張もあり、こちらも気になります。
Kim5のアンインストール
以上2つのDolphin機能拡張を試した結果、ReImageに軍配が上がったので、Git CloneしたKim5のフォルダへ戻ってアンインストールします。
1 2 3 4 5 6 |
~/kim5/kim$ sudo ./uninstall.sh [sudo] password for user: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' Kim has been removed. Good bye. |
コンテキストメニューからKimが無くなりました。
余談)画像ビューアGwenviewの不具合
今回試した2つの機能拡張どちらにおいても、回転させたPNG画像をKDE標準の画像ビューアGwenviewで開くと白く霧が掛かったように表示されてしまいます(下図左)。
この画像をUbuntu標準の画像ビューアEye of GNOME (eog) で開くと問題はないので(同右)、Gwenviewの問題なのでしょう。
ということで、Kubuntuへeogをインストールして既定の画像ビューアとして使うことにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo apt install eog The following additional packages will be installed: enchant-2 gir1.2-peas-1.0 gnome-desktop3-data libenchant-2-2 libexempi8 libgnome-desktop-3-19 libhandy-1-0 libharfbuzz-icu0 libjavascriptcoregtk-4.0-18 libmanette-0.2-0 libpeas-1.0-0 libpeas-common libwebkit2gtk-4.0-37 libwpe-1.0-1 libwpebackend-fdo-1.0-1 libxkbregistry0 libyelp0 xdg-dbus-proxy yelp yelp-xsl Suggested packages: eog-plugins libenchant-2-voikko gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-alsa The following NEW packages will be installed: enchant-2 eog gir1.2-peas-1.0 gnome-desktop3-data libenchant-2-2 libexempi8 libgnome-desktop-3-19 libhandy-1-0 libharfbuzz-icu0 libjavascriptcoregtk-4.0-18 libmanette-0.2-0 libpeas-1.0-0 libpeas-common libwebkit2gtk-4.0-37 libwpe-1.0-1 libwpebackend-fdo-1.0-1 libxkbregistry0 libyelp0 xdg-dbus-proxy yelp yelp-xsl 0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded. Need to get 31.1 MB of archives. After this operation, 111 MB of additional disk space will be used. Do you want to continue? [Y/n] y $ eog --version GNOME Image Viewer 42.0 |