Question Utilisation d'un script pour un fichier .desktop


J'ai quelques fichiers .desktop qui génèrent des terminaux au démarrage mais je veux ajouter un script à l'un de ces fichiers .desktop

Contexte

11:39:22 - ~ - martin$ cd ~/.config/autostart/
11:39:33 - ~/.config/autostart - martin$ ls -l terminal_left_big.desktop left_terminal.sh 
-rwxrwxr-x 1 martin martin 196 юли 22 11:04 left_terminal.sh
-rwxrwxr-x 1 martin martin 294 юли 22 11:28 terminal_left_big.desktop

Fichier .desktop

11:39:52 - ~/.config/autostart - martin$ cat terminal_left_big.desktop left_terminal.sh 
    [Desktop Entry]
    Type=Application
    Name=left_big
    Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh -c "toilet concerts; cat /home/martin/scrape_file/tmp.json | jq -c '.[] | select( .event_country | contains("Bulgaria"))' | jq; toilet weather;curl http://wttr.in/Sofia";
    Terminal=true

fichier .sh

#!/bin/bash

toilet concerts
path=/home/martin/scrape_file/tmp.json 

cat $path | jq -c '.[] | select( .event_country | contains("Bulgaria"))' | jq

toilet weather

curl http://wttr.in/Sofia
exit

Donc, maintenant, mon fichier .desktop fonctionne presque mais je remplace le -x sh -c "commans" avec -x sh script.sh ou -x sh ./script.sh:

11:39:52 - ~/.config/autostart - martin$ cat terminal_left_big.desktop left_terminal.sh 
    [Desktop Entry]
    Type=Application
    Name=left_big
    Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh ;
    Terminal=true

Je reçois cette erreur:

sh: 0: Can't open left_terminal.sh

Question

J'ai un privilège + x pour les deux fichiers pour tous les utilisateurs. Je n'y pense pas sont des erreurs dans ces scripts, quel est le problème?

MODIFIER:

Quand j'ajoute le chemin absolu au script shell:

sh: 0: Can't open /home/martin/.config/autostart/left_terminal.sh;

Répondre

Le point-virgule doit être supprimé Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh; -> Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh


1
2017-07-22 09:03


origine


Utilisez le chemin d'accès complet au fichier de script. - muru
@muru J'ai ajouté une édition, mais le problème est le même - murloc
Veuillez supprimer le point-virgule à la fin. Un fichier de bureau n'est pas un script shell et ne prend pas en charge la syntaxe shell. - muru
S'il vous plaît ne pas ajouter la réponse à votre question, mais plutôt ajouter une vraie réponse. De cette façon, les gens voient que vous avez déjà votre réponse - derHugo
Je m'attendais à ce que quelqu'un le fasse à ma place - murloc


Réponses:


Le point-virgule doit être supprimé

Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh;

devrait plutôt être:

Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh

1
2017-07-25 10:17