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 の最新バージョンでは、手順が大幅に簡素化されました。
- 解凍
extension.xpi
- 読む
applications.gecko.id
manifest.json
- 名前
extension.xpi
を変更<ID>.xpi
- リストされている標準インストールフォルダのいずれかにコピーしますここ
答え4
ご留意ください
Firefox 74 以降では、このタスクを実行することはできなくなりました。
これを機能させるために何時間も費やすのはもうやめましょう。