2

Я установил Firefox в каталог пользователя (версия 3.6.10) /cache/app/firefox .

Я установил java jre1.6.0_21 в /cache/app/java/jre1.6.0_21

У меня есть ссылка на /cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so в /cache/app/firefox/plugins/libjavaplugin_oji.so

Итак, теоретически, когда я запускаю Firefox, плагин должен быть указан в about:config - неправильно. У меня есть много других плагинов, которые работают просто отлично, но java нигде не указан.

Я запустил strace -F ./firefox >/tmp/output.txt 2>&1 (-F необходим, поскольку плагины Firefox теперь загружаются в разветвленном процессе). Firefox явно находит мой плагин:

[pid  5121] lstat64("/cache/app/firefox/plugins/libjavaplugin_oji.so", {st_mode=S_IFLNK|0777, st_size=78, ...}) = 0
[pid  5121] readlink("/cache/app/firefox/plugins/libjavaplugin_oji.so", "/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so"..., 4096) = 78
...
[pid  5121] lstat64("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0755, st_size=137021, ...}) = 0
[pid  5121] stat64("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0755, st_size=137021, ...}) = 0
[pid  5121] access("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", F_OK) = 0
[pid  5121] open("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", O_RDONLY) = 35
[pid  5121] read(35, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\250\0\0004\0\0\0\4"..., 512) = 512

Похоже, что плагин находят, открывают и считывают первые 512 байт и, возможно, отображают память. Так почему же он не появляется в списке плагинов?

Одна подсказка может заключаться в том, что в каталогах по умолчанию лежит другой более старый плагин (и я не могу это изменить, у меня нет root, поэтому я запускаю firefox в пользовательском режиме).

[pid  5121] lstat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/jre/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0644, st_size=103436, ...}) = 0
[pid  5121] stat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/jre/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0644, st_size=103436, ...}) = 0

Хотя, конечно, Firefox достаточно умен, чтобы выбрать последний и использовать его? Есть ли способ включить отладку во время запуска Firefox, чтобы я мог найти сообщение отладки, которое объясняет, почему последний плагин JRE 1.6 пропускается?

Действительно расстраиваю, я потратил часы на это.

1 ответ1

0

Я нашел http://kb.mozillazine.org/Determining_plugin_directory_on_Linux, который, кажется, документирует местоположения, в которых выполняется поиск, и который имеет приоритет, но я не уверен, насколько датирована эта информация.

Кроме того, вы используете 64-битный или 32-битный Firefox? 64-битные требует 64-битных плагинов или специальных обходных путей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .