A falha está no shell script omegat que tenta descobrir a versão do java. O script deve iniciar o programa apenas se encontrar uma implementação openjdk ou sun java na máquina. Para isso, ele tenta ver o caminho onde o java está instalado usando a linha abaixo:
JAVA=$(which java | xargs readlink -f)
Em seguida, verifica se o "caminho" contém o nome openjdk ou sun nele por
echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'
Agora, aqui está o problema. Nem sempre você pode instalar o java em um local que tenha o nome "sun", pois, no meu caso, ele estava em /usr/local/java/jdk1.7.0_07/bin/java
.
Portanto, a solução está em simplesmente corrigir esse script, já que você já tem a versão java adequada instalada.
Aqui está meu arquivo / usr / bin / omegat.
#!/bin/sh
JAVA_OPTIONS='-Djava.library.path=/usr/lib/jni'
JAVA=$(which java | xargs readlink -f)
echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'
#CHANGE 1, just use your java here.
JAVABIN=$JAVA
if [ $? -eq 0 ]
then
JAVABIN=$JAVA
elif [ -x /usr/lib/jvm/java-6-openjdk/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-6-openjdk/bin/java"
elif [ -x /usr/lib/jvm/java-6-sun/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-6-sun/bin/java"
elif [ -x /usr/lib/jvm/java-1.5.0-sun/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-1.5.0-sun/bin/java"
else
echo "Suitable java binary not found."
#CHANGE 1, comment out the exit line below.
# exit 1
fi
exec $JAVABIN $JAVA_OPTIONS -jar /usr/share/omegat/OmegaT.jar $*
Observe as duas linhas "#CHANGE" no script. Ah sim, você precisa editar o arquivo como root.