Жабосвинюка

Меня санитары на волю ведут... Свобода какое хорошее слово!

барабанер
dikiy_mujchina dikiy_mujchina
Previous Entry Share Next Entry
Прискорення старту Firefox під Linux
Версія використання скриптів розрахована під КДЕ, але в залежності від менеджера можна підправити під себе...

Суть: головна причина повільного старту - це зчитування з носія данних профілю ФФ в пам"ять. Данна проблема дуже актуальна для низькошвидкісних носіїв даних наприклад SSD у нетбуках.
Якщо перенести цей профіль в пам"ять, то зчитування з носія данних зменшиться до мінінмуму, що значно прискорює запуск ФФ(старт з about:blank на ЕЕЕРС 900 зайняв десь 5 сек замість 15-20 як у випадку з SSD). Я резервую під профіль 64Мб. Можете збільшити або зменшити залежно від розміру кешу ФФ та завантажених модулів і т.і.
Під час першого старту відбувається зчитування необхідних модулів ФФ у пам"ять в кеш лінукса, що дещо пригальмовує запуск. Проте при наступному запуску мій SSD взвгалі не світився, тобто весь ФФ завантажився з пам"яті.
 
Для початку треба вписати в файл /etc/fstab такий рядок
firefox /home/asm/.mozilla/firefox/q6vdhh13.default tmpfs size=64M,noauto,user,exec,uid=1000,gid=1000 0 0

Де asm - ім"я користувача під яким буде запускатися ФФ, a q6vdhh13.default - ім"я профілю ФФ для цього користувача(він має бути створеним? тобто ФФ вже запускався хоч раз і був налаштований). Інформацію про ім"я профілю можна отримати у теці /home/${USERNAME}/.mozilla/firefox/. Ім"я теки на кшталт q6vdhh13.default є ім"ям вашого профілю. Відповідно gid та uid це ID групи та ID користувача, які можна взнати наприклад в файлі /etc/passwd

Треба два скрипти, один виконується при старті Х-сесії(fireload), інший при закритті Х-сесії(firesave). В значення змінних PROFILE та USERNAME треба вписати відповідні значення, що були вписані в /etc/fstab

fireload:

#!/bin/bash
PROFILE="q6vdhh13.default"
USERNAME="asm"
cd "/home/${USERNAME}/.mozilla/firefox"
if test -z "$( cat /etc/mtab | grep 'firefox' )"
then
 mount "/home/${USERNAME}/.mozilla/firefox/${PROFILE}"
 tar xpf packed.tar
fi

firesave:

#! /bin/sh
PROFILE="q6vdhh13.default"
USERNAME="asm"
cd /home/${USERNAME}/.mozilla/firefox
tar cpf packed.tar ${PROFILE}

Для створення бекапної копії профілю(на всяк випадок) виконуємо скрипт firesave та робимо копію файлу packed.tar у packed.tar.backup
Перший виконує такі кроки:
якщо тимчасова файлова система в пам"яті не змонтована, то монтує і розгортає туди збережені значення профілю ФФ.
Другий просто зберігає значення, що знаходяться на данний момент у профілі ФФ.

Для автоматичного запуску fireload робимо символічне посилання на скрипт у теці ~/.kde/Autostart
А для автоматичного збереження профілю при закритті Х-сесії робимо символічне посилання на скрипт firesave у теці ~/.kde/shutdown

Якщо у Вас інший графічний менеджер, то вам можливо треба виправити шляхи в скриптах та в фстаб, та вказати системі як запустити дані скрипти при запуску та закритті Х-сесії.

?

Log in