Der Desktop Launcher startet das Skript nicht

Sep 27 2020

Ich las über Desktop Werfer machen hier .

Ich habe bereits einige Starter für meine kleinen Python-Programme erfolgreich erstellt.

Ich habe ein Programm namens Formreturn zum Erstellen und Markieren von Multiple-Choice-Formularen. Es ist großartig und heutzutage frei von Github. (Ich habe damals 600 Dollar dafür bezahlt, aber es hat sich für mich gelohnt.)

Aus irgendeinem Grund wird das Desktop-Symbol nach der Installation der neuesten Version nicht installiert. Ich muss es von bash aus starten:

pedro@pedro-512ssd:~/Formreturn$ ./formreturn.sh

Das Programm startet OK.

Ich habe mit Roland Quast, dem Autor, darüber gesprochen, aber er hatte keine gute Lösung. Er beschuldigte Änderungen in Ubuntu.

Also dachte ich, ich könnte meinen eigenen Launcher machen:

[Desktop Entry]  
Version=1.0   
Name=Formreturn   
Comment=Multi-choice marking programme   
Exec=/home/pedro/Formreturn/formreturn.sh  
Icon=/home/pedro/icons/formreturn.png   
Terminal=false   
Type=Application  
Categories=Utility;Application;

Ich habe es auch versucht mit:

Terminal=true

Aber es startet nicht !! Vielleicht, weil es ein Bash-Skript ist?

Irgendwelche Ideen was ist los ??

Wenn Sie sich das angehängte Bild ansehen, werden Sie sehen, was ich sehe, wenn ich mit der rechten Maustaste auf den Launcher FR1 klicke. Es hat eine zusätzliche Registerkarte "Öffnen mit".

Wenn ich mit der rechten Maustaste auf meine anderen hausgemachten Starter klicke, die für meine Python-Programme, sehe ich das nicht, sie haben nur zwei Registerkarten: "Basic" und "Permissions".

Vielleicht ist dies ein Sicherheitsmerkmal?

EDIT: Dies ist formreturn.sh

#!/bin/bash  

# (I commented this out with #) FRM_HOME=.    
FRM_HOME="/home/pedro/Formreturn/"
COMMAND_PATH=`echo ${0} | sed -e "s/\(.*\)\/.*$/\1/g"`
cd ${COMMAND_PATH} if [ -z $JAVA_HOME ]; then
    JAVA_COMMAND=`which java`
    if [ "$?" = "1" ]; then echo "No executable java found. Please set JAVA_HOME variable." exit fi else JAVA_COMMAND=$JAVA_HOME/bin/java
fi
if [ ! -x $JAVA_COMMAND ]; then echo "$JAVA_COMMAND is not executable. Please check the permissions."
    exit
fi
$JAVA_COMMAND -jar -Xmx1024m $FRM_HOME/lib/formreturn.jar "$1"  

Antworten

6 xiota Sep 27 2020 at 09:37
  • Das Programm, das Sie ausführen möchten, scheint dieses FormReturn zu sein . In diesem Fall müssen Sie wahrscheinlich formreturn.shso bearbeiten , dass FRM_HOMEauf die Position des Skripts verweist (wahrscheinlich /home/pedro/Formreturn- Hinweis, kein abschließender Schrägstrich).

    Standardmäßig ist festgelegt, dass .dies nicht funktioniert, wenn das Skript von einem Launcher aufgerufen wird, da es pwdmöglicherweise nicht mit dem Speicherort des Skripts übereinstimmt.

  • Versuchen Sie, die Desktop-Datei von Grund auf neu zu erstellen. Möglicherweise gibt es etwas Kleines, das in dem, das Sie haben, nicht stimmt. Wie ein nachgestellter Bereich, der nicht im Web angezeigt wird.

    Stellen Sie außerdem sicher, dass die .desktopDatei die richtige Erweiterung hat. Andernfalls wird es möglicherweise als unbekannter Dateityp oder gewöhnliche Textdatei behandelt.