#linux #plugins #firefox-addon
#linux #Плагины #firefox-аддон
Вопрос:
Я пытаюсь протестировать плагин Mozilla (разработанный с использованием FireBreath) в виде .so
общего объектного файла. Плагин был разработан на Ubuntu, где он работает нормально.
Сейчас я пробую это в openSUSE — поэтому я сначала связал .so
файл символикой в ~/.mozilla/plugins
:
> ln -s /path/to/npXXX.so ~/.mozilla/plugins/
… а затем запустил Firefox (7) из командной строки:
> /path/to/firefox -P myprofile
...
LoadPlugin: failed to initialize shared library libXext.so [libXext.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library /path/to/npXXX.so [/path/to/npXXX.so: undefined symbol: gtk_widget_get_mapped]
# and the LoadPlugin messages do NOT show a second time - probably because plugin is disabled (via about:addons).
И поэтому я подумал попробовать разные вещи, чтобы разобраться в этом, но сначала я перезапустил Firefox и понял, что при втором запуске я больше не получаю сообщения «LoadPlugin: не удалось инициализировать«! Затем я попытался удалить символическую ссылку плагинов и перезапустить FF; и снова добавить его и перезапустить FF — по-прежнему нет сообщений об ошибках!
Итак, это говорит мне о том, что, вероятно, Firefox каким-то образом отключил / внес в черный список плагин (но какой: libXext, npXXX или оба?), но поиск (grepping) для (np) XXX в ‘/path/to/myprofile/blocklist.xml ‘ничего не возвращает (плагин должен использовать идентификатор, подобный электронной почте, а не эти числовые идентификаторы, поэтому я ожидаю, что эта строка будет отображаться в blocklist.xml если он там есть).
Кто-нибудь знает: является ли поведение Firefox по умолчанию для отключения / блокировки плагинов, которые сначала не загружаются? Если да, есть ли способ заставить Firefox загружать их снова (и выдавать сообщения об ошибках)? Если у вас также будут ссылки на то, где задокументировано это поведение, это будет высоко оценено 🙂
Заранее большое спасибо за любые ответы,
приветствия!
Примечание: после того, как я перестал видеть сообщения об ошибках, я сделал следующее:
- Я пытаюсь «
about:plugins
«: «Не найдено включенных плагинов«; - затем попробуйте «
about:addons
» и нажмите «Плагины»: «У вас не установлены какие-либо дополнения этого типа«;
Этот плагин не встроен в расширение, поэтому ничего нового не следует добавлять в « about:addons
» в разделе «Расширения» — и, как и ожидалось, там ничего нового не отображается. В Ubuntu (где все работает), просто путем символической ссылки на плагин ~/.mozilla/plugins
, в двух вышеуказанных местах / экранах начинает отображаться информация о плагине.
Это одна из вещей, которые меня озадачивают — если бы он просто показывал плагин как «отключенный», возможно, у меня был бы шанс снова включить его (чтобы получить новую порцию сообщений об ошибках) — однако « about:plugins
» и « about:addons
» просто ничего не показывают — так что мне нечего можно использовать для включения оттуда. Что говорит мне о том, что Firefox использовал другой метод для отключения плагинов, но я не могу сказать, что это такое…
Комментарии:
1. Вы можете проверить список надстроек / расширений через менеджер (shift-ctrl-A в последних Firefoxes). Как только надстройка / расширение помечено как отключенное, FF НЕ будет пытаться загрузить его снова.
2. Попробуйте удалить
~/.mozilla/firefox/*/pluginreg.dat
.3. Приветствия, @MarcB — Я отредактировал исходное сообщение, чтобы уточнить: после того, как я перестаю видеть сообщения об ошибках, ничего не отображается, связанного с этим плагином, ни в »
about:addons
«, ни в »about:plugins
«.4. Большое спасибо @n.m. — вот и все! Это было
pluginreg.dat
в каталоге моего профиля:grep -i -B 1 XXX /path/to/myprofile/pluginreg.dat
возвращено «[НЕДЕЙСТВИТЕЛЬНО]» — и послеmv
ввода его в »__pluginreg.dat
» и перезапуска Firefox из командной строки я снова вижу сообщения об ошибках! Woot! 🙂 Не могли бы вы опубликовать ответ, чтобы я мог его принять? Приветствия!
Ответ №1:
В Firefox есть кэш для модулей XPCOM («кэш быстрой загрузки»), если модуль не загружается, Firefox не будет повторять попытку. Кэш сбрасывается автоматически при установке расширения или обновлении приложения. Начиная с Firefox 4, вы также можете использовать -purgecaches
флаг командной строки для удаления кэша.
Комментарии:
1. Большое спасибо за это, @Wladimir Palant — насколько я понимаю, FireBreath создает плагины NPAPI (что, я полагаю, означает, что они не являются плагинами XPCOM) — тем не менее, приятно знать
-purgecaches
… Приветствия!