OpenJDK-8 / Oracle Patches de fontes do JDK 8 para o Ubuntu

9

Existe uma versão corrigida do OpenJDK-8 ou Oracle JDK 8 para o Ubuntu 14.10, que corrige fontes feias em aplicativos Java (produtos Jetbrains, Netbeans etc.)?

Eu já havia instalado uma versão corrigida do OpenJDK7 para o Ubuntu 14.04 em este artigo , mas não parece estar disponível para 14.10. Eu também não consegui encontrar uma versão corrigida para o OpenJDK8 / OracleJDK8.

Se houver alguma versão corrigida ou patch para o OpenJDK8 / OracleJDK8 que eu possa instalar, eu realmente aprecio se alguém puder apontar.

Obrigado.

    
por Deepal 22.12.2014 / 16:34

5 respostas

9

Depois de ler vários tutoriais e mexer em várias correções, descobri uma maneira que funciona perfeitamente.

Antes de tudo, faça o download do JDK 8 da Oracle e execute o seguintes linhas no 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/

Agora baixe a correção de fonte do JDK (Cortesia de Urshulyak Yaroslav ) executando o seguinte:

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

Isto irá extrair o zip baixado e movê-lo para / usr / lib / jvm /. Agora, execute o seguinte no terminal:

cd ~
sudo gedit .bashrc

Em seguida, adicione as seguintes linhas à parte inferior do arquivo bashrc.

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

Salve e gedit o idea.sh. (A localização do seu script pode ser diferente)

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

Na parte inferior do script, substitua a (s) linha (s) na declaração While Do na parte inferior com estas duas linhas:

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

Salve-o e abra o IntelliJ, as fontes devem funcionar e você usará o Oracle JDK 8 para desenvolvimento. Você provavelmente terá que editar as Configurações do Projeto e configurar seu JDK novamente, mas certifique-se de usar o JDK real e não a correção da fonte.

Essa correção também funciona com o CLion , Android Studio e PyCharm .

Estas instruções assumem que a versão do JDK era 1.8.0_25, nomes de arquivos / caminhos serão alterados para versões futuras.

    
por dsdhaljaljsl 26.12.2014 / 17:09
2

Para tornar o DanielSteward completo:

Infelizmente tuxjdk para aparência e comportamento do GTK usa o conjunto de fontes no gtkrc usado atualmente. Mas a maioria dos temas não define nenhuma fonte lá. Como resultado, o netbeans usará o Arial 15 em negrito como fonte da interface do usuário.

Para corrigir isso, crie o gtkrc apenas para o netbeans com fonte fixa e diga ao netbeans para usar este arquivo.

Eu preparei um lançador especial que faz isso de forma semi-automática:


#!/bin/bash

### Customizable variables: ###

# Path where netbeans was installed
NETBEANS_PATH=${NETBEANS_PATH:-~/opt/netbeans-dev-2015-06-04}/bin/netbeans
# Desktop environment name to use style from
USED_DE=${USED_DE:-mate}
# Tuxjdk seems to render too big UI fonts so use this value to decrease them
FONT_SUBTRAHENT=${FONT_SUBTRAHENT:-3}

###############################

function remQuotes(){
  echo "${@//\'/}"
}

function decreaseFontSize(){
  local subtrahend=; shift
  local args="$@"
  echo ${args//[0-9]/} $((${args//[!0-9]/} - $subtrahend))
}

theme=$(remQuotes 'gsettings get org.${USED_DE}.interface gtk-theme')
font=$(remQuotes 'gsettings get org.${USED_DE}.interface font-name')
font=$(decreaseFontSize $FONT_SUBTRAHENT $font)

themeDirs=$(find ~/.themes/ /usr/share/themes/ -type d -name "${theme}")
gtkRcPath=""
for dir in "$themeDirs"; do
  if [[ -f "$dir/gtk-2.0/gtkrc" ]]; then
    gtkRcPath="$dir/gtk-2.0/gtkrc"
    break;
  fi
done

if [[ "$gtkRcPath" == "" ]]; then
  echo "Theme not found" >/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 $@

Isso lerá as configurações do seu tema e criará um tema falso apenas para o netbeans. Você precisa ajustar as variáveis NETBEANS_PATH e USED_DE ao seu ambiente.

    
por p2rkw 10.06.2015 / 11:30
0

Eu construí o Openjdk 8u40 por conta própria e apliquei os patches do tuxjdk. Além disso, tive que criar um arquivo chamado local.conf in /etc/fonts/ para substituir o fontmap do java por suas fontes lógicas como Dialog , Monospaced , etc. Depois disso, os aplicativos baseados no Swing melhoraram muito. Dê uma olhada AQUI .

    
por vbsessa 19.04.2015 / 15:28
0

No momento, existem apenas pacotes rpm para o tuxjdk: link

Eu preciso de mais tempo para aprender sobre o empacotamento debian e preparar os pacotes apropriados, além de documentar algumas características interessantes da versão 03 do tuxjdk. Então, fique atento e, por favor, relate quaisquer problemas que você esteja enfrentando com o tuxjdk para o link , para que eu possa reproduzir e (esperamos que conserta-os.

    
por TheIndifferent 17.06.2015 / 14:14
0

Na verdade, você não precisa se preocupar em modificar idea.sh , que é volátil sob atualizações. Existe um arquivo de configuração específico do usuário, ~/.IntelliJIdea2016.1/config/idea.jdk (os nomes mudam de acordo), que armazena o JDK de inicialização.

Referências oficiais:

por Colliot 14.07.2016 / 06:33