Z.OOL.ネット信託統治領 はてな諸島

こちらは "Z.OOL.ネット信託統治領 はてな諸島" です。

Debian noroot 環境において Firefox の動作に関する問題とその回避策について (再掲)

この投稿は、技術的事項についての速報的で簡易な短信についての投稿であり、
以前の投稿の再掲です。どうか宜しくお願い致します。


[BGM]: Portable Rock (Maki Nomiya) - ペーパームーン ("Paper Moon")

本稿について

この投稿は、以下に投稿された過去の Qiitadon.com のセルフモーメントの投稿を再編した上で、再掲したものです。

z80oolong.hatenadiary.jp

また、本稿は、技術的事項についての速報的で簡易な短信についての Z.OOL.ネット信託統治領 Qrunch 諸島からのクロス投稿です。

本稿は、以下の Qrunch 諸島の投稿から御覧になれます。どうか御了承下さい。

z80oolong.qrunch.io

追記 (2019/01/23)

ディレクト/var/cache/apt/archives にファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在しない場合について、ファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb の取得に関する内容について追記を行いました。どうか御了承下さい。

なお、本件に関する改稿にあたって、問題報告を頂いた @waterlilyllc 氏には、誠に御手数をお掛け致しますと共に、心より感謝致します。

追記 (2019/01/28)

ディレクト/var/cache/apt/archives にファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在しない場合のファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb の取得について、取得先の Github への移行に伴うリンクの変更を行いました。どうか御了承下さい。

追記 (2019/02/07)

本稿の続きとなる速報的短信として、次の Qrunch 諸島に以下の通り投稿を行いました。 Firefox ESR の最新版に対する回避策です。

z80oolong.qrunch.io

概要

Debian noroot 環境において Firefox ESR を導入した場合、最新の Firefox を起動すると、 Firefox の画面が何も表示されない障害が発生することがあります。

これは、 Firefox の起動時に共有メモリに関するディレクト/dev/shm を参照した時に、 /dev/shm が一般ユーザに対してアクセス権限が適切に与えられない状態にある事が原因であると考えられます。

また、 Firefox が共有メモリを Debian 環境内の標準ライブラリ関数 shmat(2) 等を介して操作していない事も原因として考えられます。

この問題は、旧版の Firefox のうち、共有メモリを Debian 環境内の標準ライブラリ関数 shmat(2) 等を介して操作しているバージョンにダウングレードする事によって回避する事が出来ます。

ここでは、 Firefox ESR のダウングレードによって Firefox の問題を回避する手法について述べます。

ダウングレードの準備

本稿では、 Firefox ESR のバージョンを 45.9 にダウングレードする手法について述べます。

まず最初に、ディレクト/var/cache/apt/archives において、ファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在する事を確認します。

ここで、ディレクト/var/cache/apt/archives にファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在しない場合は、以下の Github リポジトリより当該ファイルを取得します。

そして、ファイル firefox-esr_45.9.0esr-1~deb8u1_armhf.deb を適当なディレクトリに以下のようにコピーします。

  $ cp /var/cache/apt/archives/firefox-esr_45.9.0esr-1~deb8_1_armhf.deb .

次に、任意の .deb ファイルをインストールするためのソフトウェアである gdebi を以下のようにインストールします。

  $ sudo apt-get install gdebi

Firefox ESR のダウングレード

そして以下のようにして、パッケージ firefox-esr_45.9.0esr-1~deb8_1_armhf.deb をインストールします。

  $ sudo gdebi ./firefox-esr_45.9.0esr-1~deb8_1_armhf.deb

Firefox ESR の動作確認

最後に、以下のようにして、バージョン 45.9 にダウングレードした Firefox を起動して、 Firefox が正常に動作するか確認します。

  $ firefox &

上記のダウングレードにより、 Firefox の画面が正常に表示されれば、 Firefox ESR が問題無く動作する事が判ります。

Debian noroot 環境において Firefox ESR を導入した場合、最新の Firefox を起動すると、 Firefox の画面が何も表示されない障害が発生することがあります。

これは、 Firefox の起動時に共有メモリに関するディレクト/dev/shm を参照した時に、 /dev/shm が一般ユーザに対してアクセス権限が適切に与えられない状態にある事が原因であると考えられます。

また、 Firefox が共有メモリを Debian 環境内の標準ライブラリ関数 shmat(2) 等を介して操作していない事も原因として考えられます。

この問題は、旧版の Firefox のうち、共有メモリを Debian 環境内の標準ライブラリ関数 shmat(2) 等を介して操作しているバージョンにダウングレードする事によって回避する事が出来ます。

ここでは、 Firefox ESR のダウングレードによって Firefox の問題を回避する手法について述べます。

ダウングレードの準備

本稿では、 Firefox ESR のバージョンを 45.9 にダウングレードする手法について述べます。

まず最初に、ディレクト/var/cache/apt/archives において、ファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在する事を確認します。

ここで、ディレクト/var/cache/apt/archives にファイル firefox-esr_45.9.0esr-1~deb8_1_armhf.deb が存在しない場合は、以下の Gist より当該ファイルを取得します。

github.com

そして、ファイル firefox-esr_45.9.0esr-1~deb8u1_armhf.deb を適当なディレクトリに以下のようにコピーします。

  $ cp /var/cache/apt/archives/firefox-esr_45.9.0esr-1~deb8_1_armhf.deb .

次に、任意の .deb ファイルをインストールするためのソフトウェアである gdebi を以下のようにインストールします。

  $ sudo apt-get install gdebi

Firefox ESR のダウングレード

そして以下のようにして、パッケージ firefox-esr_45.9.0esr-1~deb8_1_armhf.deb をインストールします。

  $ sudo gdebi ./firefox-esr_45.9.0esr-1~deb8_1_armhf.deb

Firefox ESR の動作確認

最後に、以下のようにして、バージョン 45.9 にダウングレードした Firefox を起動して、 Firefox が正常に動作するか確認します。

  $ firefox &

上記のダウングレードにより、 Firefox の画面が正常に表示されれば、 Firefox ESR が問題無く動作する事が判ります。