Lanceur avec commande sur plusieurs lignes
lenainjaune
Messages postés
715
Date d'inscription
Statut
Contributeur
Dernière intervention
-
lenainjaune Messages postés 715 Date d'inscription Statut Contributeur Dernière intervention -
lenainjaune Messages postés 715 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Lanceur avec commande sur plusieurs lignes
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
4 réponses
Bonsoir,
On peut le lancer automatiquement dans le fichier .profile qui se trouve dans votre home directory
On peut le lancer automatiquement dans le fichier .profile qui se trouve dans votre home directory
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
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
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 ?
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 ?
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)
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)
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 :(
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 :(
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.