Ich möchte mein unbeaufsichtigtes Skript verbessern, indem ich ein Firefox-Add-On hinzufüge, aber ich finde den Weg nicht,
Kann jemand helfen, herauszufinden, wie das geht?
Beispiel: (Möchten Sie das AdblockPlus-Plugin installieren und eine neue Standardwebseite festlegen)
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
Dank im Voraus.
Antwort1
Mit Ihrer Methode
gksudo firefox -install-global-extension addon-1865-latest.xpi
scheint bei Ihnen zu funktionieren. Dadurch wird die Erweiterung für alle Benutzer Ihres Systems installiert.
Um die Erweiterung nur für Ihren Benutzer zu installieren, verwenden Sie den Erweiterungspfad als Argument
firefox addon-1865-latest.xpi
Sie müssen Install
jedoch trotzdem auf die Schaltfläche klicken!
Automatisieren der Installation
Firefox
benötigt nicht den Dateinamen des Add-ons, sondern die Kennung des Add-ons als Paketnamen. Das bedeutet, dass Sie ein Add-on, wenn Sie es ohne Benutzereingriff installieren möchten, in einen Ordner mit dem Namen der Add-on-Kennungszeichenfolge extrahieren müssen, nicht mit dem Namen des Add-ons.
Die Identifikationszeichenfolge befindet sich in den ersten Zeilen der Manifestdatei zur Add-On-Installation install.rdf
und sieht folgendermaßen aus: <em:id>{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</em:id>
. Alles darin {}
(einschließlich der geschweiften Klammern) ist die Kennung.
Damit ein Add-on funktioniert, müssen Sie das Paket extrahieren, den Ordner, der die Dateien enthält, in die Add-on-Kennungszeichenfolge umbenennen und ihn entweder im globalen Add-on-Ordner oder im Benutzer-Add-on-Ordner platzieren.
Globale Add-On-Installation
Wenn Sie eine Erweiterung automatisch für alle Benutzer in Ihrem System installieren möchten, müssen Sie sie extrahieren, den Ordner, der das Add-on enthält, in die ID-Zeichenfolge des Add-ons umbenennen und in den firefox
globalen Erweiterungsordner kopieren /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
. Alles, was Sie dort verwenden, wird automatisch aufgerufen, wenn ein Benutzer es öffnet firefox
.
Benutzerspezifische Installation
Wenn Sie eine Erweiterung automatisch für nur einen Benutzer in Ihrem System installieren möchten, müssen Sie sie extrahieren, den Ordner, der das Add-on enthält, in die ID-Zeichenfolge des Add-ons umbenennen und ihn in den firefox
Ordner „Erweiterungen“ des Benutzers kopieren /home/user_name/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
(erstellen Sie ihn, falls er noch nicht vorhanden ist). Alles, was Sie dort verwenden, wird automatisch aufgerufen, wenn ein Benutzer öffnet firefox
.
So bereiten Sie ein Add-on für die automatische Installation vor – Beispiel
Erstellen Sie zu Hause einen extensions
Ordner und laden Sie das Add-on dorthin herunter
mkdir ~/extensions
cd ~/extensions
wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
Extrahieren Sie es und löschen Sie das Original
unzip ~/extensions/addon-1865-latest.xpi
rm ~/extensions/addon-1865-latest.xpi
Lesen Sie die erste Zeile in der install.rdf
Datei, um die ID des Add-Ons zu erhalten (in diesem Fall ist es {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}). und erstellen Sie einen Ordner mit diesem Namen
mkdir ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
Verschieben Sie alle Dateien in Ihrem extensions
Ordner in den neu erstellten ~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
. Sie können die Installation durchführen {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
, indem Sie den Ordner wie beschrieben für eine lokale oder eine globale Installation verschieben.
So legen Sie die Standard-Startseite fest
Um Ihre Homepage zu ändern, ohne die Einstellungen in Firefox zu verwenden, müssen Sie ~/.mozilla/firefox/*.default/prefs.js
(wo *.default
ein Ordner ~/.mozilla/firefox
für Ihren Benutzer erstellt wird) bearbeiten und diese Zeile am Ende hinzufügen
user_pref("browser.startup.homepage", "http://uptechtalk.com");
oder mit diesem Befehl
echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> ~/.mozilla/firefox/*.default/prefs.js
Sie müssen dies nach dem Schließen tun firefox
, sonst überschreibt das Programm die Einstellung beim Beenden.
Wenn Ihr Benutzer noch nicht verwendet wurde firefox
und Sie die Homepage für alle neuen Benutzer festlegen möchten (Homepage global festlegen), verwenden Sie diesen Befehl
echo "user_pref("browser.startup.homepage", "http://uptechtalk.com");" >> /etc/xul-ext/ubufox.js
Anmerkungen zu deiner Frage
-silent
nicht existiert, werden Sie xpi
trotzdem aufgefordert, die Erweiterung zu installieren und müssen auf die Schaltfläche zum Installieren klicken.
-setDefaultBrowser
wird Ihre Homepage nicht festlegen, sondern firefox
Ihr Standardbrowser
Antwort2
Dies ist problematisch, da in verschiedenen Versionen von Firefox unterschiedliche Dinge funktionieren und in manchen gar nichts. Bei den neueren Versionen müssen Sie die .xpi-Datei einfach umbenennen <addon id>.xpi
und in einem Erweiterungsordner ablegen. Wenn Sie Firefox anschließend starten, werden Sie aufgefordert, die Installation aller dort hinzugefügten Add-Ons zu akzeptieren.
Hier sind einige BASH-Funktionen, die Ihnen das Leben leichter machen.
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
}
Lassen Sie uns Adblock installieren..
wget https://addons.mozilla.org/firefox/downloads/latest/1865/addon-1865-latest.xpi
install_addon addon-1865-latest.xpi "$EXTENSIONS_USER"
Antwort3
Bei den neuesten Versionen von Firefox wurde das Verfahren erheblich vereinfacht!
- Entpacken
extension.xpi
- Lesen
applications.gecko.id
vonmanifest.json
- Umbenennen
extension.xpi
in<ID>.xpi
- Kopieren Sie es in einen der aufgeführten StandardinstallationsordnerHier
Antwort4
BITTE BEACHTEN SIE
Ab Firefox 74 ist es NICHT MEHR MÖGLICH, diese Aufgabe auszuführen.
Verbringen Sie keine Stunden mehr damit, zu versuchen, dies zum Laufen zu bringen!