Firefox 5を使用していますが、拡張機能が プロファイルフォルダ ...のextensions
サブフォルダにあることはすでに知っています。ただし、特定の拡張機能がどこにあるかを見つける必要があります(たとえば、 CoLT )が見つかりました。問題は、ほとんどの拡張フォルダがguidによって名前が付けられていることです。
extensions$ ls
{232ac1d3-4d70-4919-8338-48c3d3f98afc}
{29c4afe1-db19-4298-8785-fcc94d1d6c1d}
{2bfc8624-5b8a-4060-b86a-e78ccbc38509}
{33f141c0-3703-4a4c-b459-cec618a7dafd}
...
次に、「Gecko 2.0(Firefox 4/Thunderbird 3.3/SeaMonkey 2.1)以降、拡張機能のインストール時にXPIファイルが解凍されなくなりました。代わりに、XPI自体が拡張機能ディレクトリに配置されます。 、およびファイルはパッケージから直接ロードされます。 "( 拡張パッケージ-MDNドキュメント )..
また、XPIは基本的にZipアーカイブであるため、extensions
フォルダーをgrepして、たとえば拡張子名を探します。
extensions$ grep -ri 'colt' .
...何も返しません。
それで、どのXPI(または解凍されたフォルダ)が特定の拡張機能であるか、そこからロードされるかを正確に教えてくれる方法(または拡張機能)を知っている人はいますか?
ロケーションバーにabout:support#extensions-tbody
と入力します。これにより、インストールされているすべての拡張機能とそのIDが(とりわけ)一覧表示されます。拡張IDは、extensions
ディレクトリ内のフォルダ/ファイル名を決定します。拡張機能がプロファイルに常にインストールされているとは限らないことに注意してください。疑わしい場合は、Firefoxプロファイルのextensions.ini
の内容で問題が解決するはずです。
より「快適」にしたい場合は、次のコードをブラウザコンソールに貼り付けることができます。
var {AddonManager} = Components.utils.import("resource://gre/modules/AddonManager.jsm", null);
AddonManager.getAllAddons().then(addons => {
for (let addon of addons.filter(addon => addon.type == "extension"))
console.log(addon.name, addon.getResourceURI().spec);
});
これは、アドオンマネージャーAPIを使用して、すべてのアドオンの名前とインストール場所を表示します。
ああ、少なくとも何かがあるので、二度とタンブルウィードを取得することはありません:)
extensions$ for ix in *.xpi; do echo $ix; unzip -c $ix | grep -aoi ........colt.........; done
...
{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpi
{e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi
content colt jar:chro
hrome://colt/content/
:chrome/colt.jar!/loc
...
...これは、{e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi
がCoLT
拡張子のコンテナであることを明確に指摘する必要があります。
unzip -c
はterminal/stdoutに解凍し、-a
を使用すると、grep
にバイナリ検索を強制しますが、端末に巨大な行をダンプする可能性があるため、「一致のみ」の場合は-o
で制限し、検索語の周りの「任意の文字に一致する」の意味。これにより、一致の近くで何が起こっているかを確認できます。
驚くほどユーザーフレンドリーではありませんが、少なくともそれは機能します:)それでもこれのためのより簡単な方法を聞くことを望んでいます。
乾杯!