2020年7月30日木曜日

Thunderbird: Locked=1の罠?

先日,Thunderbirdのバージョンが78に上がった。アドオンがいろいろ使えなくなって困るけど,セキュリティ的に必要だって言うし,一旦上げたら戻せないみたいな情報もあったので,とりあえず使い続けている。Account Colorsが使えないのが一番困る。

それはさておき。

自分の利用環境は職場のデスクトップPCと持ち歩きのノートPC。デスクトップはもう7年くらい使ってるのかな?第4世代のi5だし。一方ノートPCは去年の11月に買った。

結論から言えば,この購入時期の違い=Thunderbirdを最初にインストールしたバージョンの違いが重要だった。あるバージョンから,それがいくつかは知らないが,自動で作成される installs.ini と profiles.iniの中身に Locked=1 がつくようになったものの,しばらくはそれがなくても動いていた(68まで?)。ところが,78からは Locked=1 がないとダメになったということのようだ。

自分はThunderbirdのプロファイルフォルダをC:\Networkに作り,installs.iniとprofiles.iniにパスを指定して使っている。んで,2台のPCに同じ階層のフォルダを作り,両者をバックアップ・同期ソフトで同期している。

ここ数日,デスクトップのThunderbirdだけ,IMAPを読まなくなった。ノートPCは家でも職場でも問題なし。タイミング的に,Ver. 78になってから発生した感じ。

職場での状況をもう少し詳しく書くと,
  • 内部サーバにはどっちのPCからでも読み書きできる
  • デスクトップから外部サーバへの接続は全部不可能(Gmail, yahoo, hotmailなど全部)
    • 一見繋がったように見えて何もしない(「…に接続しました」だけがステータスバーに表示され,何も起こらない)
    • ログインエラーも出ない
    • タイムアウトも出ない
  • セキュリティを外しても変わらない
  • LANアダプタの設定も影響なし
  • Thunderbirdをセーフモードで起動してもダメ

ノートの環境(C:\Network\Thunderbird)をそのままデスクトップに完全コピーしてもダメなのが不思議。つまり,Thunderbirdフォルダ(C:\Network\Thunderbird)の中身はこの問題に関係ない。

そこで,Outlookで接続してみる…OK。ということは,Thunderbirdの何かがおかしい。

Thunderbirdのプロファイルを完全にリセットしてみる。つまりC:\Users\######\AppData\Roaming\Thunderbirdの下のiniファイルを一時退避。
まっさらインストールと同じ状態で動かしてみる…OK。ちゃんと読めた。

ということは,プロファイル設定のiniファイル内の記述が問題。ここはPC間のThunderbird環境の同期設定には含まれないので。

では,ノートとデスクトップのinstalls.iniとprofiles.iniの中身を比較…そしたら,ノートにはLocked=1があり,デスクトップにはなかった。

そう,ノートは比較的最近買ったので最初にインストールしたThunderbirdが新しかった。デスクトップは古いから,初期設定がかなり前だったのね…そして,ノートのiniファイルは,はっきり覚えてないけどデスクトップからまるまるコピーしたんじゃなくて中身を書き換えたからLocked=1が残ったんだろう。

もしこれをデスクトップからノートにコピーして,結果Locked=1を消しちゃってたら…もっと解決への道のりは難航していただろう。それでもプロファイルリセットまで行けば何らかの手がかりは得られたと思うけど。

ということで,現在ちゃんと動く環境の各iniファイルはこんな感じになる。

installs.ini:
[D78BF5DD33499EC2]
Default=C:\Network\Thunderbird\profile
Locked=1

profiles.ini:
[InstallD78BF5DD33499EC2]
Default=C:\Network\Thunderbird\profile
Locked=1


[Profile0]
Name=default
IsRelative=0
Path=C:\Network\Thunderbird\profile
Default=1


[General]
StartWithLastProfile=1
Version=2

まとめ:使用経歴が古すぎる環境は,ずっと使えていても更新されたときにいきなり問題を生じることがある,という教訓(?)。

しかし,結局Locked=1という記述は何を意味しているんだろう?一説には複数PCからIMAPに同時アクセスするケースにおいて排他制御をするとかなんとか…よくわからん。