Natives Java GTK-Look-and-Feel in Ubuntu

In Ubuntu sehen Java Applikationen, die das GTK Look and Feel (LaF) von Swing verwenden, leider nicht nativ aus. Doch gerade dieses LaF sollte genau dafür sorgen. Besonders im Unity Desktop erkennt man sie sofort als „Alien“.

Die Menüs haben keinen Rahmen und befinden sich  auch nicht in der globalen Menüzeile noch bieten sie HUD-Unterstützung.  Die Schrift in Buttons und Dialogboxen ist zu dünn und passt nicht zum generellen GTK Look nativer Programme.

Dieses How-To beschreibt, wie man in wenigen Schritten das Aussehen von Javas Swing Menüs und Text in Ubuntu nativ aussehen lässt.

Für Linux Mint (Cinnamon, Xfce) hilft mein How-To und Skript im Artikel Javas Swing Menü im GTK LaF richtig darstellen.

Globales Menü und HUD Unterstützung

Um das Swing Menü vom Fenster in die obere globale Menüzeile zu verschieben, muss nur das Paket „Ayatana“ installiert werden. Damit funktioniert auch das Head-Up-Display (HUD) mit Java Apps und beseitigt nebenbei auch das Menürahmenproblem. Da es sich nicht in den Ubuntu Paketquellen befindet, hilft ein PPA. Im Terminal muss folgendes eingegeben werden:

sudo add-apt-repository ppa:danjaredg/jayatana
sudo apt-get update
sudo apt-get install jayatana

Man muss sich Ab- und wieder Anmelden! Wenn du alle weiteren Schritte auch noch durchführen willst, brauchst du dich nur am Ende Ab- und wieder anzumelden.

Bessere Schriftdarstellung

Zuerst das Paket „Infinality“ aus einem PPA installieren:

sudo add-apt-repository ppa:no1wantdthisname/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fontconfig-infinality

Dann den Patch für „OpenJDK“ einspielen und Java erneut installieren:

sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
sudo apt-get update

Abschließend muss man entweder OpenJDK7 oder 8 installieren (auch wenn es bereits installiert ist), je nachdem welches verfügbar ist oder man benutzen möchte.

OpenJDK7 (z.B. Ubuntu 14.04 LTS):

sudo apt-get install openjdk-7-jdk

OpenJDK8 (z.B. Ubuntu 15.04 oder höher):

sudo apt-get install openjdk-8-jdk

Spätestens jetzt muss man sich Ab- und wieder Anmelden!

Als Beispiel sieht man hier die Java-IDE „Netbeans“ nach Anwendung dieses How-Tos:

Netbeans Screenshot GTK Look and Feel after applying this how-to

Änderungen zurücknehmen

Um die oben gemachte Änderungen zurückzunehmen und den Originalzustand wieder herzustellen, gib folgendes ins Terminal ein:

sudo apt-get --purge remove jayatana libjayatana libjayatanaag libjayatana-java libjayatanaag-java
sudo apt-get purge fontconfig-infinality
sudo apt-get install ppa-purge
sudo ppa-purge ppa:no1wantdthisname/ppa
sudo ppa-purge ppa:no1wantdthisname/openjdk-fontfix

Abschließend Java (OpenJDK7 oder OpenJDK8) erneut installieren.

sudo apt-get remove openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless
sudo apt-get install openjdk-7-jre-headless openjdk-7-jre openjdk-7-jdk

oder

sudo apt-get remove openjdk-8-jdk openjdk-8-jre openjdk-8-jre-headless
sudo apt-get install openjdk-8-jre-headless openjdk-8-jre openjdk-8-jdk

Ab- und wieder Anmelden!

Interessante Links

3 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert