先日、Firefoxに移行しようとした時に見つかった問題を解決(正確には暫定対処)できた。

現象

  • ChromeやVivaldi(以下、Chrome)を起動すると、Firefoxが一時(十秒程度)ハングする。
  • Firefoxの子プロセス(-contentprocの付いているもの)のプロセス(複数)の負荷が高くなり、その間、Firefoxの操作ができなくなる。

試したこと・原因調査など

対処

僕がChromeを使うのは、Authyのアプリを使う時だけなので、その時だけ通常の~/.fontsを無効にする起動スクリプトを作った。以下に、ブラウザがVivaldiの場合の例を示す。

  • 準備
    1. Authyアプリ用の仮のHOMEを作る。 → ~/.gca-authy-home
    2. そこでAuthy用のVivaldiとAuthyを初期設定する。
      1. Authy用Vivaldiの起動: (export HOME=$HOME/.gca-authy-home; vivaldi)
      2. 以下、Authy用Vivaldiでの作業
        1. Authyのアドオンをインストールする。
        2. Authyのアプリをインストールする。
        3. Authyアプリを起動して初期設定する。
    3. AuthyアプリのIDを調べる。
      • $HOME/.gca-authy-home/.config/vivaldi/Default/Extensions下のいずれか(おそらく最新のもの)がAuthyアプリのディレクトリのはず(その下のmanifest.jsonの中のapp_nameやdescriptionを調べれば確実)なので、その名前がID。
      • IDはスクリプトで調べると便利である(例は次を参照のこと)。
  • Authy用VivaldiでAuthyアプリを起動する。以下のようなスクリプトを作った(エラー処理は非記載)。

tmp_home=$HOME/.gca-authy-home # 仮のHOME
app_name_pat="\"app_name\":\s+\"authy\"" # Authyアプリの検索パターン

# AuthyアプリのIDを調べる。 → $app_id
app_fname=`find $tmp_home/.config/vivaldi/ -type f -name "manifest.json" -exec egrep -m 1 -l "$app_name_pat" {} \;`
app_id=`echo "$app_fname" | sed -r -n 's@.+Default/Extensions/([^/]+)/.+@\1@p'`

# VivaldiでAuthyアプリを起動する(太字部分はAuthyアプリのID)。
export HOME=$tmp_home
exec /usr/bin/vivaldi --app --app-id=$app_id

備考

  • パッケージfontconfigを更新すれば直るという情報もあるが、解決しない(ハングする時間が短くなるだけ)という情報もあった。
  • Authyアプリだけなら、Vivaldiのメモリ使用量は600MB以下と少ない(良く考えると、大きいw)。仮のHOMEのサイズも40MB程度と小さい(今後、キャッシュで増えるかも)。

 

Authyが手軽に使えるようになったので、Firefoxへの移行は問題なさそうだ。ただ、将来、Chromeアプリはなくなるようなので、その時はどうなるか心配はある。が、それはAuthyの問題で、Firefoxとは関係ないので、その時に考えれば良い。

  •   0
  •   0

6件のコメント

  1. naoki:

    そんな問題があったんですか。

    それにしても、鮮やかに解決されますね。
    スクリプトを作るとか、本当格好いいです。憧れます。

    •   0
    •   0
  2. れんと:

    ●ありがとうございます。そうなんです。Linuxだけだと思いますが。それにしても、全く無関係の2つのアプリが影響し合うなんて、信じられませんでした。

    前から気になっていたので、起きたらどうにもやりたくなって、調べたらヒントが見つかったので、やり出したらうまく行きました。おかげでドライブに行く気が半減ですw

    このスクリプトは、小さいけど結構おもしろかったです。自動でIDを見つけるのは、我ながらいいですw

    •   0
    •   0
  3. naoki:

    ドライブに行く気半減ww

    いや、たまにはエンジン回してやらないと、
    バッテリーが気になります。

    僕も入院中、全くコペンを動かしてなかったので、
    今日は内科受診してから伊香保に行くつもりですが
    カミさんには
    「痛くなって動けなくなっても迎えに行けないよ!」
    と止められてますw

    •   1
    •   0
  4. れんと:

    ●満足しちゃったとか、もっと改良したいとかでw・・・

    でも、天気はいいし、バッテリーも気になるので、これから出ようかなとw

    え、なおきさん、運転とは元気過ぎませんか??w 首は回せます?

    •   0
    •   0
  5. naoki:

    首は回せないんですが、ポリネックをつけていてもつい回してしまうというかw

    お恥ずかしながら、れんとさんから返信いただいてから今日までに、ドライブの件でカミさんと結構な喧嘩をしました。

    最終的にはお互い歩み寄ったんですが、
    まあ、運転翌日に伊香保とか言ったら普通の家族は心配しますよねw

    僕は僕で、それを励みに頑張った、というのもあったんですが……。

    ちょっとカミさんの言うことも聞いて、少しおとなしくしようと思いました。

    •   1
    •   1
  6. れんと:

    ●そうでしたか。元気があるのは良いことだと思います。運転したかった気持ちが良く分かります。楽しいですもんね。ずっと病院だったら、そういうことが待ち遠しくなりますね。

    一方で、僕には奥さんの心配されるお気持ちも良く分かります。仮に僕だったら、自分で心配して、一人では行けない気がします。

    ですので、お互いに歩み寄られたのは良かったと思います。例えば、最初は近場で試すとかが良いと思います。

    •   1
    •   0

コメントを書く

名前    

メール 

URL