J'essaie d'exécuter un script shell avec un fichier .desktop
, mais il semble que cela ne fonctionne pas et génère une erreur de There was an error launching the application
à chaque tentative. J'ai les fichiers sh et .desktop définir l'exécutable.
.fichier du bureau:
[Desktop Entry]
Name=Craftbukkit Server
Comment=run server
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Terminal=true
Type=Application
Le script:
#!/bin/bash
/usr/bin/Java -Xmx1024M -Xms1024M -jar /home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.jar -o false
Tous les chemins sont corrects.
Méthodes que j'ai essayées:
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh'
Exec=/home/ubuntu-gnome/Documents/Craftbukkit/run
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec=gnome-terminal -e "/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec=bash -c 'cd /home/ubuntu-gnome/Documents/Craftbukkit/ && ./run.sh'
De manière remarquable, j'ai essayé plusieurs méthodes. Quelqu'un peut-il m'aider avec une résolution à cela?
Merci à tous pour l'aide. J'ai réalisé que mon fichier .desktop
avait un problème. J'ai remarqué que les propriétés du fichier .desktop étaient différentes de celles des autres fichiers .desktop de /usr/share/applications
, en ce sens qu'il n'y avait aucune zone de texte Description, Commande ou Commentaire dans le mien.
J'ai sauvegardé le fichier .desktop de Color Picker sur le bureau et j'ai substitué mes informations, ce qui a permis son fonctionnement.
C’est ce que sont les propriétés -> de base du fichier .desktop.
Le script
[Desktop Entry]
Name=Minecraft-Server Comment=Run the Minecraft
Craftbukkit Server
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh'
Terminal=true
Type=Application
Categories=Minecraft;Server;CraftBukkit;
Peu de problèmes potentiels:
Votre script a besoin d'un Shebang sur sa première ligne ... il devrait ressembler à ceci:
#!/bin/bash
/usr/bin/Java ...
Votre script doit être marqué comme exécutable:
chmod +x /path/to/script.sh
Votre fichier .desktop
doit également être exécutable ( éléments de politique de sécurité apparemment ):
chmod +x /path/to/desktop-file.desktop
Voici ce que je voudrais utiliser pour créer le fichier ".desktop":
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Name=MY APPLICATION NAME
Comment=THINGS I HAVE TO SAY ABOUT THE APPLICATION
Exec=sh -c "cd /PATH_TO_SH_FILE_FOLDER; FILENAME.sh"
Categories=ENGINERRING;GRAPHICS;ETC
Icon=/PATH_TO_ICON_IMAGE_FILE
Pour ce qui précède, modifiez les parties du code contenant uniquement des majuscules pour qu'elles correspondent à votre contexte (qui ne doit pas nécessairement être composé uniquement de majuscules). Vous pouvez ajouter Terminal = true
si vous voulez voir la fenêtre du terminal.
Modifié à partir d'une réponse que j'ai donnée à une question connexe ici: Le lien vers .exe ne lance pas Wine
Essayez de toujours utiliser des chemins absolus dans ces scripts. Découvrez quel chemin a l'exécutable Java avec:
which Java
Puis utilisez cela comme chemin dans votre script:
/path/to/Java -Xmx1024M -Xms1024M -jar /path/to/craftbukkit.jar -o false
Notez que vous devez également donner le chemin complet à craftbukkit.jar
.