Jak zmienić `about: config` Firefoksa ze skryptu powłoki?

20

Jedną z pierwszych rzeczy, które robię, kiedy po raz pierwszy używam świeżego profilu Firefox, jest ustawienie browser.urlbar.trimURLsna false(które naprawdę powinno być zmieniane przez „Preferencje” lub powinno pozostać domyślne), a także zmienić domyślne ustawienia wyszukiwania i strony głównej na DuckDuckGo . Obecnie ręcznie about:configwchodzę do , klikam komunikat o gniewnym ostrzeżeniu i szukam kluczy (które w przeciwieństwie do DConf Editor nie są nawet zorganizowane).

Chciałbym więc wiedzieć, jak czytać i pisać te klucze z wiersza poleceń, aby móc dodać te poprawki do mojego skryptu dostosowywania.

James Haigh
źródło
1
Niektóre odpowiedzi poniżej polegają na edycji pliku w profile.defaultfolderze użytkownika . Oto, jak go znaleźć w skrypcie powłoki: Pobierz domyślny katalog profilu Firefox z bash
aexl
unix.stackexchange.com/questions/38591/… | pojedyncza sesja: superuser.com/questions/699136/… | Windows: superuser.com/questions/39800/...
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

12

[ To nie zapewnia tego, o co prosiłeś, ale jest innym sposobem na osiągnięcie tego samego rezultatu. ]

Po pierwsze, o ostrzeżeniu ... Możesz upewnić się, że nigdy więcej go nie zobaczysz (dla poszczególnych profili), jak pokazano poniżej:

wprowadź opis zdjęcia tutaj

Teraz, jeśli chodzi o preferencje, których pragniesz. Ogólnie możesz utworzyć prosty plik tekstowy o nazwie user.js. Ten plik musi zostać umieszczony w odpowiednim folderze profilu, takim jak /home/username/.mozilla/firefox/random.default(gdzie randomjest coś unikalnego dla każdego użytkownika).

Struktura i składnia user.jssą opisane na przykład w pliku User.js.

W twoim przypadku miałbyś linię taką jak:

user_pref("set browser.urlbar.trimURLs","false");  

lub, aby użyć innego przykładu ( ale patrz niżej ):

user_pref("browser.search.defaulturl","https://duckduckgo.com/");

Sugeruję jednak, aby najpierw upewnić się, że ustawione preferencje są prawidłowe dla używanej wersji przeglądarki. Mówię to, ponieważ wcale nie widzę browser.search.defaulturlw sobie about:config. Używam przeglądarki Firefox 22 w wersji beta. Zamiast tego widzę:

browser.search.defaultenginename;Google

Silnik

Biorąc przykład z Bing zamiast Google, drugą linią w twoim, user.jsjeśli używasz Firefox 22, byłoby:

user_pref („browser.search.defaultenginename”, „Bing”);

Jak pokazuje obrazek, możesz wyszukać dodatkowe silniki.

Krótko mówiąc, możesz wprowadzić swoje preferencje user.jsi usunąć ekran nag, odznaczając pierwszy obraz.

Ponadto, jak wskazano w zasobie, z którym się połączyłem, musisz ponownie uruchomić przeglądarkę, aby kod został user.jszastosowany.


źródło
6

Oto możliwy skrypt powłoki. Musisz cdużyć katalogu swojego profilu przed użyciem (gdzie user.jsjest). Powiedzieć, że skrypt jest wywoływany ff_setmożna nazwać tak:

ff_set browser.search.defaulturl '"https://duckduckgo.com/"'

Oto kod:

#!/bin/bash

sed -i 's/user_pref("'$1'",.*);/user_pref("'$1'",'$2');/' user.js
grep -q $1 user.js || echo "user_pref(\"$1\",$2);" >> user.js
student
źródło