LinuxのThunarファイルマネージャーで画像を圧縮・リサイズする方法
ブログのページ用に特定の解像度へ合わせるなど、日々画像の再圧縮やサイズ変更を繰り返していませんか?その作業をワンクリックで完結させられたら便利ですよね。実は、Thunarが持つ外部コマンド連携機能(カスタムアクション)を活用すれば、それが簡単に実現できます。
なお、この手法はThunarに限らず、Konquerorのような「カスタマイズ可能」なファイルマネージャーでも同様に行えます。
仕組みはシンプルです。ファイルを選択すると、Thunarはそのフルパスをパラメーター「%f」として渡します。この性質を利用して、ImageMagickのコマンドをカスタムアクションとして登録すれば、Thunar上から直接画像の圧縮とリサイズを行えるようになります。
ThunarとImageMagickをインストールする
お使いのディストリビューションにまだインストールされていない場合は、普段使っているソフトウェア管理ツールやパッケージマネージャーで「thunar」と「imagemagick」を検索してインストールしてください。Debian系ディストリビューションなら、以下のコマンド一発で完了します。
sudo apt-get install thunar imagemagick
ターミナル操作が苦手な方もご安心ください。多くのディストリビューションには、いわゆる「アプリストア」としてGUIソフトウェアセンターが搭載されています。そこからプログラムを検索して「インストール」ボタンを押すだけでも導入できます。
ImageMagickのオプション一覧ページを確認する
今回は「選択した画像を縮小して、圧縮済みのJPGとして保存する」処理に絞って解説しますが、ImageMagickには画像を加工するためのオプションが数十種類も用意されています。公式サイトのOptions Summaryページを見てみると、できることの幅に驚くはずです。これらのオプションを組み合わせれば、今回作成するコマンドをさらに高度なものにしたり、用途別に異なるコマンドを作ったりすることも自由自在です。
テスト用フォルダを作り、画像をコピーする
まず大前提として、元ファイルには絶対に直接手を加えないでください。ひとつ操作を間違えるだけで、画像が上書きされたり、最悪の場合は永久に失われたりします。「ピクチャー」フォルダ内などにテスト用フォルダを作成し、実験台となる画像をいくつかコピーしておきましょう。
フォルダを開いたら、Thunarのファイル一覧の空いている部分を右クリックし、メニューから「端末を開く」を選択します。これで現在のフォルダをカレントディレクトリとしたターミナルが起動します。
最適な圧縮率と品質のバランスを見つける
次のステップは、自分にとってベストな「圧縮率と画質のバランス」を探すことです。感覚は人それぞれなので、筆者にとって綺麗に見える設定が、あなたには粗く見えるかもしれません。また、画像の内容によっても適正値は変わります。写真のように柔らかい質感の画像は比較的高い圧縮率に耐えられますが、輪郭のはっきりしたイラストは低めの圧縮が向いています。さらに、文字の可読性が重要なスクリーンショットは、その中でも特に慎重な設定が必要です。
以下のコマンドを使って何度かテストし、自分に合った最適値を見つけてください。
magick 入力ファイル -quality QQ 出力ファイル
「入力ファイル」は元画像、「出力ファイル」は圧縮・変換後の結果ファイル名です。「QQ」には1〜100の数値を指定します。数値が大きいほど高画質・低圧縮になり、小さいほど強く圧縮されます。
画像のリサイズ(縮小)を行う
「リサイズ」と「縮小」は似て非なる概念です。リサイズでは拡大も可能だからです。ImageMagickで画像のサイズを変更するには、次のコマンドを使用します。
magick 入力ファイル -resize 1920x1200 出力ファイル
ここでは1920×1200という解像度を例にしています。少し珍しい数字に聞こえるかもしれませんが、これは16:9ではなく16:10比率のモニターを使っているためです。一般的なフルHD環境なら1920×1080になるでしょう。解像度の数値はご自身の用途に合わせて自由に変更してください。
なお、ImageMagickはデフォルトで画像の縦横比を維持し、片方の辺のみを基準にスケーリングするため、画像が歪む心配はありません。ただし、このままだと指定解像度より小さい画像まで拡大されてしまいます。Web用に画像を軽量化したいのが目的なら、それは避けたいところですよね。解像度指定の後に「>」記号を追加すれば、「元画像が指定サイズより大きい場合のみ縮小する」という挙動になります。
magick 入力ファイル -resize 1920x1200> 出力ファイル
コマンドをThunarに登録する
理想の圧縮率・品質バランスと目標解像度が決まったら、ターミナルで確定したコマンドをクリップボードにコピーします。続いてThunarのメニューから「編集 > アクションの設定…」を開きましょう。
アクションの名前を入力し、必要であれば説明文も追加します。そして、コピーしておいたImageMagickのコマンドを「コマンド」欄に貼り付けます。
貼り付けたら、コマンド内の入力ファイル名の部分を「%f」に書き換え、出力ファイル名の部分を「%f_output」に変更してください。こうすることで、選択した画像ファイルのパスが自動的にコマンドへ引き渡されるようになります。
さらに重要なのが表示条件の設定です。条件を指定しないとアクションが正しく動作しないため、「表示条件」タブに移動して「画像ファイル」にチェックを入れます。これで、画像ファイルを選択したときにだけこのアクションが表示されるようになります。「OK」をクリックすれば、カスタムアクションの登録は完了です。
カスタムアクションを試してみる
以降は、画像ファイルを右クリックするたびに、登録したカスタムアクションがコンテキストメニューに現れます。選択して実行すると、同じフォルダ内に「_output」という接尾辞が付いた、圧縮・縮小済みの新しいファイルが生成されます。
一点だけ注意点があります。Thunarはファイル名から拡張子を除いた「ベースネーム」だけをImageMagickに渡すことができないため、出力ファイル名に元の拡張子が含まれた形になります。これを回避する方法もありますが、より複雑なスクリプトを組む必要があるため、ここでは割愛します。
とはいえ、それはまた別の話。今のところは、圧縮レベルや目標解像度を変えた複数のバリエーションを登録してみてはいかがでしょうか?用途に応じたアクションが、いつでも右クリックひとつで呼び出せるようになりますよ!
-
Linuxはユーザーパスワードをどう保存・管理しているのか?仕組みを徹底解説
Linuxはどのようにして複数ユーザーが存在する環境を効率的に管理しているのでしょうか?本記事では、Linuxがユーザーのパスワードやログイン情報をどのように保存・管理しているのかを詳しく解説します。 /etc/passwd ファイルの中身を見てみよう ユーザーがユーザー名とパスワードを入力すると、Linuxは「/etc」ディレクトリ内の複数のファイルと照合し、入力されたパスワードが正しいかどうかを確認します。 「/etc/passwd」はユーザー情報を保存する最も重要なファイルの一つです。 このファイルの最後のエントリは「carbon」というユーザーに対応するものです。各項目は
-
LinuxターミナルでFFmpegを使って動画ファイルサイズを圧縮する方法
パソコンのストレージやクラウドサービスに動画を保存していると、容量不足に悩まされることがあります。ファイルサイズを小さくできれば、大きなファイルも増え続ける動画コレクションも簡単に管理できます。ただし、その方法によって圧縮効果は大きく異なります。 動画ファイルのサイズを最適化できるツールは数多く存在します。しかし、VLC、Cinelerra、Blenderといった有名ツールの多くは、UIの裏側で「FFmpeg」というコマンドラインユーティリティという共通のエンジンを利用しています。この記事では、LinuxターミナルからFFmpegを使って動画ファイルサイズを縮小する方法をご紹介します。 FF