Eu baixei e instalei o XMind
, ele veio como uma pasta .zip
ao contrário do arquivo .deb
, o que significa que eu tive que instalá-lo usando um script bash.
Eu coloquei os arquivos extraídos em uma pasta temporária chamada .installed
na minha pasta pessoal.
Estou tentando criar um ativador de área de trabalho para o executável que veio com a instalação em /home/user01/.installed/xmind-8-linux/XMind_amd64/XMind
.
Eu criei um arquivo .desktop
como este:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/home/user01/.installed/xmind-8-linux/XMind_amd64/XMind
Name=XMind
Comment=Mind mapping software
Icon=/home/user01/Pictures/Icons/new_branding_new_logo.png
E eu coloquei em /usr/share/applications/
.
O problema é que sempre que tento executar o aplicativo, recebo este erro:
Clicar no executável ativa diretamente o aplicativo normalmente e o erro é o mesmo, independentemente de quem possui o arquivo (raiz ou usuário), então não entendo o que estou fazendo de errado. Qualquer conselho seria ótimo.
Além disso, o log de erros diz isso:
!SESSION 2016-11-16 14:14:38.215 -----------------------------------------------
eclipse.buildId=R3.7.0.201611010032
java.version=1.8.0_111
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Command-line arguments: -os linux -ws gtk -arch x86_64 -data ../workspace
!ENTRY org.eclipse.osgi 4 0 2016-11-16 14:14:38.410
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:78)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
Atualização:
Executar ./XMind
do terminal funciona conforme o esperado.
Executando todo o caminho /home/user01/.installed/xmind-8-linux/XMind_amd64/XMind
cria um erro.
Quando o erro acontece, o aplicativo cria uma pasta configuration
no diretório ~/
, que normalmente está localizado na mesma pasta do executável. Eu ainda não entendi o que está acontecendo aqui.
Solução:
(Graças a Katu) Foi assim que consegui resolver o problema:
Crie um script bash no mesmo local que o executável chamado xmind.sh
Digite dentro do arquivo:
#!/bin/bash
(cd /home/user01/.installed/xmind-8-linux/XMind_amd64/ && ./XMind)
Crie um lançador .desktop com o novo script em vez do executável.
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/home/user01/.installed/xmind-8-linux/XMind_amd64/xmind.sh
Name=XMind
Comment=Mind mapping software
Icon=/home/user01/Pictures/Icons/new_branding_new_logo.png