Java und Firefox
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
Dieses Howto soll erklären, wie man Java Plugins so installiert, dass sie mit dem Mozilla Firefox Browser funktionieren.
| Notiz: Diese Anleitung ist nicht für AMD64 Installationen geeignet! Eine englischsprachige Anleitung für 64Bit-Systeme gibt es hier |
[Bearbeiten] Installation
Dieser Teil ist für Dich, wenn Du Firefox und/oder Java noch nicht installiert hast.
[Bearbeiten] Mozilla Firefox installieren
Überprüfe, ob Firefox mit der java USE flag kompiliert wurde:
# equery u mozilla-firefox
Wenn equery nicht auf Deinem System ist solltest Du es gerade nachinstallieren:
# emerge -av gentoolkit
Wenn die USE flag nicht gesetzt ist musst Du neu kompilieren:
# echo "www-client/mozilla-firefox java" >> /etc/portage/package.use # emerge -av mozilla-firefox
[Bearbeiten] Java installieren
Es gibt einige verschiedene Java Virtual Machines (JVM) die Du mit Gentoo installieren kannst. Für dieses Howto kannst Du zwischen Sun's JVM oder der Blackdown Java wählen. Bei beiden brauchst du die nsplugin USE flag, die Du entweder im Terminal oder in der make.conf setzt.
| Notiz: browserplugin und mozilla USE flags sind veraltet, bitte nicht mehr verwenden. |
[Bearbeiten] Sun JRE
Die Java Runtime Umgebung von Sun Microsystems installiert man mit
# emerge -av sun-jre-bin
Wegen Lizenzbestimmungen musst Du die Installationsdatei manuell herunterladen, in /usr/portage/distfiles verschieben und das emerge nochmal laufen lassen.
| Notiz: Es ist nicht mehr nötig die Installationsdatai manuell herunterzuladen: Zitat: Kürzlich hat Sun sein JDK und JRE unter eine andere Lizenz gestellt, die freundlicher für Linux-Distributionen ist. Dadurch kann Suns Java ab Version 1.5 ohne weiteres installiert werden.Siehe dazu http://www.gentoo.org/doc/de/java.xml |
| Notiz: Mit sun-jre-bin-1.4.2.09 musst Du darauf achten, dass glibc die Version 2.3.5 hat oder es wird nicht funktionieren (die Abhängigkeit fehlt irgendwie in Portage). |
[Bearbeiten] Blackdown JRE
Die Blackdown JRE ist eine verwandte Version von Java die auch für non PC Systeme verfügbar ist und nicht den Lizenzbestimmungen unterliegt. Einige Leute sagen allerdings, dass sie ein wenig langsamer als die Version von Sun ist. Um die Blackdown JRE zu installieren gibt man folgendes ein:
# echo "dev-java/blackdown-jre nsplugin" >> /etc/portage/package.use # emerge blackdown-jre
[Bearbeiten] Firefox mit Java konfigurieren
Zu allererst solltest Du sichergehen, dass Java in Firefox aktiviert ist. Dazu startest Du Firefox und gehst auf Vorlage:Gui und dann den Vorlage:Gui Reiter. Der Haken bei Vorlage:Gui muss gesetzt sein.
[Bearbeiten] The Gentoo Way
Mit der neuen Version von dem Paket java-config, ist dies der sauberste und allgemein empfohlene Weg das Java Plugin für Firefox auszuwählen: Man benutzt mit root-Rechten ausgestattet einfach folgenden Befehl:
# eselect java-nsplugin list
um alle Verfügbaren Java Plugins aufzulisten. Weiter wählt man nun das Plugin, welches man verwenden möchte. Beispielsweise sun-jre-bin-1.6:
# eselect java-nsplugin set sun-jre-bin-1.6
Damit hat man nun das Java Plugin für Firefox erfolgreich auf sun-jre-bin-1.6 verlinkt. Sollte ein anderes Java Plugin davor verwendet worden sein, so wurde dies nur durch das Gewählte ausgetauscht.
[Bearbeiten] Java in Firefox symlinken
Wenn Java immernoch nicht im Firefox funktioniert musst Du einen Symlink setzen, damit Firefox das Java Plugin erkennt.
Also schauen wir erstmal, wo das Plugin liegt.
[Bearbeiten] Mit slocate
# updatedb # locate javaplugin_oji.so
Verwende den Pfad, den locate zurückgegeben hat, und verlinke das Plugin mit Firefox auf eine der folgenden Arten.
| Notiz: Um updatedb und locate verwenden zu können muss slocate installiert sein. |
[Bearbeiten] Mit find
# find /opt -name javaplugin_oji\*
Diese Methode braucht vielleicht ein bisschen länger als slocate, dafür muss vorher nicht das updatedb ausgeführt werden. Um find verwenden zu können wird sys-apps/findutils benötigt, welches standarmäßig bei einer Gentoo Linux Installation dabei ist. Es kann sein, dass Du mehrere Treffer erhältst, dann musst Du den nächsten Schritt mit den verschiedenen Pfaden ausprobieren bis es funktioniert.
Solltest Du nicht fündig werden versuche es mit
# find /opt -name "*javaplugin_oji*"
[Bearbeiten] Global linken
Dies empfiehlt sich, wenn auf Deinem System mehrere Benutzer arbeiten oder in Zukunft arbeiten werden. Verlinke das Plugin mit Firefox mit:
# ln -s <path-to-java-plugin> /usr/lib/mozilla-firefox/plugins/
oder:
# ln -s /opt/sun-jre-bin-xxxVersionxxx/plugin/i386/ns610-gcc32/libjavaplugin_oji.so /opt/firefox/plugins/
Beachte: Wenn du mehrere JVMs installiert hast (zum Beispiel Sun JRE in den Versionen 1.4 und 1.5), kann Firefox nur eine der beiden benutzen. Es ist aber auch möglich Firefox so zu konfigurieren, dass er die System-JVM benutzt (damit ist es auch einfach möglich die JVM zu aktualisieren). Dafür muss die JVM benutzt werden, die mit dem java-config Befehl ausgewählt wurde. Since it places a symlink in /etc/java-config/, we can hook through that. So issue the following command:
- ln -s /etc/java-config-2/current-system-vm/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla-firefox/plugins/
[Bearbeiten] Assertion 'c->xlib.lock' Bug in Suns Java
Wenn Firefox Java kennt (In der Adresszeile about:config eingeben) und es immer noch nicht funktioniert, versuche Firefox von einem Terminal aus zu starten. Erscheint folgende Fehlermeldung:
xcb_xlib.c:50: xcb_xlib_unlock: Assertion 'c->xlib.lock' failed
so ist man von Bug 6532373 (Java Community Bug Database) betroffen. Um den Bug temporär zu lösen sollte folgendermaßen vorgegangen werden:
Erstellt folgende Datei: /etc/portage/env/x11-libs/libxcb mit folgendem Inhalt:
CFLAGS="${CFLAGS} -DNDEBUG"
Und lasst dann libxcb neu durchkompilieren:
emerge --oneshot libxcb
[Bearbeiten] 64-Bit System und Javaplugin
Falls Sie eine gemischte 64-Bit und 32-Bit Multilib-Umgebung verwenden (zum Beispiel auf einem AMD64) können Sie sowohl 64-Bit als auch 32-Bit Java-Plugins installieren.
Um ein 32-Bit Plugin zu verwenden, müssen Sie emul-linux-x86-java emergen während das nsplugin USE-Flag aktiviert ist. Befehlsauflistung 7.4: Installation eines 32-Bit Plugins
- echo "app-emulation/emul-linux-x86-java nsplugin" >> /etc/portage/package.use
- emerge emul-linux-x86-java
Überprüfen Sie als nächstes welche Plugins zur Verfügung stehen: Befehlsauflistung 7.5: Anzeige der verfügbaren Plugins
- eselect java-nsplugin list
Available 32-bit Java browser plugins
[1] emul-linux-x86-java-1.4.2 [2] emul-linux-x86-java-1.5
Available 64-bit Java browser plugins
[1] blackdown-jdk-1.4.2 [2] blackdown-jre-1.4.2
Obwohl Sie einen 32Bit-Browser (z.B. mozilla-firefox-bin) zur Benutzung Ihres 32Bit-Plugins auswählen müssen, benutzt die 64Bit-Version des konquerors Ihre Java-VM direkt. Mit diesem ist es möglich blackdown in der 64Bit-Version zu nutzen; es ist keine weitere Konfiguration nötig.
Wählen Sie nun das richtige Plugin für Ihren 32Bit-Browser: Befehlsauflistung 7.6: Auswahl von Plugins
- eselect java-nsplugin set 32bit emul-linux-x86-java-1.5
Überprüfen Sie, ob das richtige Plugin ausgewählt wurde: Befehlsauflistung 7.7: Überprüfen des richtigen Plugins
- eselect java-nsplugin list
Available 32-bit Java browser plugins
[1] emul-linux-x86-java-1.4.2 [2] emul-linux-x86-java-1.5 current
