Kategória: Debian Linux

Zmenené: 24. december 2011

Centrálne nastavenie FireFoxu

Používanie webového prehliadača FireFox, v Debiane zvanom IceWeasel, v prostredí viacerých účtov je prosté, ale jeho nastavovanie môže byť dosť problematické, najmä ak chcete niečo nastaviť, či zakázať všetkým. Našťastie, nie je to nemožné, len menej známe…

V podstate sa s týmto stretávam najmä v prostredí terminálového servera, kde mám momentálne niekoľko desiatok používateľských účtov a teda je nereálne, aby som robil nastavenia jednotlivo, aj preto, že domovské adresáre vytváram pomocou modulu PAM mkhomedir a v prípade problémov sa netrápim a domovský adresár jednoducho zmažem…

Rada

Tento postup som testoval vo Wheeze s IceWeasel 8.0, a tak nezaručím, že bude fungovať aj v starších verziách. V prípade, že chcete tento postup použiť na inú distribúciu, jednoducho všade nahraďte iceweasel za firefox.

Možnosti nastavení

Samotné nastavenia sú realizované pomocou dvoch funkcií JavaScriptu:

  • pref() – nastavuje predvolenú hodnotu, ktorú si používateľ môže zmeniť;
  • lockPref() – nastavuje povinnú hodnotu, ktorú používateľ zmeniť nemôže.

Obe tieto funkcie majú rovnakú syntax:

funkcia("názov.konfiguračnej.voľby", hodnota);

Konfiguračné voľby

Celá veda nastavení spočíva v tom, čo nastaviť:

  1. najlepším zdrojom asi bude dokumentácia FireFox, kde sú popísané (skoro) všetky dostupné voľby;
  2. ďalším dobrým zdrojom je samotné nastavenie IceWeasel, pomocou stránky about:config, ktorá poskytuje nielen prehľad nastavení, ale zobrazuje aj aktuálne hodnoty nastavenia;
  3. môžete si však nastavenia tiež upraviť v grafickom rozhraní a potom pozrieť, čo ste nastavili v súbore ~/.mozilla/firefox/náhodné_meno.default/prefs.js.

Niektoré nastavenia, ktoré používam v Squeeze som popísal v staršom článku Optimalizácia prehliadačov. Za všetky tu spomeniem len jednu voľbu, ktorá sa postará o zapnutie rozšírení, ktoré sú nainštalované prostredníctvom balíkov APT:

// predvolene zapnúť všetky rozšírenia
 pref("extensions.autoDisableScopes", 0);

Konfiguračný súbor

Ak máte v pláne len povinné nastavenia, môžete funkcie lockPref() pridať do existujúceho súboru /etc/iceweasel/pref/iceweasel.js. Tento postup som používal donedávna, ale vzhľadom na to, že moja obľúbená Opera má pri prístupe cez NX problémy so zobrazovaním (a cez LTSP je prakticky nepoužiteľná), začal som používať IceWeasel a prestalo mi vyhovovať prosté zamykanie nastavenie, pretože som si potreboval niektoré nastavenia upraviť svojej potrebe.

V prípade nastavovania predvolených hodnôt, ktoré si používateľ môže neskôr zmeniť, je tu trochu viac práce, pretože balík poskytovaný Debianom nie je na takéto nastavenie pripravený. Postup ale nie je zložitý. Najprv si musíte zvoliť meno súboru, do ktorého budete ukladať nastavenia. Väčšina návodov popisuje prácu so súborom mozilla.cfg, tak aj ja ostanem pri tomto mene, ale môžete si zvoliť prakticky ľubovoľné platné meno a ak chcete, aby ste mali aj zvýrazňovanie syntaxe, dajte mu príponu js, napríklad mozilla.js.

Umiestnenie tohoto súboru je limitované na rovnaký adresár, v ktorom sa nachádza spustiteľný súbor iceweasel, čo nie je adresár /usr/bin, ako ukáže nástroj which, ale adresár /usr/lib/iceweasel. Tak, či onak, ani jeden z týchto adresárov nie je vhodný na umiestnenie vlastných súborov a ja dávam prednosť mať nastavenia pohromade, preto som tento súbor umiestnil do /etc/iceweasel/pref/ a do spomínaného adresára som umiestnil len symbolický odkaz:

touch /etc/iceweasel/pref/mozilla.cfg
cd /usr/lib/iceweasel
ln -s /etc/iceweasel/pref/mozilla.cfg mozilla.cfg

A hoci môžete do súboru mozilla.cfg prakticky ihneď vkladať svoje nastavenia, je ešte potrebné oznámiť IceWeasel, že ho má načítať, pretože predvolene to nerobí. O toto nastavenie sa postará súbor local-settings.js, vytvorený v rovnakom adresári:

touch /etc/iceweasel/pref/local-settings.js

Do tohto súboru stačí vložiť dve konfiguračné voľby:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

Prvá voľba vypína šifrovanie konfiguračného súboru (rot-13) a druhá zase nastavuje jeho meno, ako sa mi vidíte bez cesty k nemu, i preto je nutné jeho umiestnenie na správne miesto.

Sprievodca migráciou

Keďže, ako som spomínal, niekedy jednoducho zmažem domovský adresár účtu (napr. na konci šk. roka), pátral som ako vypnúť sprievodcu migráciou, ktorý sa spúšťa pri každom prvom štarte. Zistil som, že pomoc mi poskytne súbor override.ini, ktorý treba tiež umiestniť do adresára /usr/lib/iceweasel/. Z rovnakých dôvodov ako pri konfiguračnom súbore, dávam prednosť jeho umiestneniu do adresára /etc a vytvoreniu symbolického odkazu:

touch /etc/iceweasel/pref/override.ini
cd /usr/lib/iceweasel
ln -s /etc/iceweasel/pref/override.ini override.ini

Obsahom tohoto súboru potom je:

[XRE]
EnableProfileMigrator=false

Záver

Čo dodať na záver? Len to, že som bol trochu sklamaný tým, že som sa len ťažko dostával k tomu, kde tieto súbory umiestniť a zo začiatku bola jediným výsledkom chybová správa o nemožnosti čítať konfiguráciu. Nakoniec mi pomohol až nástroj strace, ale s výsledkom som spokojný a vynaložená námaha stála za to.