Kategória: LTSP

Zmenené: 27. november 2010

Optimalizácia prehliadačov

Webové prehliadače môžu byť riadne žrúty výkonu LTSP servera. Najmä FireFox je tým známy, ale ani ostatné nezaostávajú. Ak teda chcete optimalizovať správanie týchto programov vo viac-používateľskom prostredí a prípadne nastaviť niektoré aspekty ich správania, ukážem Vám v tomto článku ako na to, spolu s niektorými tipmi na ich centralizovanú správu.

Špecifikom LTSP je, že je to viac-používateľske prostredie. Preto mnoho návodov, ktoré sa povaľujú po nete nie je priamo použiteľných, ibaže by ste chceli tieto nastavenia aplikovať na každého používateľa zvlášť. A na to som ja nie len lenivý, ale aj pohodlný. Našťastie väčšina prehliadačov v Linuxe je nejakým spôsobom uspôsobená na správu práve v takomto prostredí. Tak sa pozrime ako na to v prehliadačoch, ktoré som pre žiakov nainštaloval.

FireFox (IceWeasel)

Krásny popis viac-používateľskej optimalizácie centrálnym spôsobom je v dokumentácii Ubuntu LTSP. Nie je ani zďaleka úplný, ale je to dobrý začiatok. Základom centrálnej správy FireFoxu 3 je použitie súboru /etc/firefox-3.0/pref/firefox.js, ktorý môže obsahovať spoločné nastavenia pre FireFox. Tieto nastavenia môžu mať dve úrovne:

  • prepísateľné nastavenie obdoba východzích vlastností, ktoré si môžu používatelia zmeniť,
  • neprepísateľné nastavenie nastavenia, ktoré nemôžu používatelia zmeniť.

Zápis do tohoto súboru je prostý:

  • // (dve lomky) – komentár, ktorý je pri spracovaní ignorovaný
  • pref – prepísateľné nastavenie;
  • lockPref – neprepísateľné nastavenie.

Spoločný formát zápisu nastavenia je v tvare:

pref("názov.vlastnosti", hodnota);

alebo pre neprepísateľné nastavenie:

lockPref("názov.vlastnosti", hodnota);

Popis jednotlivých nastavení možno nájsť na stránke mozillazine.org a ich zobrazenie (napríklad kvôli vyhľadávaniu) je dostupné pri zadaní adresy about:config. Keďže sú žiaci beťári, všetky nastavenia, ktoré chcem aplikovať nastavujem ako neprepísateľné…

Nastavenie vyrovnávacej pamäte

Prehliadače kešujú obsah stránok na disk, čím urýchľujú prehliadanie a opätovné zobrazenie stránky. Keďže v prípade LTSP nastáva toto pre všetkých na jednom disku, túto vlastnosť vypínam. Optimalizujem aj nastavenie kešovania do pamäte, pretože jeho automatické je v prípade zdieľaného servera klamlivé (nie celá pamäť servera je pre jedného používateľa):

// Vypnúť offline/disk kešovanie webových stránok
lockPref("browser.cache.offline.enable", false);
lockPref("browser.cache.disk.enable", false);
lockPref("browser.cache.disk_cache_ssl", false);

// Vyladenie kešovania do pamäte
lockPref("browser.cache.memory.enable", true);
//použiť 10 240 kB, 10 MB
lockPref("browser.cache.memory.capacity", 10240);

Nastavenie záťaže a rýchlosti

Tieto nastavenia som prebral z vyššie spomínanej stránky UbuntuLTSP:

// Vypnúť vlastnosť "safe browsing", ktorá v LTSP zaberá CPU, HDD, atď.
lockPref("browser.safebrowsing.enabled", false);
lockPref("browser.safebrowsing.malware.enabled", false);

// Vypnúť (predvolene 12) návrhy URL pri zadávaní adresy, ktorá spomaľuje tenké klienty
lockPref("browser.urlbar.maxRichResults", 0);

Trochu súkromia žiakom

Chvíľu som váhal, či si to zaslúžia, ale nakoniec zvíťazil zdravý rozum nad pomstychtivosťou, a tak nie sú súkromné údaje ukladané:

// automatické mazanie cookies, hesiel, SSL a pod, po skončení relácie bez pýtania
// neukladať heslá
lockPref("privacy.item.passwords", true);
lockPref("privacy.item.offlineApps", true);
lockPref("privacy.item.cookies", true);
lockPref("privacy.item. sessions", true);
lockPref("privacy.sanitize.promptOnSanitize", false);
lockPref("privacy.sanitize.sanitizeOnShutdown", true);
lockPref("signon.rememberSignons", false);

Aktualizácie

Automatické aktualizácie sú vždy diskutabilné, kto pochybuje asi ešte nezažil hľadanie problému, ktoré spôsobil nejaký automaticky (nikto nevie kedy) vykonaný úkon. Každopádne nie je žiadúce aby sa akékoľvek aktualizácie servera robili len tak zo žiackeho účtu (nakoniec i tak im to nedovolia iné nastavenia):

// Vypnutie automatických aktualizácií
lockPref("app.update.enabled", false);
lockPref("app.update.auto", false);
lockPref("extensions.uptade.enabled", false);
// Zabrániť zobrazeniu inštalátora doplnkov
lockPref{"extensions.getAddons.showPane", false}

Ďalšie nastavenia

Ďalšie nastavenia, ktoré mám v mojom súbore. myslím, že komentáre na popis postačujú:

// Použiť premennú prostredia LANG pre výber locale
lockPref("intl.locale.matchOS", true);

// Vypnúť kontrolu nastavenia predvoleného prehliadača
lockPref("browser.shell.checkDefaultBrowser", false);

// Zakázať zobrazenie EULA pri prvom štarte
lockPref("browser.EULA.override", true);

// Nastavenie domovskej stránky
lockPref("browser.startup.homepage", "http://soumatej.sk");
lockPref("browser.startup.homepage_reset", "http://soumatej.sk");

// Zakázať inštaláciu a oznamovanie chýbajúcich zásuvných modulov
lockPref("plugin.default_plugin_disabled", false);
lockPref("plugins.hide_infobar_for_missing_plugin", true);

// Zakázať blikajúci text
lockPref("browser.blink_allowed", false);

// zakázať preklad adries IPv6 (alebo máme IPv6 DNS server?)
lockPref("network.dns.disableIPv6", true);

Nezabudnite si nastaviť svoju adresu domovskej stránky…

Reklama a flash

Asi sa zhodneme, že reklama je otravná a flashové animácie zase dokáže riadne zaťažiť aj inak výkonný LTSP server. Na reklamu vo FireFoxe slúži doplnok AdBlock, respektíve AdBlock Plus. Nie je potrebné tieto doplnky inštalovať do FireFoxu, pretože je dostupný príslušný balík tak stačí nainštalovať mozilla-firefox-adblock, ktorý v Ubuntu nainštaluje práve AdBlock Plus.

Aj na flash existuje kladivo, ktoré sa volá FlashBlock. I v tomto prípade existuje pre tento doplnok (rovnomenný) balík, takže ho stačí nainštalovať a tešiť sa. Myslím, že použitie týchto doplnkov je intuitívne, preto sa jeho popisom zdržovať nebudem.

Globálne nastavenie rozšírení

V takomto viac-používateľskom prostredí, kde sa stretávam s veľmi neskúsenými používateľmi (hoci si decká o sebe myslia presný opak), je potrebné mnoho nastavení urobiť na centrálnej úrovni. Ohľadom FireFoxu je možné veľa vecí, tu sú niektoré…

AdBlockPlus

Toto rozšírenie je užitočné, ale po každom vymazaní adresára ~/.mozilla si pýta nastaviť zoznam blokovaní. Avšak je možné tento zoznam nastaviť globálne. Tu je postup:

Ak používate nejaké pokročilé nastavenia FireFoxu, nemažte si adresár ~/.mozilla, ale použite na vytvorenie nastavenia AdBlock+ nejaký cvičný účet.

  1. spustiť vo svojom účte (alebo inom) FireFox a nastaviť zoznam pre AdBlock+;
  2. vytvoriť adresár /usr/local/lib/xul-ext-adblock-plus;
  3. do tohoto adresára presunúť/prekopírovať súbor ~/.mozilla/firefox/<VášProfil>/adblockplus/patterns.ini;
  4. v súbore /usr/share/xul-ext/adblock-plus/defaults/preferences/adblockplus.js upraviť cestu parametraextensions.adblockplus.patternsfile tak, aby ukazovala na novo vytvorený súbor (/usr/local/lib/xul-ext-adblock-plus/patterns.ini)
  5. vyskúšať funkčnosť, najjednoduchšie zmazaním adresára ~/.mozilla

Zdroj:http://adblockplus.org

Opera

Aj Opera poskytuje možnosť centrálnej správy. A rovnako ako FireFox, poskytuje možnosť nastavenia prepísateľných (predvolených) a neprepísateľných nastavení. Avšak na rozdiel od FireFoxu, tieto nastavenia nerozlišuje kľúčovým slovom, ale umiestnením konfiguračného súboru:

  • /etc/operaprefs_default.ini prepísateľné (predvolené) nastavenia,
  • /etc/operaprefs_fixed.ini neprepísateľné nastavenia.

Myslím, že názvy hovoria za všetko. Popis jednotlivých konfiguračných volieb je dostupný na stránkach Opery v článku Popis nastavení Opery. Za prečítanie určite stojí aj Príručka systémového administrátora.

Pravda je taká, že Operu teraz v LTSP nepoužívam, pretože je skoro nepoužiteľná vzhľadom k obsadenej šírke pásma (15 Opera = cca 85 Mb/s, oproti 15 FF = cca 30 Mb/s).

Reklama a flash

Blokovanie reklamy je súčasťou Opery už strašne dávno, dokonca tak dávno, že si nepamätám, či som ju niekedy používal bez toho (a to ju používam niekedy od verzie 5). Zo začiatku síce nemala pre toto blokovanie grafické rozhranie, ale aj to už má dávnejšie. Je dostupné z kontextového menu pod menom Blokovať obsah. Niekedy však toto grafické nastavenie nepostačuje, a tak sa hodí vedieť, že zoznam blokovaných adries je v súbore urlfilter.ini.

S flashom je na tom Opera trochu horšie ako FireFox, pretože neexistuje také jednoduché riešenie ako inštalácia doplnku, čo je iste škoda. Napriek tomu riešenie existuje, a je ním skript FlashBlock, ktorý je implementovaný prostredníctvom používateľského javaScriptu. Keďže je inštalácia netriviálna, rozhodol som sa ju tu popísať. Toto riešenie je vraj funkčné vo všetkých verziách medzi 8 a 10. vyskúšané to mám len na verzii 10 a len pre jedného používateľa (zatiaľ).

Inštalácia blokovania flash animácií pozostáva z niekoľkých krokov:

  1. stiahnuť a rozbaliť (relatívne hocikde) archív Flashblocker.zip z vyššie spomínanej stránky;
  2. prekopírovať súbor FlashBlocker.css do používateľského adresára pre štýly ($HOME/.opera/styles/user konkrétna cesta je v About Opera);
  3. prekopírovať súbor FlashBlocker.js (a FlashBlocker-white-list.js, ak ho chcete) do používateľského adresára pre UserJS ($HOME/userjs); ak tento adresár neexisuje, vytvorte ho a potom ho nastavte v Nástroje ‣ Nastavenia… ‣ Rozšírené voľby ‣ Obsah ‣ Možnosti JavaScript ‣ Súbory JavaScript používateľa;
  4. Reštartovať Operu,
  5. Vybrať v menu Zobraziť ‣ Štýl položku Flash blocker.

Ak chcete blokovať flash animácie aj na protokole HTTPS (a to iste chcete), je treba naviac nastaviť voľbu User JavaScript on HTTPS v nastavení Opery.