web-dev-qa-db-fra.com

Correctifs de polices OpenJDK-8 / Oracle JDK 8 pour Ubuntu

Existe-t-il une version corrigée d'OpenJDK-8 ou d'Oracle JDK 8 pour Ubuntu 14.10 qui corrige les polices laides dans Java Applications (produits Jetbrains, Netbeans, etc.)?

J'avais précédemment installé une version corrigée d'OpenJDK7 pour Ubuntu 14.04 dans l'article this , mais il ne semble pas être disponible pour 14.10. Je n'ai pas non plus trouvé de version corrigée pour OpenJDK8/OracleJDK8.

S'il y a une version corrigée ou un correctif pour OpenJDK8/OracleJDK8 que je pourrais installer, j'apprécierais vraiment que quelqu'un puisse le signaler.

Je vous remercie.

8
Deepal

Après avoir lu divers didacticiels et avoir bricolé avec plusieurs correctifs, j'ai trouvé un moyen de fonctionner parfaitement.

Tout d’abord, téléchargez JDK 8 d’Oracle et exécutez les lignes suivantes dans le terminal:

cd Downloads
tar -xvf jdk-8u25-linux-x64.tar.gz
rm jdk-8u25-linux-x64.tar.gz
Sudo mkdir -p /usr/lib/jvm/
Sudo mv jdk1.8.0_25 /usr/lib/jvm/

Téléchargez maintenant le correctif de police JDK (avec l'aimable autorisation de rshulyak Yaroslav ) en exécutant les opérations suivantes:

cd ~/Downloads
wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
tar -xvf jdk-8u5-tuxjdk-b08.tar.gz
Sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
rm jdk-8u5-tuxjdk-b08.tar.gz

Cela va extraire le fichier Zip téléchargé et le déplacer vers/usr/lib/jvm /. Maintenant, lancez ce qui suit dans le terminal:

cd ~
Sudo gedit .bashrc

Ajoutez ensuite les lignes suivantes tout en bas du fichier bashrc.

Java_HOME=/usr/lib/jvm/jdk1.8.0_25/
export Java_HOME

Sauvegardez-le puis gedit the idea.sh. (Votre emplacement de script peut être différent)

gedit /home/USER/Downloads/idea/bin/idea.sh

Tout en bas du script, remplacez les lignes de l'instruction While Do en bas par ces deux lignes:

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/Java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"
test $? -ne 88 && break

Enregistrez-le puis ouvrez IntelliJ, les polices devraient fonctionner et vous utiliserez Oracle JDK 8 pour le développement. Vous devrez probablement modifier les paramètres du projet et reconfigurer votre kit JDK, mais veillez à utiliser le kit JDK actuel et non le correctif de polices utilisé.

Ce correctif fonctionne également avec CLion , Android Studio et PyCharm .

Ces instructions supposent que la version du JDK était la 1.8.0_25, les noms de fichier/chemin changeront pour les versions futures.

9
user282577

Pour compléter la réponse de DanielSteward:

Malheureusement, tuxjdk pour l’apparence GTK utilise la police définie dans gtkrc actuellement utilisé. Mais la plupart des thèmes ne définissent aucune police. En conséquence, netbeans utilisera Arial 15 en gras comme police d’interface utilisateur.

Pour résoudre ce problème, créez gtkrc uniquement pour netbeans avec une police fixe et indiquez à netbeans d'utiliser ce fichier.

J'ai préparé un lanceur spécial qui le fait de manière semi-automatique:

 
 #!/bin/bash 
 
 ### Variables personnalisables: ### 
 
 # Chemin où se trouvait netbeans installé 
 NETBEANS_PATH = $ {NETBEANS_PATH: - ~/opt/netbeans-dev-2015-06-04}/bin/netbeans 
 # Nom de l’environnement de bureau pour utiliser le style à partir de 
 USED_DE = $ {USED_DE: -mate} 
 # Tuxjdk semble rendre les polices d'interface utilisateur trop volumineuses, utilisez donc cette valeur pour les réduire 
 FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3} 
 
 ################################ 
 
 function remQuotes () {
 echo "$ {@ //\'/}" 
} 
 
 function diminutionFontSize () {
 local subtrahend = $ 1; décalage 
 local args = "$ @" 
 echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - $ subtrahend )) 
} 
 
 theme = $ (remQuotes `gsettings devient org. $ {USED_DE} .interface gtk-theme`) 
 font = $ (remQuotes` gsettings get org. $ {USED_DE} .interface nom de la police`) 
 font = $ (diminutionFontSize $ FONT_SUBTRAHENT $ font) 
 
 themeDirs = $ (find ~/.themes// usr/share/themes/-type d -name "$ {theme}") 
 gtkRcPath = "" 
 pour dir dans "$ themeDirs"; do 
 if [[-f "$ dir/gtk-2.0/gtkrc"]]; then 
 gtkRcPath = "$ dir/gtk-2.0/gtkrc" 
 pause; 
 fi 
 terminé 
 
 si [[ "$ gtkRcPath" == ""]]; then 
 echo "Thème introuvable">/dev/stderr 
 ./$NETBEANS_PATH $ @ 
 fi 
 
 cat $ HOME/.netbeans /.gtkrc-2.0
include "$ gtkRcPath" 
 
 style "user-font" {
 font_name = "$ font" 
} 
 
 widget_class "*" style "user-font" 
 
 gtk-font-name = "$ font" 
 
 EOF 
 
 GTK2_RC_FILES = ~/.netbeans/.gtkrc-2.0 $ NETBEANS_PATH $ @ 

Cela lira les paramètres de votre thème et créera un faux thème uniquement pour Netbeans. Vous devez adapter les variables NETBEANS_PATH et USED_DE à votre environnement.

1
p2rkw

Pour le moment, il n’existe que des paquets rpm pour tuxjdk: http://download.opensuse.org/repositories/home:/TheIndifferent:/tuxjdk/

Il me faut un peu plus de temps pour en savoir plus sur l’emballage debian et pour préparer les paquets appropriés, ainsi que pour documenter quelques fonctionnalités intéressantes de la version 03 de tuxjdk. Restez à l'écoute et signalez tous les problèmes que vous rencontrez avec tuxjdk à https://github.com/TheIndifferent/tuxjdk , je serai donc en mesure de les reproduire et (éventuellement) de les réparer.

0
TheIndifferent

J'ai construit Openjdk 8u40 moi-même et appliqué les correctifs tuxjdk. De plus, je devais créer un fichier appelé local.conf dans /etc/fonts/ pour remplacer la fontmap de Java pour ses polices logiques telles que Dialog, Monospaced, etc. Après cela, les applications basées sur Swing se sont beaucoup améliorées. Jetez un oeil ICI .

0
vbsessa

En fait, vous n'avez pas besoin de vous soucier de modifier idea.sh, qui est volatile sous les mises à jour. Il existe un fichier de configuration spécifique à l'utilisateur, ~/.IntelliJIdea2016.1/config/idea.jdk (les noms changent en conséquence), qui stocke le JDK de démarrage.

Références officielles:

0
Colliot