Несколько soffice.bin

Автор JohnSUN, 27 ноября 2014, 18:37

0 Пользователи и 1 гость просматривают эту тему.

JohnSUN

Раз уж этот раздел у нас о "вопросах по использованию LibreOffice, OpenOffice.org, Apache OpenOffice"...
Приглашаются к раздумьям все, у кого стоит по несколько офисов на машине.
Известно, что каждый из них при запуске создаёт свой soffice.bin, на котором болтаются все дочерние фреймы. То есть несколько процессов с этим именем в памяти нормально уживаются (когда относятся к разным екзешникам).
С другой стороны, много раз обсуждалась ситуация, когда торопливый пользователь на медленной машине успевал накликать несколько запусков офиса, пачка soffice.bin повисала в процессах, а на экране ничего не происходило.

И вот, вслед за karolus'ом я хочу спросить why do you need multiple Instances?
То есть, меня не шибко волнует техническая сторона этого вопроса. Мне действительно интересно для чего это могло понадобиться? (Думаю, автор вопроса johnson застесняется и не ответит)
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

tagezi

Цитата: JohnSUN от 27 ноября 2014, 15:37Мне действительно интересно для чего это могло понадобиться?
С таким вопросом можно написать "Великую книгу фантаста". Без обид =)

Если человек собирает офис из исходников, то кроме занимания гигантского места на диске, это ещё требует порядка 6-8 часов процессорного времени. Естественно, каждый раз когда нужно перекомпилировать с новыми настройками, сильно задумываешься над этим.. поэтому 2 раза, только фанатик это сделает. (я не фанатик, мне просто интересно =))

С другой стороны, он может сравнивать локализацию на разных языках. Каждый раз перезагружаться, чтобы посмотреть очередной ID_Key не очень удобно.. занимает много времени. Выписывать на бумажку... поверьте мне, тоже не райское наслаждение.
Или, например, у него есть несколько версий расширений, которые конфликтуют между собой, и ему нужны отдельные профили.
Может он тестирует какие-нибудь функции, но хочет раскидать тестовые профили в разные темп папки. Последнее возможно, но только при полной перезагрузке пакета.
Возможно он пытается собрать многопоьзователскую систему, и ему нужны отдельные профили для каждого юзера...

Так что, мы можем начинать варить кофе в больших количества ;)
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

JohnSUN

Цитата: tagezi от 27 ноября 2014, 19:06
С таким вопросом можно написать "Великую книгу фантаста". Без обид =)
Какие обиды?!! Брось! Я тоже в первую очередь о фантастах вспомнил. О Стругацких.
Цитировать"...теперь здесь есть люди, которые желают странного. Как это прекрасно - человек, который желает странного! И этого человека, конечно, боятся. Этому человеку тоже предстоит долгий путь. Его будут жечь на кострах, распинать, сажать за решетку, потом за колючую проволоку..."
(с) Попытка к бегству
Цитата: tagezi от 27 ноября 2014, 19:06
...ему нужны отдельные профили
Так это и есть ответ на его вопрос: нужны разные профили - значит нужны разные пользователи. Насоздавай нужное количество юзеров и запускай копии процессов от их имён, делов-то куча...
А насчет моего вопроса - да, все твои версии хороши!
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Yakov

Например для того, чтоб открыть глючный документ так, чтобы остальные открытые документы не подвисли.

ape

Цитата: JohnSUN от 27 ноября 2014, 19:29
Так это и есть ответ на его вопрос: нужны разные профили - значит нужны разные пользователи. Насоздавай нужное количество юзеров и запускай копии процессов от их имён, делов-то куча...
Ты в основном под Windows, а в Окнах всё просто:
- устанавливаешь нужный Офис (ЛО_3.3-4.4) и в файле bootstrap.ini изменяешь строку
ЦитироватьUserInstallation=$SYSUSERCONFIG/LibreOffice 4(или 3)
на, например,
ЦитироватьUserInstallation=$SYSUSERCONFIG/LibreOffice/4.3(или 3.6)
- запускаешь soffice.exe и получаешь профиль для каждой версии;
- копируешь установленную версию ЛО на свободное место и после этого её удаляешь;
- папку-копию, т.е. по сути Portable, переименовываешь, указав номер релиза, и создаёшь ярлык запуска;
- устанавливаешь очередной релиз и повторяешь все действия, изложенные выше.
Это позволяет пользовать на одной "Оконной" машине ВСЕ офисные пакеты, начиная, например, с 1.1.5-Инфра.
Цитата: JohnSUN от 27 ноября 2014, 18:37Известно, что каждый из них при запуске создаёт свой soffice.bin, на котором болтаются все дочерние фреймы. То есть несколько процессов с этим именем в памяти нормально уживаются (когда относятся к разным екзешникам).
С другой стороны, много раз обсуждалась ситуация, когда торопливый пользователь на медленной машине успевал накликать несколько запусков офиса, пачка soffice.bin повисала в процессах, а на экране ничего не происходило.
У меня ХР-64 на Ксеоне-Е3-1230.вер.2 (считай - Core_i7-37xx) c 16ГБ памяти и твердотельным накопителем САТА-3. То есть, вопросов по железу нет. Однако довольно часто наблюдал вылеты ЛО при запуске нескольких ЕХЕ (т.е. в памяти несколько разнопрофильных БИНов). Такая ситуация возникала тогда, когда разные пакеты открывали один и тот же тестовый файл. При этом проблемный файл открывался только одним Офисом, остальные пакеты открывали его копию. После этого от "параллельного" офисного запуска я отказался.

tagezi

Цитата: ape от 28 ноября 2014, 10:30Ты в основном под Windows, а в Окнах всё просто:
Ему нужно для одного и того же процесса (одной и той же установки) получить разные профили.
Предложенный вами способ работает во всех системах, а не только в виндовсе, но не даёт эффекта необходимого автору, так как, чтобы сменить профиль, нужно полностью остановить процесс приложения.

Цитата: JohnSUN от 27 ноября 2014, 16:29нужны разные профили - значит нужны разные пользователи.
А в виндовсе это реально организовать?
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

ape

#6
Цитата: tagezi от 28 ноября 2014, 11:40Предложенный вами способ работает во всех системах, а не только в виндовсе, но не даёт эффекта необходимого автору, так как, чтобы сменить профиль, нужно полностью остановить процесс приложения.
Не сталкивался с таким в Лубунту в случаях с ЛО-3.3--3.6. Указанная Вами возможность, по склерозу, появилась только в ЛО-4.1.0.х
ТС не говорит о запуске двух одинаковых Офисов или двух Бин-процессов одного установленного Офиса, имхо. Хотя первое в Окнах организовать достаточно легко:
- устанавливаешь нужный Офис, например ЛО_4.3.5.1
- в файле bootstrap.ini изменяешь строку UserInstallation=$SYSUSERCONFIG/LibreOffice 4 на, например, UserInstallation=$SYSUSERCONFIG/LibreOffice/4.3
- запускаешь soffice.exe и получаешь профиль версии 4.3;
- копируешь установленную версию ЛО на свободное место;
- папку-копию переименовываешь, например в LO-4.3.5.1_port и копируешь в неё созданный профиль, папку "user";
- редактируешь файл bootstrap.ini копии, заменив UserInstallation=$SYSUSERCONFIG/LibreOffice/4.3 на UserInstallation=${ORIGIN}/..
- запускаешь Офис-копию, затем установленный Офис и убеждаешься, что всё ОК.
--
p.s. Хотя мне не понятно, зачем это надо..

tagezi

Цитата: ape от 28 ноября 2014, 11:17ТС не говорит о запуске двух одинаковых Офисов или двух Бин-процессов одного установленного Офиса, имхо. Хотя первое в Окнах организовать достаточно легко:
Да, как обходной путь. Хотя если, опять же, собирать, например, из исходников для мелких тестов с разными ключами, то всё это лишние телодвижения. В Линухе работает: ./soffice -env:UserInstallation=Путь_до_профиля
Про параллельные установки тут
Про особые случаи в Хоуту Бибисект
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

ape

#8
Цитата: tagezi от 28 ноября 2014, 14:52Да, как обходной путь. Хотя если, опять же, собирать, например, из исходников для мелких тестов с разными ключами, то всё это лишние телодвижения. В Линухе работает: ./soffice -env:UserInstallation=Путь_до_профиля
Про параллельные установки тут
1. В Окнах этот обходной путь бывает мне иногда необходим в случаях, когда:
- из-за устранения критичной для меня ошибки перехожу на "Ежедневку", не дожидаясь пре-релиза;
- пытаюсь локализовать дату/сборку внесения в Мастер-релиз какой-либо новой регрессии.
2. Про "тут" (шаги 2, 3). У меня другой способ:
- Использую "Полуночного командира" - mc
- Под root cоздаю там, где мне необходимо, папку с понятным мне коротким названием, например, в своём домашнем каталоге ../home/soft/libo/4.3.5.1/
- Распаковываю все deb(rpm)-файлы из необходимых мне пакетов **deb(rpm).tar.gz в эту папку
- Убираю нежелательные пакеты, например, словари (испанский и французский), Вики и КДЕ-интеграцию (у меня Гномообразные ДЕ)
- Из этой папки выполняю команду установки всех пакетов (они, конечно, разные в различных Линуксов)
Для ЛО-4.Х.х.х более ничего не требуется. Вижу преимущество в том, что затем не надо искать и удалять ненужные пакеты штатными средствами ДЕ-ОС.

JohnSUN

Всем спасибо за участие!
johnson - реальный топикстартер - отписался на ask.libreoffice.org: "Я хочу запускать нескольких экземпляров soffice.bin, чтобы конвертировать (удалять объекты OLE из файлов) с помощью скриптов. Пока что я могу делать это файл за файлом с помощью одного экземпляра soffice.bin, и это немного медленно. Поэтому нужно иметь нескольких экземпляров, чтобы иметь различные процессы для исполнения сценариев. А это означает - один процесс для одного файла" (переврано близко к тексту).

О распараллеливании выполнения макросов мы как-то и не подумали, да?  ;D
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне