web-dev-qa-db-fra.com

Comment créer un programme de lancement d'application pour un fichier .sh?

J'ai ce fichier run.sh et j'ai créé un lien symbolique sur mon bureau.

Quand je double-clique dessus le fichier la boîte de dialogue suivante apparaît

Et je dois cliquer sur "exécuter" à chaque fois. Comment créer un lien qui fonctionne par défaut?

20
OscarRyz

Au lieu de créer un lien direct avec le fichier .sh, créez un programme de lancement d’application comme suit:

  • Clic droit sur votre bureau
  • Choisissez "Créer un lanceur ..."
  • Remplacez "Application" par "Application in Terminal" dans la liste déroulante.
  • Donnez-lui un nom comme "idée"
  • Entrez la commande comme ceci /path/to/script/idea.sh
  • Ajoutez un commentaire si vous le souhaitez. Il apparaîtra lorsque vous la survolerez avec la souris si vous déplacez le programme de lancement dans une barre de menus.

Ensuite, lorsque vous cliquez sur le lanceur, une fenêtre de terminal s’ouvre et la commande s’exécute.

Si vous ne voulez pas ouvrir un terminal pour voir une sortie, utilisez simplement "Application" au lieu de "Application dans un terminal".

Vous devrez peut-être modifier le fichier du bureau avec quelque chose comme Gedit pour ajouter le "chemin" du script. Comme ça:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/kurt/Games/dontstarve/dontstarve.xpm
Exec=/usr/games/dontstarve/bin/dontstarve.sh
Path=/usr/games/dontstarve/bin
Name[en_US]=Dont Starve
Name=Dont Starve
Icon=gnome-panel-launcher
19
Richard Holloway

Pourquoi ne pas simplement configurer Nautilus pour s’exécuter par défaut?

Sous Nautilus, allez dans Édition-> Préférences-> Comportement et cliquez sur:

"Exécuter des fichiers texte exécutables quand ils sont ouverts"

9
Evan Plaice

La solution de Richard ne fonctionne pas pour Unity Desktop, que les versions récentes d'Ubuntu utilisent par défaut. Pour créer facilement des raccourcis dans l’unité, vous pouvez utiliser le "Menu principal", également appelé application alacarte, qui vous permet d’éditer des programmes. Cliquez simplement sur la catégorie appropriée, puis sur "Créer un élément".

2
Kristofer

Je voulais faciliter le lancement de "Dont Starve" pour mes enfants. J'ai démarré le programme avec /usr/games/dontstarve/bin/dontstarve.sh dans un terminal, mais je le voulais dans le menu des applications.

J'ai ajouté un élément de menu avec Alacarte mais cela ne fonctionnerait pas car c'était un fichier .sh.

Après de nombreuses recherches, j'ai pensé que je devais spécifier le chemin du script.

Ajouter un chemin comme expliqué dans Variables du burea

J'ai localisé le lanceur alacarte-made-51cc077a-58af-11e3-a764-00252267190b.desktop dans ~/.local/share/applications/ et l'ai modifié en ajoutant la ligne de chemin d'accès.

Maintenant, le fichier Launcher ressemble à ceci:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/kurt/Games/dontstarve/dontstarve.xpm
Exec=/usr/games/dontstarve/bin/dontstarve.sh
Path=/usr/games/dontstarve/bin
Name[en_US]=Dont Starve
Name=Dont Starve
Icon=gnome-panel-launcher

Fonctionne comme un champion. J'espère que ça aidera quelqu'un d'autre. (Je lance en fait Mint 15 Olivia basé sur Ubuntu Raring)

1
firemankurt