Chcę poprawić mój nienadzorowany skrypt, dodając dodatek do przeglądarki Firefox, jednak nie mogę znaleźć sposobu,
Czy ktoś może pomóc dowiedzieć się, jak to zrobić?
Przykład: (Chcesz zainstalować wtyczkę adblockPlus i ustawić nową domyślną stronę)
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
Z góry dziękuję.
firefox
scripts
plugins
command-line
glococo
źródło
źródło
Odpowiedzi:
Za pomocą twojej metody
gksudo firefox -install-global-extension addon-1865-latest.xpi
wygląda na to, że załatwi sprawę. Spowoduje to zainstalowanie rozszerzenia dla wszystkich użytkowników w systemie.Aby zainstalować rozszerzenie tylko dla użytkownika, użyj ścieżki rozszerzenia jako argumentu
Nadal musisz kliknąć
Install
przycisk!Automatyzacja instalacji
Firefox
nie potrzebuje nazwy pliku dodatku, ale identyfikatora dodatku jako nazwy pakietu. Oznacza to, że jeśli planujesz zainstalować dodatek bez interwencji użytkownika, musisz wyodrębnić go do folderu z nazwą ciągu identyfikatora dodatku, a nie nazwą dodatku.Ciąg identyfikatora można znaleźć na pierwszych liniach dodatek zainstalować plik manifestu
install.rdf
i wygląda to tak:<em:id>{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</em:id>
. Wszystko w{}
(w tym nawiasy klamrowe) jest identyfikatorem.Aby dodatek działał, musisz wyodrębnić pakiet, zmień nazwę folderu zawierającego pliki na ciąg identyfikatora dodatku i umieść go w globalnym folderze dodatków lub w folderze dodatków użytkownika.
Instalacja globalnego dodatku
Jeśli chcesz zainstalować rozszerzenie automatycznie dla wszystkich użytkowników w systemie, musisz je rozpakować, zmienić nazwę folderu zawierającego dodatek na ciąg identyfikatora dodatku i skopiować go do
firefox
folderu rozszerzeń globalnych/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
, wszystko, co tam użyjesz, zostanie wywołane automatyczne, gdy użytkownik otworzyfirefox
.Instalacja specyficzna dla użytkownika
Jeśli chcesz zainstalować rozszerzenie automatycznie tylko dla jednego użytkownika w systemie, musisz je rozpakować, zmienić nazwę folderu zawierającego dodatek na ciąg identyfikatora dodatku i skopiować go do
firefox
folderu rozszerzeń użytkownika/home/user_name/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
(utwórz go, jeśli nie istnieje) , wszystko, czego tam użyjesz, zostanie wywołane automatycznie po otwarciu użytkownikafirefox
.Jak przygotować dodatek do automatycznej instalacji - Przykład
Utwórz
extensions
folder w domu i pobierz do niego dodatekWyodrębnij go i usuń oryginał
Przeczytaj pierwszy wiersz w
install.rdf
pliku, aby uzyskać identyfikator dodatku (w tym przypadku będzie to {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}). i utwórz folder o tej nazwiePrzenieś wszystkie pliki z
extensions
folderu do nowo utworzonego~/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
i jesteś gotowy do instalacji, przenosząc{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
folder, zgodnie z opisem, do instalacji lokalnej lub instalacji globalnej.Jak ustawić domyślną stronę główną
Aby zmienić stronę główną bez korzystania z preferencji w Firefoksie, musisz edytować
~/.mozilla/firefox/*.default/prefs.js
(gdzie*.default
jest folder~/.mozilla/firefox
utworzony dla użytkownika) i dodać ten wiersz na końculub za pomocą tego polecenia
Musisz to zrobić po zamknięciu,
firefox
w przeciwnym razie program zastąpi ustawienie przy wyjściu.Jeśli użytkownik jeszcze nie korzystał
firefox
i chcesz ustawić stronę główną dla wszystkich nowych użytkowników (ustaw stronę główną globalnie), użyj tego poleceniaKomentarze do twojego pytania
-silent
nie istnieje, i tak zostaniesz poproszony o zainstalowanie tegoxpi
rozszerzenia i musisz kliknąć przycisk, aby je zainstalować;-setDefaultBrowser
nie ustawi twojej strony głównej, zmienifirefox
twoją domyślną przeglądarkęźródło
install-global-extension
jest przestarzałe.Jest to problematyczne, ponieważ w różnych wersjach Firefoksa działają różne rzeczy, aw niektórych nic nie działa. W przypadku nowszych wersji wystarczy zmienić nazwę pliku .xpi
<addon id>.xpi
i umieścić go w folderze rozszerzeń. Gdy później uruchomisz Firefoksa, zostaniesz poproszony o zaakceptowanie instalacji wszystkich dodanych tam dodatków.Oto kilka funkcji BASH, które ułatwią Ci życie.
Zainstalujmy Adblock ..
źródło
Wtyczki globalne nie są domyślnie włączone i musisz je dodać do listy w
prefs.js
pliku w swoim profilu, aby je włączyć. Główny problem masowych wdrożeń.Oto przykładowy skrypt na wypadek, gdy zrzuciliśmy wiązkę
prefs.js
plików z komputerów klienckich do sieci i zmieniliśmy zIETab
naIETab2
, migrowaliśmy ich preferencje itp.Innym sposobem jest utworzenie profilu użytkownika, który Ci się podoba na pudełku, przesłanie go do sieci, a następnie sklonowanie go na różnych komputerach,
Firefox\defaults\profile
a wszyscy nowi użytkownicy odziedziczą ten profil.`
`
źródło
Dla niektórych z was ten skrypt powłoki może być pomocny. Analizuje pierwsze wystąpienie
em:id
tagu winstall.rdf
( opisane przez Bruno Pereira ):... podając ci identyfikator (w tym
{}
).źródło
Firefox dodaje jedną warstwę. Adblock Plus , FlashBlock i Download Helper pobrane w tej kolejności, a następnie podczas
firefox
otwierania wszystkich znalezionych.xpi
plików, a następnie usuwania tych.xpi
plików:źródło
Stworzyłem prosty skrypt oparty na odpowiedzi Brunona .
Instaluje rozszerzenie dla bieżącego użytkownika bez potrzeby jakiejkolwiek interakcji. Potrzebujesz tylko liczby, której Mozilla używa w swoich adresach URL na addons.mozilla.org . Zapisz skrypt jako plik .sh i użyj numeru jako argumentu podczas jego wywoływania.
Przetestowane i działające na Linux Mint 17 z Firefoksem 40 , sprawdź, czy Twoja wersja Firefox używa tej samej struktury katalogów, ponieważ zmieniła ją kilka razy.
źródło
Dla kompletności znalazłem inny bardzo dobrze udokumentowany skrypt na http://bernaerts.dyndns.org/linux/74-ubuntu/271-ubuntu-firefox-thunderbird-addon-commandline, który zasadniczo robi dokładnie to, co zasugerował Bruno Pereira w swoim odpowiedź.
źródło
W najnowszych wersjach Firefoksa procedura została znacznie uproszczona!
extension.xpi
applications.gecko.id
zmanifest.json
extension.xpi
na<ID>.xpi
źródło