J'ai un fichier .desktop pour un script bash, mais lorsque je lance le fichier .desktop, rien ne se passe si ce n'est qu'une fenêtre de terminal s'affiche pendant une demi-seconde.
Si j'exécute le script bash directement (sans le fichier .desktop), le script fonctionne correctement (le fichier bash s'appelle 'minecraft'):
#!/bin/bash
Java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame
Le fichier est exécutable.
Ceci est mon fichier minecraft.desktop:
[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Minecraft
Icon=/home/bram/Applications/Minecraft/icon.png
Exec=/home/bram/Applications/Minecraft/minecraft
Terminal=true
Categories=Minecraft;game
minecraft.desktop est situé dans ~/.local/share/applications
Apparemment, le script n'a pas pu trouver le fichier .jar. Lorsque j'exécute le fichier bash à l'aide du fichier .desktop, je suppose qu'il exécute le fichier bash situé dans le répertoire du fichier .desktop (~/.local/share/applications).
Lorsque je donne le nom de chemin complet au bocal, cela fonctionne bien:
#!/bin/bash
Java -Xmx1024M -Xms512M -cp /home/bram/Applications/Minecraft/minecraft.jar net.minecraft.LauncherFrame
Vous avez deux options:
1.) Définissez le répertoire de travail dans le fichier .desktop à l’emplacement du fichier .jar.
2.) Utilisez des chemins complets dans votre script Bash (comme vous l'avez fait)
Vous pouvez l'exécuter en tâche de fond:
#!/bin/bash
Nohup Java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame
(Notez le Nohup
au début utilisé pour continuer à fonctionner)