Возможно ли это? В идеале я пытаюсь создать скрипт, который будет принимать файлы (мои файлы резервных копий) и заменять или устанавливать их на компьютер другого пользователя, при этом сохраняются все настройки. Это возможно. Это нормально, даже если мне придется заменить весь каталог Mozilla Firefox, но было бы лучше установить только расширение со всеми сохраненными настройками. Я не могу использовать gui, поэтому я ищу только терминал. Например, скрипт bash и некоторые файлы, которые я могу предоставить клиентам, и они легко его установили. Это возможно? Расширения, которые я пытаюсь установить таким образом на компьютер пользователя, - это переопределение пользовательского агента.
Это заняло у меня некоторое время, но здесь есть решение для сценаристов. По существу, вы должны поместить каждый .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.