これは可能ですか?理想的には、ファイル(拡張機能のバックアップファイル)を取得し、すべての設定を保存して、他のユーザーのコンピューターに置き換えるかインストールするスクリプトを作成しようとしています。これは可能ですか? Mozilla Firefoxのディレクトリ全体を置き換えなければならない場合でも大丈夫ですが、すべての設定を保存した拡張機能のみをインストールする方が良いでしょう。 guiを使用できないため、端末のみを探しています。たとえば、bashスクリプトと、顧客に提供できるいくつかのファイルは、簡単にインストールできます。これは可能ですか?この方法でユーザーのコンピューターにインストールしようとしている拡張機能は、ユーザーエージェントオーバーライドです。
拡張機能をダウンロードする
$ wget http://www.addons...../extension-name
$ firefox extension-name
ubuntu-itメニューの例:
$ wget https://addons.cdn.mozilla.net/storage/public-staging/4684/ubuntu_it_menu-1.1.0-fx.xpi
$ firefox ubuntu_it_menu-1.1.0-fx.xpi
info: ' https://addons.mozilla.org/en-US/firefox/addon/ubuntu-it-menu/?src=search
'
これには少し時間がかかりましたが、ここにスクリプト作成者向けのソリューションがあります。基本的に、すべての.xpiを<addon id>.xpi
として希望する拡張機能フォルダーに配置する必要があります。
EXTENSIONS_SYSTEM='/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/'
EXTENSIONS_USER=`echo ~/.mozilla/firefox/*.default/extensions/`
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_zipped () {
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_for_user addon-1865-latest.xpi $EXTENSIONS_USER
Firefoxを起動すると、Adblockをインストールするための質問が表示されます。