Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

11 Декабрь 2018, 01:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Не могу назначить макросу горячую клавишу  (Прочитано 3480 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Стартовое сообщение: 4 Ноябрь 2017, 10:10 »

Обнаружил, что с некоторых пор (как минимум с 5.3.6, наблюдал в 5.3.7 и 5.4.2) в LO не получается назначить макросу горячую клавишу. Иду в "Настройка", выбираю вкладку "Клавиатура", пытаюсь в разделе "Категории" дойти до модуля с нужным мне макросом ("Макросы Libreoffice/" и т. д.) -- и офис попросту падает. Наблюдаю на 2 доступных компах с 32-битным линуксом (LMDE).
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 615


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 4 Ноябрь 2017, 10:58 »

Возможно есть проблема с Java?
Записан

PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Ответ #2: 4 Ноябрь 2017, 11:40 »

Возможно есть проблема с Java?
Не уверен. Я сейчас установил Java 8 от Oracle (1.8.0_151) - до этого была 7 тоже от Oracle (1.7.0_151) -- и еще установил openjdk 1.8.0_131. Какую виртуальную машину из трех ни выбираю -- падение одно и то же.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 615


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 4 Ноябрь 2017, 11:53 »

Офис и Java 32-битные?
Записан

PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Ответ #4: 4 Ноябрь 2017, 12:04 »

Офис и Java 32-битные?
Ну дык 64-битный офис на 32-битной системе и не поставится, и не запустится. Конечно 32-разрядный установлен. Джава openjdk ставилась из 32-битных репозиториев. В случае оракловской это не явно прописано - но бинарник-то из командной строки запускается, так что тоже 32-разрядная.


Кроме того, во-первых, ранее назначенные хоткеи на макросы продолжают работать, а еще есть такая вещь: на одном из компов я поставил параллельно последний Apache Openoffice - так там всё назначается без проблем.
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 160


« Ответ #5: 4 Ноябрь 2017, 13:17 »

Проблема, скорее всего, именно в яве (http://antilibreoffice.blogspot.ru/2017/10/libreoffice-linux-java.html), которая использует (и всегда использовала) кривые хаки при работе со стеком, что приводит к обрушению на свежих ядрах Линукса (с тех пор, как там недавно усилили защиту стека). Попробуйте отключить использование явы, чтобы ЛО не пыталась её использовать при перечислении доступных макросов (именно это происходит при указанных Вами действиях - ЛО перебирает все установленные провайдеры макросов, и каждый опрашивает).
Записан

С уважением,
Михаил Каганский
PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Ответ #6: 4 Ноябрь 2017, 14:20 »

Михаил, большое спасибо: этот способ, действительно, помог! При всем том не могу не заметить, что это в общем-то баг. Причем подправить его разработчикам Либры вряд ли так уж сложно: всё, что надо - это при попытке назначить хоткей на макрос (да и вообще при обращении пользователя к назначению/редактированию горячих клавиш) временно автоматически отключать джаву.


Проблема, скорее всего, именно в яве (http://antilibreoffice.blogspot.ru/2017/10/libreoffice-linux-java.html), которая использует (и всегда использовала) кривые хаки при работе со стеком, что приводит к обрушению на свежих ядрах Линукса (с тех пор, как там недавно усилили защиту стека). Попробуйте отключить использование явы, чтобы ЛО не пыталась её использовать при перечислении доступных макросов (именно это происходит при указанных Вами действиях - ЛО перебирает все установленные провайдеры макросов, и каждый опрашивает).
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 160


« Ответ #7: 4 Ноябрь 2017, 14:27 »

... и что, теперь мне нужно объяснять, почему это заявление про "в общем-то баг" и "подправить его разработчикам Либры вряд ли так уж сложно: всё, что надо - это..." - глупость? Не буду в силу Закона Шапиро.
Записан

С уважением,
Михаил Каганский
PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Ответ #8: 4 Ноябрь 2017, 14:55 »

Видите ли, Михаил: самоочевидная идея отвязать LO от джавы и переписать весь соответствующий функционал на плюсах на поверку по затратности времени и усилий гораздо хуже, чем мысль о маленьком хаке (впрочем, "маленькость" его, конечно, требует проверки -- спорить, не порывшись в коде, не стану). Проблема в том, что нынешняя ситуация реально создет трудности с подключением к свежустановленному офису постоянно востребованных макросов (у меня, например, так решена проблема корректировки текста, по ошибке вбитого не в той раскладке). Опять же, обобщать опасно - но подозреваю, что любителей пользоваться макросами не так уж мало.

А чтобы не превращать разговор в дурную перепалку, посоветую хотя бы в какой-нибудь FAQ эту историю с джавой и макросами внести - на чем и откланяюсь.
« Последнее редактирование: 4 Ноябрь 2017, 14:57 от PVOzerski » Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 160


« Ответ #9: 4 Ноябрь 2017, 16:29 »

Вам это самоочевидно? :-D

1. ЛО не завязана на яву. По крайней мере, не настолько, как Вам кажется. (От явы зависит (пока ещё) интегрированная БД base - надеюсь, в 6.0 это изменится - и некоторые мастера). А в рассматриваемом случае ЛО вообще не зависит от явы - и нечего "переписывать на плюсах", поскольку там и так всё "на плюсах", так что Ваше "самоочевидно" показывает непонимание, на базе которого Вы делаете смелые утверждения.

2. На самом деле там происходит вот что. ЛО позволяет использовать макросы на разных языках: StarBasic, Python, Java, ... - при наличии соответствующей машины. Интерпретатор StarBasic встроен в ЛО; Python либо идёт в комплекте, либо системная зависимость. А ява - только если она есть в системе и активироана пользователем. То есть выбрав пункт "Использовать виртуальную машину Java" в расширенных возможностях, пользователь говорит: "Я хочу использовать Java; в т.ч., если надо, хочу запускать макросы на Java". И вот теперь, когда пользователь говорит: "я хочу увидеть все доступные макросы, чтобы один из них повесить на клавишу" - ЛО начинает просматривать все подключённые машины макросов: "StarBasic есть? Выдай список своих макросов. Так, Python: твоя очередь. Следующий: JVM, каки ... УПС!"

И что Вы предлагаете в этой ситуации? Улыбка
Записан

С уважением,
Михаил Каганский
PVOzerski
Участник
**
Offline Offline

Сообщений: 25


« Ответ #10: 4 Ноябрь 2017, 18:07 »

Ну что я предложить могу? Ну правда Ваша, в коде я не ковырялся. Общее соображение имею примерно такое: сделать поддержку java-макросов отдельной опцией, которую надо принудительно включать. Может, я и не прав, но думается, что макросы для LO, написанные на java, - штука не самая распространенная. Пожалуй, исключение могут представлять расширения вроде languagetool - но ведь их таким методом никто и не подключает.
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 965


« Ответ #11: 5 Ноябрь 2017, 21:59 »

А еще вот можно использовать:
https://portableapps.com/apps/utilities/java_portable
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!