it-swarm.com.de

Desktop-Starter für XMind kann nicht erstellt werden

Ich habe XMind heruntergeladen und installiert, es war ein .Zip -Ordner im Gegensatz zur .deb -Datei, was bedeutet, dass ich es mit einem Bash-Skript installieren musste.

Ich habe die extrahierten Dateien in einen temporären Ordner namens .installed in meinem Ausgangsordner gelegt.

Ich versuche, ein Desktop-Startprogramm für die ausführbare Datei zu erstellen, die mit der Installation unter /home/user01/.installed/xmind-8-linux/XMind_AMD64/XMind geliefert wurde.

Ich habe eine .desktop -Datei wie folgt erstellt:

[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

Und ich habe es in /usr/share/applications/ gelegt.

Das Problem ist, dass bei jedem Versuch, die Anwendung auszuführen, die folgende Fehlermeldung angezeigt wird:

enter image description here

Wenn Sie direkt auf die ausführbare Datei klicken, wird die Anwendung normal gestartet, und der Fehler ist unabhängig davon, wem die Datei gehört (Root oder Benutzer), sodass ich nicht verstehe, was ich falsch mache. Jeder Rat wäre toll.

Das Fehlerprotokoll sagt außerdem Folgendes aus:

!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)

Aktualisieren:
Das Ausführen von ./XMind vom Terminal aus funktioniert wie erwartet.
Das Ausführen des gesamten Pfads /home/user01/.installed/xmind-8-linux/XMind_AMD64/XMind verursacht einen Fehler.
Wenn der Fehler auftritt, erstellt die Anwendung einen Ordner configuration im Verzeichnis ~/, der sich normalerweise im selben Ordner wie die ausführbare Datei befindet. Ich verstehe immer noch nicht, was hier passiert.

Lösung:

(Danke an Katu) So habe ich das Problem gelöst:

Erstellen Sie ein Bash-Skript an derselben Stelle wie die ausführbare Datei mit dem Namen xmind.sh.

Geben Sie in die Datei ein:

#!/bin/bash

(cd /home/user01/.installed/xmind-8-linux/XMind_AMD64/ && ./XMind)

Erstellen Sie einen Desktop-Launcher mit dem neuen Skript anstelle der ausführbaren Datei.

[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
2
Rtsne42

Es scheint, dass Xmind versucht, einen Ordner an der Stelle zu erstellen, an der er ausgeführt wird. Sie müssen der .desktop-Datei mitteilen, dass sie an diesen Speicherort verschoben werden soll, bevor sie ausgeführt wird. Von diesem Beitrag , versuchen Sie etwas wie folgt:

Exec=bash -c "export PATH=$PATH:`dirname %k`; your_command"
0
Katu

Wenn Sie es als ./Xmind ausführen, ist Ihr aktuelles Verzeichnis dasselbe Verzeichnis wie das der ausführbaren Datei Xmind. Um diesen Effekt in einer .desktop -Datei zu duplizieren, fügen Sie eine Path= -Zeile hinzu, um das Arbeitsverzeichnis festzulegen:

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

Weitere Informationen finden Sie unter die .desktop -Dateispezifikation zu den Funktionen des Path -Eintrags .


Ich würde auch empfehlen, die .desktop -Datei von /usr/share/applications nach /home/user01/.local/share/applications/ zu verschieben, da die Anwendung wahrscheinlich nur für Sie und nicht für alle Benutzer bestimmt ist auf dem System.

4
Chai T. Rex

Vielen Dank für alle Informationen.

Ich hatte das gleiche Problem, fand jedoch eine Möglichkeit, die Verwendung von Arronax zu vereinfachen. Es wird in diesem Diskussion beschrieben.

Arronax erledigt die Aufgabe, da festgelegt werden kann, in welchem ​​Ordner die App (XMind) gestartet werden soll.

Hoffe das hilft,
Phil

0
Philippe Roth