Não é possível criar o launcher .desktop para o XMind

2

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
    
por Rtsne42 16.11.2016 / 13:32

3 respostas

0

Parece que o Xmind tentará criar uma pasta no local de onde é executada. Você terá que dizer ao arquivo .desktop para ir para aquele local antes de executá-lo. Deste post , tente algo assim:

Exec=bash -c "export PATH=$PATH:'dirname %k'; your_command"
    
por Katu 16.11.2016 / 23:40
3

Quando você o executa como ./Xmind , seu diretório atual é o mesmo diretório que o executável Xmind . Para duplicar esse efeito em um arquivo .desktop , adicione uma linha Path= para definir o diretório de trabalho:

Path=/home/user01/.installed/xmind-8-linux/XMind_amd64/

Para obter mais informações, consulte a a especificação do arquivo .desktop sobre o que a entrada Path faz .

Também recomendo mover o arquivo .desktop de /usr/share/applications para /home/user01/.local/share/applications/ , pois, se você armazenar o aplicativo em seu diretório inicial, provavelmente será um aplicativo apenas para você, em vez de todos os usuários no sistema .

    
por Chai T. Rex 16.11.2016 / 23:50
0

Obrigado por todas as informações.

Eu tive o mesmo problema, mas achei uma maneira de simplificar o uso do Arronax. É descrito nesta discussão .

O Arronax faz o trabalho, pois é possível especificar em qual pasta o aplicativo (XMind) deve ser iniciado.

Espero que isso ajude,
Phil

    
por Philippe Roth 10.08.2018 / 18:25