Lanceur avec commande sur plusieurs lignes

Fermé
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 29 janv. 2021 à 18:51
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 30 janv. 2021 à 13:18
Coucou tous et bonne année (on peut encore) et plus de liberté ;)

Je ne trouve pas de réponse à cette question :
Comment créer un lanceur (*.desktop) autonome (sans script externe) avec une commande (Exec=) sur plusieurs lignes ?

Ceci afin de ne pas être obligé de faire une multi-commande à base de "&&" et de ";" qui n'est pas très lisible au final si la commande est longue.

J'ai bien sûr essayé le "\" terminal du bash, mais ça ne fonctionne pas.

Les tests ont été réalisés sous Debian et Debian like.

Voilou, j'attends avec impatience vos avis éclairés.
lnj
A voir également:

4 réponses

Bonsoir,
On peut le lancer automatiquement dans le fichier .profile qui se trouve dans votre home directory
0
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 47
Modifié le 29 janv. 2021 à 19:34
Bonsoir ! Merci pour la réponse rapide, mais désolé je ne vois pas le rapport !
Ce que je veux ce sont des lanceurs autonomes que l'utilisateur exécute en double cliquant dessus quand il en a besoin depuis le bureau par exemple. Je ne cherche pas à créer des scripts d'ouverture de session.
0
Bonsoir,
Clic droit (avec le gestionnaire de fichier de Gnome, Nautilus):
https://debian-facile.org/doc:environnements:gnome:nautilus regarde à Les Nautilus Scripts

Application graphique
Tu peux utiliser un fichier .desktop pour avoir ton script dans la liste des applications. Il faut mettre ce fichier dans ~/.local/share/applications/. Voici de la documentation https://developer.gnome.org/integration-guide/stable/desktop-files.html.fr (une partie n'est pas traduite :/ ).

Pour avoir une interface graphique rapide utilise yad https://doc.ubuntu-fr.org/yad_yet_another_dialog
Crée le dossier $HOME/bin s'il n'existe pas:

mkdir -p $HOME/bin
Enregistre ton script dans ce dossier (pas obligatoire, mais c'est plus propre).

Exemple de script:

#! /bin/bash

cat /etc/issue # mets les commandes que tu veux exécuter à la place de cette ligne

read -n 1
Note le read -n 1 qui va faire en sorte d'attendre un appui sur une touche du clavier pour quitter.

Ensuite tu peux lancer alacarte si tu es sous GNOME (ou l'installer avec sudo apt-get install alacarte ou équivalent). C'est un éditeur de fichier .desktop, un peu l'équivalent des raccourcis Windows. Tu as cette réponse askubuntu qui décrit alacarte: https://askubuntu.com/questions/308184/icon-assigned-in-desktop-file-is-not-used-when-application-is-loaded-and-launch/338980#338980
Je ne peux pas charger une image
Ensuite tu cliques dans la zone 1 sur une catégorie, ou bien à la racine "Application" (perso je mets tout à la racine, j'en ai pas 50).
Tu cliques sur le bouton 2 pour créer une nouvelle entrée.
Dans la boite de dialogue qui s'affiche, tu remplis la zone 3. Le champ type a disparu depuis, coche à la place la case "lancer dans un terminal", et pour la commande, clique sur le bouton "Browse" et va chercher ton script où tu l'as mis (dans $HOME/bin/ normalement). Donne lui un nom aussi pour le retrouver plus facilement.
Tu peux personnaliser l'icône
Clique sur OK.
Referme alacarte
Ensuite pour l'intégration à ton environnement de bureau, ça dépend. Sous GNOME, je vais juste faire une recherche dans les applications avec le nom que j'ai donné au script dans alacarte, et une fois trouvé, je fais un clic droit dessus → ajouter aux favoris. Ainsi il apparait dans ma barre de lancement. Vu que ce n'est pas une application graphique qu'on lance mais juste un script, le read dans le script permet de voir le terminal se lancer et le bloquer en attente d'un appui touche, pour que le terminal reste affiché au lieu de disparaître instantanément.



Ne pas oublier de rendre ton script exécutable:

chmod a+x ~/bin/nomdetonscript.sh
0
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 47
29 janv. 2021 à 20:43
Merci pour tous ces liens et explications que je connais en partie (surtout alacarte que j'utilise beaucoup) MAIS tout ça ne répond pas à ma question...

Désolé mais je ne cherche pas une solution alternative.

Par exemple : les fichiers *.service de systemd permettent les commandes multi-lignes (voir https://github.com/coreos/fleet/issues/1161#issuecomment-177338667), bash le permet aussi ... alors les *.desktop ?
0
Pat > lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024
29 janv. 2021 à 23:41
Désolé la je suis sec je vais y réfléchir
0
Bonjour,

Bigre je suis sec mais
http://doc.ubuntu-fr.org/raccourci-lanceur
Je n'utilise pas le bureaux sous linux unix ( a prendre avec des pincettes)
0
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 47
30 janv. 2021 à 11:17
Bonjour et merci

J'ai relu la doc des lanceurs que tu m'as suggéré et en particulier https://developer.gnome.org/desktop-entry-spec/#exec-variables et ils ne mentionnent nul part la possibilité d'écrire une "entry" sur plusieurs lignes. Dommage ...

Donc jusqu'à preuve du contraire, ce n'est pas possible :(
0
Donnez moi une copie d'écran je ne garantie pas la réponse
0
lenainjaune Messages postés 616 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 25 avril 2024 47
30 janv. 2021 à 13:18
Je ne comprends pas ! Tu veux le lanceur que j'essayais d'élaborer en multi-lignes ?
0