Как же ускорить запуск этого тормоза OpenOffice в Linux.
В двух словах – засунуть его в трей.
К сожалению как и пребладающее большинство программного обеспечения чем старше версия тем более тормознутым становится приложение. Но тормознутость запуска ОпенОфис это что-то. Как же сделать чтобы при нажатии на xls, doc файл они открывались быстрее. Все эти детские советы по изменению параметра память приводящее к волшебному awesome ускорению полная ла**. Но выход есть. Тот кто хоть немного работал с опенофисом заметил что если хоть одна копия офиса уже запущена то запуск всех последующих копий происходит раза в два быстрее. Но не будешь же просить пользователей все время держать открытой одну копию офиса на столе. И тут в инете я в поисках как ускорить опенофис наткнулся на мысль о том что нужно его засунуть в трей. Вау. В KDE уже встроены средства для этого дела. Заходим в домашнюю папку в $HOME/.kde/Autostart – правая кнопка - создать -ссылку на приложение – в дополнительных параметрах выбираем – разместить в системном лотке. Однако облом со нормальными приложениями opera kedit итп все работает но не с офисом. Окей. Воспользуемся доп программами это alltotray(как-то так называется) и kdocker. В ручном режиме когда мы указываем окно которое хотим свернуть в трей они с опенофисом справляются прекрасно, но если их попросить через команлдную строку засунуть опенофис в трей то опять облом. Окей. Программа kdocker может засовывать в трей через командную строку если ей указать ID окна. Поискав в инете нашлась информация как определить ID нужного окна.


Через xwininfo


Тогда идея . Запускаем опенофис. Определяем ID его окна передаем его kdocker. И это сработало :). тогда осталось только засунуть в автозагрузку KDE запуск опенофис и в след за ним kdocker. (Сразу скаже как сделать это красиво и железно пока мне неизвестно). Но тут снова сложность. Как сделать так чтобы kdocker запускался именно после опенофис. В Gnome в gnome-session-properties можно задавать приоритет (хотя на самом деле это не срабатывает в случае kdocker и опенофис). Значит будем запускать из скрипта. Однако тут тоже сложность. Если запустить первый экземпляр опенофис в терминале то можно увидеть что после того как окно уже сформтровалось то опенофис не возвращает управение терминулу а так и висит. В итоге все вылилось в следующий скрипт. С таймаутами через sleep, которые подбираются индивидуально в зависимости от тормознутости машины.

$HOME/.kde/Autostart/office-to-tray.sh



#!/bin/bash

/opt/openoffice.org2.4/program/scalc -norestore &

sleep 15

/usr/local/bin/kdocker -w `/usr/X11R6/bin/xwininfo -root -children -tree | /bin/grep "OpenOffice.org Calc" | awk '{ print $1 }'` &

/opt/openoffice.org2.4/program/swriter -norestore $HOME/.1.doc

sleep 5

/usr/local/bin/kdocker -w `/usr/X11R6/bin/xwininfo -root -children -tree | /bin/grep ".1 - OpenOffice.org Writer" | awk '{ print $1 }'` &





это приводит к тому что после ввода пароля в KDE в трее оказываются calc и writer. Минус в том что нужно дождаться пока значки calc и writer окажутся в трее а потом начинать работу.

Пояснение относительно скрипта. Если в трей засунуть calc с пустым документом то при нажатии на xls документ этот xls документ открывается в новом приложении что нам и нужно а вот с writer не так. Если засунуть в трей пустой writer то первый открываемый doc файл окажется в том опен writere который сидит в трее. А это нам совсем не нужно. Поэтому в скрипте writer запускается с файлом .1.doc чтобы все последующие открываемые doc документы не оказались в трейном writere. Естественно для успешной работы скрипта нужно положить в домашнюю папку какой нибудь маленький .1.doc файл, содержащий например один символ.

На Celeron-1800 ,512Mb оперативной памяти , Fedora Core 4, KDE время открытия xls файла размером 450кб сократилось с 12 секунд до 5 секунд. Если размер xls файла меньше то время открытия соответственно тоже меньше. Если вместо KDE исользовать icewm то время сокращается до 4 секунд.

Также про сервис-параметры-Openoffice.org-Память. Выставление его до сумасшедсших размеров 128Мб итп только замедляет загрузку при такой схеме. Но вообще нужно пройтись по всем меню и поотключать лишнее. конечно отключить java. кстати пару слов об установке. я рекомендую создать отдельный репозитотирий только из пакетов OpenOffice и установить так

        #yum install openoffice.org-calc
#yum install openoffice.org-writer
#yum install openoffice.org-impress
чтобы установка прошла по минимуму и всякая шушера типа pyuno не установилась.

Вот пример оптимизированного конфига



-----------------

Также хотелось бы чтобы диалоги открытия файлов были не gtkашные а родные kde. Но в linux этот флажое отсутствует. В windows версии был найден параметр который за это отвечает

в файле "c:\PROGRAM FILES\OpenOfficePortable\Data\settings\user\registry\data\org\openoffice\Office\Common.xcu"

параметр

<prop oor:name="UseSystemFileDialog" oor:type="xs:boolean">
<value>true</value>
</prop>

в инете нашел инфо что у тех кого данный флажок был в меню и они сменили диалоги открытия/сохранения на KDE возникали краши опенофис.

но в linux он недает никаого результтатат.

-----------------

Еще момент В KDE чтобы работал скрипт по засовыванию OO в трей нужно чтобы в окне логина если используем gdm был 'английскпй en_us язык' но не русский иначе не работает . Если используем kdm то таких проблем нет.

-----------------------------

при запуске OpenOffice-2.4.1- Writer в KDE наблюдался краш. Другими словами writer сразу закрывался после открытия и появления белого листа. Оказывается причина:

в файле .kde/share/config/kdeglobals

в секции [General]

нужно удалить строку

widgetStyle=compact

------------------------------------

применение prelink и preload сколько еще сколько-нибудь заметной прибавки производительности не дали

---------------------------------------

Еще кое какие подролбности оптиимизации опенофис смотри в разделе установка KDE.

----------------------------------------------------------------------
наткнулся на OpenOfficeQuick Starter для Linux
идея разработчиков аналогичная , ускорить запуск OpenOffice путем поддержания открытой одной копии OpenOffice . и отслеживания что если ее закрывают то quick starter тутже открывает снова. все клево. только если еще это окно куда нибудь девали хоть в тот же трей то было б супер
-----------------------------------------------------------------------------
Сайт управляется системой uCoz