Ubuntu 21.10 でもそうでしたが、今回發表された Ubuntu 22.04 では、標準ブラウザ Mozilla Firefox は Snap版のみの提供になります。

前回も色々物議を醸しましたが、今回もやはり色々とややこしそうです。

 

 

Ubuntu 22.04 Snap版の Mozilla Firefox では一部のアドオンに問題が...

Ubuntu 22.04 LTS Desktop

Ubuntu 22.04 LTS Desktop

Snap版の Firefox を採用するメリットは、

  • バックグラウンドで常に最新版にアップグレード
  • セキュリティの観点で、システムから分離、隔離された環境で動作

が挙げられるのかなと思います。

これによって、ユーザーである私達が受けるデメリットは、

  • 起動時間が少し長くなる
  • システムと連携するようなアドオンが動作しません(GNOME Shell Extentions は使用できません)
  • ローカルサービスと連携するようなアドオンが動作しません(KeepassXC によるパスワード入力ができません)

この内、GNOME Shell Extentions については、Ubuntu アプリでインストールすることで代用が可能なので良いとして、私にとっては KeepassXC が使えないのは、

致命的

なんですよ。

 

Snap版 Firefox を駆逐し、debパッケージ版を導入

この自身にとって「致命的」な問題を解消するために、

snapに代わって debパッケージで Firefox をインストールする ことにしたいと思います。

 

Snap版 Firefox をアンインストール

まず最初に、Snap版の Firefox をアンインストールします。

sudo snap remove firefox

 

Mozilla Firefox の PPA をシステムに追加

次に、Mozilla Team が提供している PPA(Personal Package Archive)のリポジトリを追加します。

sudo add-apt-repository ppa:mozillateam/ppa

 

add-apt-repository を使用する前に、software-properties-common パッケージを導入しておく必要があるかもしれません。

sudo apt install software-properties-common

 

PPA からのダウンロードを優先するように設定

これで、PPA から debパッケージ版の Firefox を導入できるように設定したのですが、この結果、 Firefox のダウンロードの経路は Snap と PPA の2つの経路が作られました。

よって、/etc/apt/preferences.d/mozilla-firefox を作成することで、apt にPPAからのダウンロードを優先するように教えてあげましょう。

echo '
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001

Package: firefox*
Pin: release o=Ubuntu*
Pin-Priority: -1
' | sudo tee /etc/apt/preferences.d/mozilla-firefox

ちなみに上記の設定ですが、Pin-Priority の値はインストール元の優先度になります。この Pin-Priority で指定されている値の説明は以下のとおりです。

1001
この値を設定することで、たとえダウングレードになったとしても、この優先度が指定されたリポジトリからインストールします。
-1
この値を設定することで、ここで指定したバージョンからのインストールを禁止します。

 

あと、自動的にパケージをアップグレードできるように次のようにしておくことで、更に幸せになれるかもしれません。

echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

 

最後に、apt-cache policy コマンドで、先程の Pin-Priority が正しく反映されているか確認します。

筆者の環境ですと以下のとおりになります。

$ apt-cache policy firefox
firefox:
  インストールされているバージョン: 101.0.1+build1-0ubuntu0.22.04.1~mt1
  候補:               101.0.1+build1-0ubuntu0.22.04.1~mt1
  バージョンテーブル:
     1:1snap1-0ubuntu2 -1
        500 http://jp.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
 *** 101.0.1+build1-0ubuntu0.22.04.1~mt1 500
        500 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status

 

AppArmor の設定

AppArmor は簡単に言えば、プログラムに対するアクセス制御を提供するシステムです。

KeepassXC と Firefox が通信できるようにするには、AppArmor による Firefox に対するアクセス制御を無効にする必要があります。

そのために、/etc/apparmor.d/usr.bin.firefox へのシンボリックリンクを /etc/apparmor.d/disable/ に張ります。その上で、カーネルに AppArmor の定義から Firefox に関する設定を削除するように教えてあげます。

$ sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
$ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox

 

やはり Snap パッケージ版の Firefox に戻したい!

将来的には、Snap版パッケージが改善されるかもしれません。

そうしたら、元通り Snapパッケージを優先するようにしたいという場合、前項の、

  • /etc/apt/preferences.d/mozilla-firefox
  • /etc/apt/apt.conf.d/51unattended-upgrades-firefox

の2つのファイルを削除し、次に、

  • /etc/apt/sources.list.d/ にある mozillateam-ubuntu-ppa-jammy.list を削除

するか、ファイルの内容をコメントアウトした上で、

sudo apt update && sudo apt install firefox

とします。

 

Let's enjoy Linux Life!

これで、ようやく KeepassXC のパスワード補完をできるようになりました。


 

 
Share this...
カテゴリー: Linuxubuntu

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。