czwartek, 3 lipca 2008

Iceweasel - otwieranie linków zewnętrznych

Po zainstalowaniu Iceweasela miałem problem z otwieraniem linków. Iceweasel nie otwierał linków z zewnętrznych aplikacji np. link zawarty w e-mailu lub w wiadomości komunikatora. Problem pojawiał się wtedy gdy Iceweasel był już uruchomiony. Kiedy Iceweasel był zamknięty wszystko było ok. Wtedy kliknięcie np. na link w e-mailu powodowało uruchomianie Iceweasela i otwarcie strony podanej w linku. Problem pojawiał się gdy Iceweasel był już uruchomiony. Wtedy kliknięcie w taki link powodowało wyświetlenie takiego komunikatu:

Iceweasel is already running , but is not responding. To open a new window, you must first close the existing Iceweasel process, or restart your system.
Znalazłem informację, że jest to znany bug i jego rozwiązaniem jest edycja pliku /usr/lib/iceweasel/iceweasel, w którym należy zmienić wyrażenie APPLICATION_ID=firefox na APPLICATION_ID=iceweasel. Po prostu w wyrażeniu APPLICATION_ID=firefox słowo firefox należy zamienić na iceweasel. U mnie niestety nie rozwiązało to problemu. Powróciłem więc ponownie do pierwotnej wersji APPLICATION_ID=firefox.
W moim przypadku rozwiązaniem okazało się usunięcie pliku .parentlock. Jest to plik znajdujący się w katalogu profilu użytkownika Iceweasela. Katalog ten to katalog w którym Iceweasel przechowuje dane i ustawienia użytkownika takie jak ulubione strony, ciasteczka, historię przeglądanych stron itp. Aby uniknąć konfliktów Iceweasela zaprojektowano tak aby tylko jedna jego kopia miała dostęp do danego profilu w tym samym czasie. Podczas uruchamiania Iceweasel tworzy w katalogu profilu plik lock, który blokuje pozostałym jego kopiom lub innym aplikacjom dostęp do tego profilu w tym samym czasie. Przy zamknięciu Iceweasela plik ten jest usuwany. Czasami zdarza się, że przeglądarka zostanie nieprawidłowo zamknięta i plik ten nie zostanie usunięty. Wtedy przy ponownym uruchomieniu może pojawić się ten komunikat, że Iceweasel jest uruchomiony, ale nie odpowiada i żeby najpierw zakończyć istniejący proces Iceweasela lub zrestartować system. Usunięcie tego pliku jest rozwiązaniem w tego typu sytuacjach. U mnie naprawiło to także problem z otwieraniem linków zewnętrznych przez Iceweasela. Teraz kliknięcie w link zewnętrzny powoduje po prostu otwarcie nowej zakładki w Iceweaselu.
Katalog profilu Iceweasla znajduje się w katalogu domowym użytkownika. Jego scieżka jest następująca ~/.mozilla/firefox/nazwa_profilu. Automatycznie utworzony profil kończy się na "default". Aby usunąć plik blokujący należy zamknąć przeglądarkę i usunąć z katalogu plik lock i .parentlock. Można wykonać następujące komendy:

$ rm ~/.mozilla/firefox/*/.parentlock
$ rm ~/.mozilla/firefox/*/lock

Gwiazdkę można zastąpić własną nazwą profilu.

Podobny plik blokujący wykorzystuje Icedove (Thunderbird) znajdujący się w analogicznym katalogu profilu.

Brak komentarzy: