Opera

Z funus.net
Logo Opera Software

Opera to przeglądarka WWW firmy Opera Software. Zawiera też wbudowany klient e-mail, bittorrent, webserver i diabli wiedzą, co jeszcze.

Spis treści

[edytuj] Właściwości

Opera wprowadziła pewne innowocje, które przypadły do gustu sporej liczbie użytkowników. Są to m.in.:

  • taby (zakładki), umożliwiające otwarcie w jednym oknie wielu stron internetowych; dziś jest to norma we wszystkich "wiodących" przeglądarkach, ale to właśne Opera była prekursorem tabów jako alternatywy do otwierania stron w osobnych oknach przeglądarki
  • zapamiętywanie sesji: przeglądarka co jakis czas podczas oraz przy kończeniu działania pracy zapisuje dane o otwartych oknach i tabach, co pozwala na ich odtworzenie po ponownym uruchomieniu;
  • gesty myszy – pewne operacje, jak np. "wstecz", "dalej", "zamknij okno" i wiele innych można wykonać za pomocą odpowiedniego ruchu myszą z wciśniętym prawym przyciskiem.

Od jakiegoś czasu inne przeglądarki, jak Firefox, czy Internet Explorer, również posiadają takie funkcje, lecz na przykład obsługa tabów w Firefoksie wciąż nie jest tak wygodna, jak w Operze (choć to oczywiście kwestia gustu).

Poza tym kiedyś Opera była reklamowana jako najszybsza przeglądarka i trochę prawdy w tym było. Hasło pozostało, dziś jednak trudno odnieść wrażenie, by była zauważalnie szybsza od swoich konkurentów.

[edytuj] Konfiguracja

W Operze – podobnie jak w Firefoksie – istnieje ekran z możliwością szczegółowej konfiguracji przeglądarki, zawierający także opcje nie występujące w interfejsie użytkownika. W pasku adresu należy wpisać: opera:config. Można tam m.in. ustawić wartość pola User-Agent wysyłanego przez przeglądarkę przy pobieraniu stron WWW. Niestety, nie można po prostu wpisać pożądanej wartości tego pola. Można jedynie wybrać liczbę oznaczającą jedno z kilku predefiniowanych ustawień. Tak jest zresztą w przypadku innych ustawień, gdzie można dokonać wyboru jednej spośród kilku opcji. Nie jest to szczególnie intuicyjne.

[edytuj] Problemy

[edytuj] Opera 9 pod Linuksem

Po wersji 9 linuksowa edycja Opery zaczęła przejawiać pewne problemy: z biegiem czasu program reaguje coraz wolniej, zdarzają mu się coraz dłuższe przestoje, czas ładowania stron się wydatnie zwiększa, dochodzi do nawet kilkusekundowych "zawieszeń". W praktyce, po kilku godzinach użytkowania staje się konieczne zrestartowanie przeglądarki (samo kończenie programu potrafi też zająć czas rzędu kilkudziesięciu sekund). Mimo, że obecnie wydana jest już wersja 9.62, opisywane niedoróbki wciąż nie zostały poprawione. Co ciekawe, wersja dla Windows zdaje się działać poprawnie.

Dodatkowo daje się zauważyć gigantyczne wycieki pamięci (w wersji 9.60-9.62) przy obsłudze flasha. Jest to szczególnie upierdliwe w serwisach w rodzaju youtube.com. W wersji 32-bitowej po obejrzeniu parudziesięciu filmików przeglądarka potrafi osiągnąć limit przestrzeni adresowej (3 GB). Trzeba wówczas wykazać sporo cierpliwości, by taki zbiesiony proces zniknął...

[edytuj] User-Agent

Jak wspomniano wyżej, Opera pozwala wybrać tylko spośród kilku predefiniowanych wartości pola User-Agent. Co gorsza, nawet gdy "udaje" inną przeglądarkę, to i tak dokleja swoje trzy grosze do tego pola (m.in. system operacyjny, architekturę i... napis Opera wraz z wersją. Wygląda na to, że to celowe działanie, bo było to już zgłaszane jako błąd.

Tak więc gdy na stronie opera:config, w polu User Agent / Spoof User Agent Id ustawimy wartość np. 4, to przeglądarka będzie wysyłać coś takiego:

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux x86_64; en) Opera 9.62

Można natomiast skutecznie ustawić "maskowanie" dla poszczególnych domen (opcja Edit site preferences).

[edytuj] Cache

Mimo wyłączenia cache'a dyskowego w preferencjach, Operze i tak zdarza się od czasu do czasu zapisać odwiedzane strony w katalogu ~/.opera/cache4/ (zauważone w wersji 9.64).

[edytuj] 64-bitowa Opera

Podczas ściągania wersji 9.62 zauważyłem, że jest (wreszcie!) dostępna wersja 64-bitowa (tzn. dla architektury amd64 aka x64 aka x86-64). Od razu postanowiłem wypróbować. A oto pierwsze wrażenia.

  • Pozytywne. W tej wersji działa obsługa flasha, mimo że nie doczekał się on 64-bitowej wersji linuksowej. Bardzo ładnie. Prawdopodobnie byli to w stanie zrobić ze względu na stosowany przez siebie sposób obsługi tych pluginów: w innych przeglądarkach są one ładowane jako biblioteki dzielone do procesu. W przypadku Opery odpalany jest osobny proces, który obsługuje pluginy. W każdym razie – duży plus.
  • Negatywne.
    • Troszkę jakby niestabilna – zaraz się wysypała po pierwszym odpaleniu. Z drugiej strony 32-bitowa Opera pod 64-bitowym Linuksem była też kiepska i raz na parę godzin potrafiła się wywalić bez słowa.
    • Po zaktualizowaniu nieco przestarzałej wersji 32-bitowej (9.2 bodajże) do 64-bitowej 9.62, Opera stwierdziła, że musi zaktualizować format plików z pocztą. Zrobiła to, wszystko było ładnie, gdyby nie fakt, że nie może się teraz przynajmniej do niektórych skrzynek zalogować za pomocą kiedyś-tam zapamiętanych haseł.

[edytuj] Opera 11

Wreszcie zdecydowałem się na długo odkładane przejście na wersję 11 Opery (tak długo, że zupełnie pominąłem dziesiątkę!). O ile upgrade na moim 32-bitowcu poszedł bezproblemowo, to na komputerze z tą samą wersją Debiana (lenny), ale 64-bitową - już nie. Niektóre widgety i okna dialogowe, szczególnie te do wyboru plików, były zrypane. Zacząłem szukać, o co chodzi, myślałem może, że coś z konfiguracją. Problem występował jednak również wtedy, gdy odpalałem taką operę na zupełnie świeżym koncie.

Za to nie występował, gdy odpalałem ją pod Gnomem. Stąd wniosek, że się jakoś gryzie z KDE, którego zwykle używam. Rzeczywiście, zestaw bibliotek dynamicznych dolinkowanych do procesu opery znacząco się różnił zależnie od środowiska[1].

No trudno, nie zamierzam tracić na to aktualnie więcej czasu. Ale jakieś obejście trzeba było znaleźć. I znalazłem - trzeba oddefiniować zmienną środowiska KDE_FULL_SESSION. Wtedy opera nie integruje się aż tak bardzo z KDE i działa poprawnie, ale... część elementół GUI nie wygląda zbyt dobrze, na przykład używane są te koszmarnie dziwaczne, gnomowskie okna dialogowe wyboru pliku.

[edytuj] Problemy i dziwactwa

  • Persistent Storage - nowy standard HTML przewiduje coś takiego - jak cookies tylko większe; oczywiście maniacy od śledzenia użytkowników potrafią tę funkcjonalność wykorzystać. W ramach higieny przeglądarkowej trzeba wejść do opcji (opera:config), znaleźć sekcję Persistent Storage i tam ustawić:
    • Domain Quota For Databases = 0
    • Domain Quota For Widget Preferences = 0
    • Domain Quota For localStorage = 0
    • Global Quota For Databases = 0
    • Global Quota For Widget Preferences = 0
    • Global Quota For localStorage = 0
    • User JS Storage Quota = 0
  • Geolocation – strony mogą lokalizować użytkownika korzystając z jakiejś googlowskiej usługi. Nie, dziękuję.
    • Enable geolocation = OFF (można też wyłączyć w preferencjach: Advanced / Network / Enable geolocation)
  • Opera Unite - file sharing, coś tam jeszcze i to wszystko wbudowane w przeglądarkę. W sekcji User Prefs wyłączamy:
    • Enable Unite = OFF
    • Restart Unite Services After Crash = OFF
  • Sekcja Web Server (sic!)
    • Enable = OFF
    • Port = 0
    • Proxy Host =
    • Proxy Port = 0
    • Service Discovery Enabled = OFF
    • Service Discovery Server =
    • UPnP Enabled = OFF
    • UPnP Service Discovery Enabled = OFF
    • Use Opera Account = OFF
    • Webserver Always On = OFF

Warto dla pewności sprawdzić poleceniem netstat, czy przeglądarka nie ma pootwieranych portów UDP bądź nasłuchujących TCP. Gdy będę chciał mieć web serwer, to użyję apache, nginx bądź czegoś innego do tego celu przeznaczonego. Od przeglądarki oczekuję, żeby była... przeglądarką!

[edytuj] Obciążenie procesra w 11.6

O ile już od jakiegoś czasu linuksowa wersja opery zżerała sporo pamięci, to ostatnio (nie potrafię stwierdzić od kiedy, na pewno w wersji 11.6) zaczęła także pochłaniać sporą część czasu procesora, na przykład na moim czterolatku ponad 60% przy zaledwie dwóch oknach i kulkudziesięciu otwartych tabach. Po paru eksperymentach doszedłem do wniosku, że problemem jest javascript - gdy go wyłączę i zrestartuję przeglądarkę, zachowuje się grzecznie i spokojnie.

Co ciekawe, ta sama wersja Opery dla windows nie przejawia takiego problemu, co wskazuje, że w implementacji linuksowej jest jakiś gruby błąd.

[edytuj] Zobacz też

przypisy
  1. Sprawdziłem to porównując mapy pamięci z pliku /proc/`pidof opera`/maps.