CentOS, Firefox i Java
Jakoś tak się składało, że przez naprawdę długi czas Linux stanowił dla mnie niemalże wyłącznie platformę serwerową, gdzie konsola była w zupełności wystarczająca. Wobec takiego stanu rzeczy, cały rozwój tego systemu związany ze środowiskiem graficznym mnie, delikatnie pisząc, ominął. Obecnie zacząłem trochę 'eksperymentować’ z graficznym Linuksem i natykam się na dziwne – jak dla mnie – problemy. Przykładowo…
Jak zmusić Firefoksa pod CentOSem do współdziałania z Javą? Okazuje się to nie być aż tak trywialnym zadaniem, jak by się wydawało (czyli kliknąć, potwierdzić i mieć). Zainstalowałem sobie dość standardowego CentOSa, wyposażonego w pełnowartościowy system graficzny kontrolowany przez GNOMEa. Okazało się, że Firefox jako taki był sam z siebie. Ale nie bardzo, OOTB, wspierał Javę.
Po pierwsze pobrałem najnowszą wersję JRE w wersji „Linux RPM”. Co ciekawe, plik, który udało mi się sciągnąć okazał się „prawie” RPMem. Niby w środku RPM, ale dodatkowo opakowany kawałkiem skryptu BASH:
[root@h7-centos ~]# file ./jre-6u20-linux-i586-rpm.bin
./jre-6u20-linux-i586-rpm.bin: Bourne shell script text executable
Po uruchomieniu „instalatora” najpierw wyświetliło licencję, potem się samo rozpakowało a na koniec powiedziało „Done.” :-)
Problem w tym, że wprawdzie Java się niby zainstalowała, ale Firefox jakby nie załapał, że powinien z niej w jakikolwiek sposób skorzystać i w dalszym ciągu marudził, że nie rozumie. Nic to, nie zrażony pierwszym niepowodzeniem, zacząłem szukać, jak to wszystko zmusić do współdziałania. Może cała procedura (nota bene składająca się z jednego polecenia :-)) nie jest jakoś porażająco skomplikowana, ale tak zupełnie oczywista dla mnie na początku też nie była.
Po krótkich poszukiwania okazało się, że Firefox szuka swoich pluginów w dwóch katalogach:
– globalnym, który wpływa na zachowanie przeglądarkidla wszystkich użytkowników korzystających z danego systemu: /usr/lib/mozilla/plugins,
– lokalnym użytkownika: ~/.mozilla/plugins.
Aby pożenić Firefoksa ze świeżo zainstalowaną przeze mnie Javą, musiałem utworzyć dowiązanie symboliczne (w katalogu, w którym FF szuka pluginów) do odpowiedniej binarki Javy. Wyglądało to tak:
[root@h7-centos ~]# cd /usr/lib/mozilla/plugins
[root@h7-centos plugins]# ln -s /usr/java/default/lib/i386/libnpjp2.so ./
[root@h7-centos plugins]# ls -la libnpj*
lrwxrwxrwx 1 root root 38 lip 2 22:06 libnpjp2.so -> /usr/java/default/lib/i386/libnpjp2.so
[root@h7-centos plugins]#
Po restarcie Firefoksa, program nagle zaczął rozumieć Javę i chyba ją nawet trochę polubił :-)
P.S. Dokładnie tak samo należy postąpić z niedziałającym Flashem, linkując do znanego nam już katalogu plik /usr/lib/flash-plugin/libflashplayer.so.