flatpak経由でMeldをインストール

環境構築
Author

Ryo Nakagami

Published

2025-08-18

Modified

2025-08-21

今回の方針

Meldの導入
  • Meldはファイル間やディレクトリ間のdiffをGUIベースで可視化してくれるツール
  • Linux版のWinMergeみたいなツール

Git管理されたディレクトリでは.gitconfigで設定したEditorでのgit difftoolで十分かなと考えていますが, Git管理されていないファイルをアドホックに差分比較したいときに使うツールとしてMeldの利用を考えています.

GUI差分ツールでの利用のみなので,今回はaptではなくflatpak経由でのインストールを実行します.

環境情報

% lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.3 LTS
Release:    24.04
Codename:   noble

flatpakでインストール可能なVersion

% flatpak search Meld                                                                                       
Name       Description                        Application ID       Version       Branch       Remotes
Meld       Compare and merge your files       org.gnome.meld       3.22.3        stable       flathub

aptでインストール可能なversion

% apt-cache policy meld
meld:
  Installed: (none)
  Candidate: 3.22.2-1
  Version table:
     3.22.2-1 500
        500 http://jp.archive.ubuntu.com/ubuntu noble/universe amd64 Packages
        500 http://jp.archive.ubuntu.com/ubuntu noble/universe i386 Packages

まとめ時点ではあんまりバージョン変わらない...

flatpak経由でのMeldインストール

Definition 1 ユニバーサルパッケージ

  • Linuxディストリビューションに依存しないパッケージのこと
  • 依存関係は原則存在せず,必要なものはすべてパッケージの中に取り込んだ状態で提供(アプリ用の環境まるごと提供)
  • サンドボックス化によるセキュリティの向上と,ディストリビューションとアプリケーションの分離の推進
  • snapflatpak でインストール可能なパッケージがユニバーサルパッケージ

Debianならapt, dpkg,RHEL系ならdnf, yum, prm などLinuxディストリビューションに応じてパッケージマネージャを使い分ける必要があります. なにかしらのアプリをインストールしたいとき,ユーザーはディストリビューションに応じてコマンドがありますし,アプリの開発者はディストリビューション毎に「依存関係の解決」に対応したパッケージを作る必要があります.

Linuxユーザー,Linux用アプリ開発者が直面したこのような状況への対応作として登場したのがユニバーサルパッケージという概念です. 基本的に必要なものはすべてパッケージの中に取り込んだ状態で提供するので,Linuxカーネルとパッケージ管理システムが動いているシステムならどこでも利用可能です.

ユニバーサルパッケージのデメリット

項目 内容
ディスク容量 ライブラリを同梱するため,同種のライブラリが重複し容量を消費する
起動・性能 サンドボックスや抽象化層を経由するため,ネイティブパッケージより起動が遅い場合がある
システム統合性 テーマやフォント,ファイルシステムとの統合が弱く,見た目や操作感がネイティブより不自然になることがある

snap vs flatpak

観点 Snap Flatpak
依存関係と容量 依存関係を各パッケージに同梱.重複が発生しやすく,容量効率が悪い 依存関係を各パッケージに同梱するが,ランタイム共有とデータ重複排除(deduplication)により容量効率が良い
セキュリティ サンドボックス化は可能だが必須ではない デフォルトでサンドボックス化され,明示的な権限許可が必要
運営主体 Canonical(Ubuntu開発元)が中央管理.バックエンドは事実上プロプライエタリ コミュニティ主体.仕様やコードはオープン
システム統合 Snapごとにマウントされるため,lsblk 出力を汚す(多数のloopデバイスが見える) そうした副作用はない
アップデート制御 強制的に自動更新され,ユーザーが制御できない ユーザーが更新のタイミングを選べる
アプリ(バックエンド系) CLIツールやバックエンド系アプリなどインフラ関連をCanonicalが公式に提供 基本はGUIデスクトップアプリ中心

flatpak Setup and Meld Install

Step 1: Flatpakのインストール

% sudo apt install flatpak

Step 2: GNOME Software pluginのインストール

Flatpak アプリを GNOME Softwareから扱えるようにするためFlatpak用のpluginを導入します.

# プラグイン導入
% sudo apt install gnome-software-plugin-flatpak

Step 3: リポジトリ登録

初期状態ではどこのリポジトリも登録されていないので,リポジトリ登録します

# Flathub(Flatpak のメインリポジトリ)を追加
% flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Step 4: Restart system

システムの再起動を行うことで,GNOME Softwareが Flatpak への対応が完了します.

Step 5: Meldのインストール

CLIでインストールする場合は以下のコマンドを実行します

% flatpak install flathub org.gnome.meld
Publisherの確認のすすめ
  • FlatpakでGoogle chromeパッケージは提供されていますが,提供元は verified されていません.おそらく問題はないですがパッケージインストール時に確認するクセをつけましょう.
  • Firefoxの方はverified されたMozillaが提供していることが確認できます

chrome not verified

firefox verified

flatpakの使い方

install syntax

flatpak install flathub com.github.tchx84.Flatseal
項目 説明
flatpak faltpak command
install faltpak commandへの指示コマンド
flathub ダウンロードパッケージの登録レポジトリ
com.github.tchx84.Flatseal パッケージ名
Flatsealパッケージ
  • Flatpakパッケージのpermission管理用のツール
  • GUIベースでAppごとにリソースマネジメントが可能

[インストールの種類: User vs System Mode]

デフォルトではFlatpakはアプリをsystem modeでインストールします.ユーザーAがThunderbirdをflatpakでインストールすると,同じシステムの別ユーザーもアプリを利用することができます. ユーザー専用でアプリを使用したい場合は

flatpak --user install flathub org.mozilla.Thunderbird

となります.--user optionを利用してインストールしたアプリを削除するときは

flatpak --user uninstall org.mozilla.Thunderbird

とする必要があります.flatpak update についても同様です.

flatpak appのconfig格納先

homeディレクトリ下の .var に以下にconfigファイルを含めた形で格納されています

% ls ~/.var/app
org.gnome.meld/

その他コマンド

コマンド 説明
flatpak remotes 登録されたリポジトリリストの確認
flatpak remote-delete <repository> 登録されたリポジトリの削除
flatpak update インストール済み Flatpak アプリ・ランタイムを更新する
flatpak list インストール済みのすべての Flatpak を一覧表示する
flatpak list --app インストール済みのアプリ(アプリケーションのみ)を一覧表示する
flatpak history インストール・削除・更新などの操作履歴を確認する

References