ご留意ください

ご留意ください

Firefoxアドオンを追加して無人スクリプトを改善したいのですが、方法が見つかりません。

誰か方法を見つけるのを手伝ってくれませんか?

例: (adblockPlus プラグインをインストールし、新しいデフォルトの Web ページを設定する)

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
firefox -silent -install-global-extension addon-1865-latest.xpi -setDefaultBrowser www.google.es

前もって感謝します。

答え1

あなたの方法を使う

gksudo firefox -install-global-extension addon-1865-latest.xpiどうやらこれでうまくいくようです。これにより、システム上のすべてのユーザーに拡張機能がインストールされます。

拡張機能を自分のユーザーのみにインストールするには、拡張機能のパスを引数として使用します。

firefox addon-1865-latest.xpi

それでもボタンをクリックする必要がありますInstall

インストールの自動化

Firefoxアドオン ファイル名は必要ありませんが、パッケージ名としてアドオンの識別子が必要です。つまり、ユーザーの介入なしにアドオンをインストールする予定の場合は、アドオンの名前ではなく、アドオンの識別子文字列の名前を持つフォルダーに抽出する必要があります。

識別子文字列はアドオン インストール マニフェスト ファイルの最初の行にありinstall.rdf、次のようになります: <em:id>{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</em:id>。 内のすべて{}(中括弧を含む) が識別子です。

アドオンを動作させるには、パッケージを抽出し、ファイルを含むフォルダーの名前をアドオン識別子文字列に変更し、グローバル アドオン フォルダーまたはユーザー アドオン フォルダー内に配置する必要があります。

グローバルアドオンインストール

システム内のすべてのユーザーに拡張機能を自動的にインストールする場合は、拡張機能を抽出し、アドオンを含むフォルダーの名前をアドオンの ID 文字列に変更して、firefoxグローバル拡張機能フォルダーにコピーする必要があり/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ます。そこで使用するものはすべて、ユーザーがを開いたときに自動的に呼び出されますfirefox

ユーザー固有のインストール

システム内の 1 人のユーザーだけに拡張機能を自動的にインストールする場合は、拡張機能を解凍し、アドオンを含むフォルダーの名前をアドオンの ID 文字列に変更して、firefoxユーザーの拡張機能フォルダーにコピーする/home/user_name/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/必要があります (存在しない場合は作成します)。そこで使用するものはすべて、ユーザーがを開いたときに自動的に呼び出されますfirefox

アドオンを自動インストール用に準備する方法 - 例

extensionsホームにフォルダを作成し、そこにアドオンをダウンロードします

mkdir ~/extensions
cd ~/extensions
wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi

それを抽出して元のファイルを削除する

unzip ~/extensions/addon-1865-latest.xpi
rm ~/extensions/addon-1865-latest.xpi

ファイルの最初の行を読んでinstall.rdfアドオンのIDを取得します(この場合は{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}になります)。そしてその名前のフォルダを作成します。

mkdir ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

フォルダー内のすべてのファイルをextensions新しく作成したフォルダーに移動し、説明に従ってフォルダーを移動して、ローカル インストールまたはグローバル インストールの~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}インストールの準備を整えます。{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

デフォルトのホームページを設定する方法

Firefox内の設定を使用せずにホームページを変更するには、~/.mozilla/firefox/*.default/prefs.js(ユーザー用に作成された*.defaultフォルダーがある場所~/.mozilla/firefox)を編集し、その末尾に次の行を追加する必要があります。

user_pref("browser.startup.homepage", "http://uptechtalk.com");

またはこのコマンドを使用する

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> ~/.mozilla/firefox/*.default/prefs.js

終了した後に実行する必要があります。firefoxそうしないと、プログラムは終了時に設定を上書きします。

ユーザーがfirefoxまだ使用しておらず、すべての新しいユーザーのホームページを設定する場合(ホームページをグローバルに設定する)は、このコマンドを使用します。

echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> /etc/xul-ext/ubufox.js

質問に関するコメント

-silent存在しない場合は、その拡張機能をインストールするように求められxpi、ボタンをクリックしてインストールする必要があります。

-setDefaultBrowserホームページは設定されませんが、firefoxデフォルトのブラウザになります

答え2

これは問題です。Firefox のバージョンによって、機能するものが異なり、まったく機能しないものもあります。新しいバージョンの場合は、.xpi の名前を変更して<addon id>.xpi拡張機能フォルダーに配置するだけです。その後 Firefox を起動すると、そこに追加したすべてのアドオンのインストールを承認するように求められます。

あなたの生活を楽にする BASH 関数をいくつか紹介します。

EXTENSIONS_SYSTEM='/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/'
EXTENSIONS_USER=`echo ~/.mozilla/firefox/*.default/extensions/`

# -------------------------- xpi tools ---------------------------------

get_addon_id_from_xpi () { #path to .xpi file
    addon_id_line=`unzip -p $1 install.rdf | egrep '<em:id>' -m 1`
    addon_id=`echo $addon_id_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_id"
}

get_addon_name_from_xpi () { #path to .xpi file
    addon_name_line=`unzip -p $1 install.rdf | egrep '<em:name>' -m 1`
    addon_name=`echo $addon_name_line | sed "s/.*>\(.*\)<.*/\1/"`
    echo "$addon_name"
}

# Installs .xpi given by relative path
# to the extensions path given
install_addon () {
    xpi="${PWD}/${1}"
    extensions_path=$2
    new_filename=`get_addon_id_from_xpi $xpi`.xpi
    new_filepath="${extensions_path}${new_filename}"
    addon_name=`get_addon_name_from_xpi $xpi`
    if [ -f "$new_filepath" ]; then
        echo "File already exists: $new_filepath"
        echo "Skipping installation for addon $addon_name."
    else
        cp "$xpi" "$new_filepath"
    fi
}

Adblockをインストールしましょう。

wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
install_addon addon-1865-latest.xpi "$EXTENSIONS_USER"

答え3

Firefox の最新バージョンでは、手順が大幅に簡素化されました。

  1. 解凍extension.xpi
  2. 読むapplications.gecko.idmanifest.json
  3. 名前extension.xpiを変更<ID>.xpi
  4. リストされている標準インストールフォルダのいずれかにコピーしますここ

答え4

ご留意ください

Firefox 74 以降では、このタスクを実行することはできなくなりました。

これを機能させるために何時間も費やすのはもうやめましょう。

関連情報