To nie będzie blog o Firefoksie

Ale gdyby ktoś przypadkiem dogooglał się tu na hasło „firefox wolno działa pasek adresu”, no to proszę bardzo. Witam i karmię czym chata bogata.

Firefox od wersji 3 ma „niesamowity” pasek adresu, który sam zgaduje co i jak. Wystarczy wpisać fragment tytułu strony, adresu strony, słowa kluczowe, a pasek pokaże nam wszystko co już na ten temat odwiedził razem z nami i zapamiętał. Przydatne.

Do czasu gdy pasek zacznie się ślimaczyć. Doszło u mnie do tego, że chcąc wejść na gmailową pocztę, po wpisaniu w pasek litery „g”, komp się przywieszał na 10 sekund, dysk mielił, a dopiero potem pojawiało się dopełnienie: „gmail.com”, „goldenline.pl”, „guzprostaty…” eee, khmm 🙂 Może bez tego ostatniego, ale wiecie o co chodzi 😉

Okazuje się, że ślimacznie się to da się naprawić. Po kolei:

  1. Wyłączamy Firefoksa.
  2. Włączamy z powrotem, by doczytać co dalej napisałem.
  3. Kopiujemy ten tekst do notatnika i wyłączamy Firefoksa jeszcze raz.
  4. Tworzymy gdzieś pusty plik czyszczeniefx.sh i otwieramy go notatnikiem (aha, zapomniałem dodać, że rozwiązanie działa w Linuksie; jeśli ktoś wie jak przerobić to na wersję np windowsową, proszę o wpis w komentarzu)
  5. Wklejamy do niego treść:
    #!/bin/bash
    
    
    username=$(whoami)
    proc="$(ps aux | grep $username | grep -v $0 | grep firefox | grep -v grep)"
    if [ "$proc" != "" ]
    then
            echo "shutdown firefox first!"
            exit 1
    fi
    
    
    curdir=$(pwd)
    
    
    for dir in $(cat ~/.mozilla/firefox/profiles.ini | grep Path= | sed -e 's/Path=//')
    do
            cd ~/.mozilla/firefox/$dir 2>/dev/null
            if [ $? == 0 ]
            then
                    echo "i'm in $(pwd)"
                    echo -e "    running...\n"
    
    
                    for F in $(find . -type f -name '*.sqlite' -print)
                    do
                            sqlite3 $F "VACUUM;"
                    done
    
    
                    echo -e "done in  $(pwd) ...\n"
            else
                    echo -e "\n    !!!! Nisam uspio uci u direktorij $dir, preskacem ga !!!!\n"
            fi
    done
    echo "Job finished";
    
    
    cd $curdir
  6. Zapisujemy plik i nadajemy mu prawa dostępu pozwalające na wykonywanie go (w Ubuntu i podobnych znajdziecie to pod prawy klik > właściwości > zakładka Prawa dostępu)
  7. W terminalu uruchamiamy plik poleceniem
    ./czyszczeniefx.sh

Dysk trochę pomieli. Właściwie pomieli więcej niż zwykle, ale zobaczycie, że przy kolejnym uruchomieniu Firefoksa nie będzie w ogóle opóźnienia we wczytywaniu danych do paska adresu.

Wada tego jest taka, że niestety plik będzie trzeba wykonywać raz na jakiś czas, w zależności od spowolnienia działania.

9 thoughts on “To nie będzie blog o Firefoksie

  1. kolejna wada jest taka, ze przy okazji wyczysci nam np. historie formularzy i downloaow, chyba ciasteczka i kto wie co tam jeszcze… 🙂 warto by sie zastanowic czy nie daloby sie ten skrypt przerobic na bardziej precyzyjny, a nie czyszczacy wszystkie bazy danych sqliteowych (m.in. bazy roznych rozszerzen, potrafie sobie wyobrazic, ze nie wszyscy by chcieli wyczyscic sobie przy okazji np. baze danych Zotero ;-)…. tak czy inaczej ciekawy wpis… pozdrawiam…

  2. Wszystko pięgnie, tylko ten kod mógłbyś podawać w formie nieco bardziej przeklejalnej. Nie wiem jak u innych, ale u mnie każdą linijkę muszę zaznaczać osobno…

    Manto:
    Nic nie powinno zostać wykasowane. The VACUUM command cleans the main database by copying its contents to a temporary database file and reloading the original database file from the copy. This eliminates free pages, aligns table data to be contiguous, and otherwise cleans up the database file structure.

  3. Jako, że nie chciało mi się przeklejać skryptu, to polecam coś takiego:

    find ~/.mozilla/firefox/ -name „*.sqlite” -exec sqlite3 ‚{}’ „VACUUM” \;

    Robi to samo i faktycznie Firefox po operacji śmiga. Oczywiście w tym wypadku profile muszą być w domyślnym miejscu – w podkatalogach katalogu ~/.mozille/firefox/
    Należy oczywście wyłączyć wcześniej Firefoka, bo operacja się nie uda.

  4. Dla klikaczy: Narzędzia -> prywatność -> pasek adresu -> podpowiedzi w pasku adresu opieraj na: nie podpowiadaj.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *