#1 Le 11/04/2020, à 10:19
- ChP
Créer un lanceur pour une application se lançant dans un terminal
Bonjour à toutes et à tous,
J'ai une application (MOBAC) qui se lance par un "./start.sh" dans un terminal.
Est-il possible de créer un lanceur pour ce type d'application et si oui, comment fait-on ?
NOTA, lorsque je lance cette application via le terminal, son icône vient se placer dans la bande de dock à gauche de l'écran, mais il n'y a pas d'option pour qu'elle puisse y rester. Y a-t-il un moyen de le faire ?
Cordialement.
Pierre
Hors ligne
#2 Le 11/04/2020, à 11:37
- ar barzh paour
Re : Créer un lanceur pour une application se lançant dans un terminal
son icône vient se placer dans la bande de dock à gauche de l'écran
normalement un clic droit sur cet icône et choisir ajouter aux favoris devait fonctionner
sinon avec un fichier desktop sur le bureau
par exemple
créer un fichier mobac.desktop dans ~/Bureau et le rendre exécutif
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=./start.sh
Name=MOBAC
Icon=
dans Icon il faudrait mettre l'icône existant de MOBAC (à chercher)
tiens !! il y avait une réponse de ylag qui a disparue !!!!
Dernière modification par ar barzh paour (Le 11/04/2020, à 11:41)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#3 Le 11/04/2020, à 12:03
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonjour,
Il faut créer un fichier-lanceur dans ~/.local/share/applications que tu pourrais nommer mobac.desktop; voir cette doc à ce sujet:
https://doc.ubuntu-fr.org/raccourci-lan … sonnalises
J'ai testé sur ma 16.04 avec bureau Unity, et ça fonctionnait.
L'archive zip Mobile Atlas Creator 2.1.2.zip a été téléchargée et décompressée dans mon dossier ~/Téléchargements; voici le contenu du fichier ~/.local/share/applications/mobac.desktop que j'ai créé:
[Desktop Entry]
Type=Application
Name=mobac
GenericName=Mobile Atlas Creator
Comment=Creates off-line atlases of raster maps for various cell phone apps
Icon="/home/yvan/Téléchargements/Mobile Atlas Creator 2.1.2/mobac.icns"
Exec=java -Xms64m -Xmx1200M -jar "/home/yvan/Téléchargements/Mobile Atlas Creator 2.1.2/Mobile_Atlas_Creator.jar"
Terminal=false
StartupNotify=false
Categories=Application;
...seule l'icône ne semblait pas prise en compte, c'est un fichier «MacOS X (image/x-icns)» qui ne semble pas pris en charge sur Ubuntu; faudrait peut-être le convertir en .png, si possible?
Il faut ajuster les chemins en conséquence de l'endroit où tu as décompressé l'archive. Ajuster aussi les entrées dans «Categories» pour que le logiciel apparaîsse dans les menus désirés (je ne sais pas le faire).
Édit: grillé par @ar barzh paour, dont je n'avais pas vu l'intervention; désolé...
A+
Dernière modification par ylag (Le 11/04/2020, à 13:46)
Hors ligne
#4 Le 11/04/2020, à 14:43
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
...
[Desktop Entry] Type=Application Name=mobac GenericName=Mobile Atlas Creator Comment=Creates off-line atlases of raster maps for various cell phone apps Icon="/home/yvan/Téléchargements/Mobile Atlas Creator 2.1.2/mobac.icns" Exec=java -Xms64m -Xmx1200M -jar "/home/yvan/Téléchargements/Mobile Atlas Creator 2.1.2/Mobile_Atlas_Creator.jar" Terminal=false StartupNotify=false Categories=Application;
...
J'ai créé un fichier mobac.desktop tel que décrit ci-dessus mais avec les bons chemins : je peux lancer Mobac. Pour autant, quand je clique sur l'icône, j'ai le message suivant :
Le lanceur d'application "Mobac.desktop" n'est pas marqué comme exécutable ...
alors que la case "Autoriser l'exécution du fichier comme un programme" est cochée !
NOTA : j'avais un autre lanceur (Lazarus) qui fonctionnait ; entre deux j'ai redémarré Ubuntu et maintenant, ce lanceur n'affiche plus son icône et me sort le même message que pour Mobac ???
Cordialement.
Pierre.
Hors ligne
#5 Le 11/04/2020, à 15:37
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonjour,
J'ai créé un fichier mobac.desktop tel que décrit ci-dessus mais avec les bons chemins : je peux lancer Mobac.
Lorsque le logiciel est lancé, l'icône devrait alors apparaître dans ta «bande de dock à gauche de l'écran» (c.f.: ton commentaire #1). Il devrait être possible d'y assigner le lanceur par un clique-droit -> «Conserver dans le lanceur», ou quelque chose de similaire?
Sinon, je ne sais pas.
Pour s'assurer que le lanceur soit bien exécutable en le cliquant (si désiré...), une commande du genre de:
chmod ug+x /home/$USER/.local/share/applications/Mobac.desktop
...devrait le faire; à ajuster pour le bon chemin et nom de ton fichier.
A+
Dernière modification par ylag (Le 11/04/2020, à 15:41)
Hors ligne
#6 Le 11/04/2020, à 16:38
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonjour,
ChP a écrit :J'ai créé un fichier mobac.desktop tel que décrit ci-dessus mais avec les bons chemins : je peux lancer Mobac.
Lorsque le logiciel est lancé, l'icône devrait alors apparaître dans ta «bande de dock à gauche de l'écran» (c.f.: ton commentaire #1). Il devrait être possible d'y assigner le lanceur par un clique-droit -> «Conserver dans le lanceur», ou quelque chose de similaire? ...
Quand mobac est lancé, son icôpne apparaît bien dans la bande de dock, mais l'option "Conserver dans le lanceur" n'existe pas !
...Pour s'assurer que le lanceur soit bien exécutable en le cliquant (si désiré...), une commande du genre de:
chmod ug+x /home/$USER/.local/share/applications/Mobac.desktop
...
Cette commande n'a rien modifié.
De mémoire, lorsqu'on crée un fichier desktop, cela se passe de la manière suivante :
On crée on fichier texte avec les données qu'il faut.
On le renomme en monappli.desktop,
On le transfert dans le répertoire "/home/$USER/.local/share/applications/"
Si on s'arrête là, rien ne se passe.
Si après, dans le propriétés de ce fichier on coche la case "Exécuter le fichier comme un programme", alors l'icône apparaît sur le bureau avec pour nom "monappli" et non "monappli.desktop". Et dès lors, en cliquant sur cette icône, le programme se lance.
Dans mon cas, mes lanceurs conservent l'extension ".desktop" sur le bureau, n'ont pas d'icône et il a fallu que je les y colle pour qu'ils y apparaissent !
Ce qui me fait dire qu'il y a un "truc", c'est que mon ancienne icône de Lazarus est repassée au même état que celle que je viens de créer.
Cordialement.
Pierre.
Cordialement.
Pierre
Hors ligne
#7 Le 11/04/2020, à 16:50
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Re,
Si après, dans le propriétés de ce fichier on coche la case "Exécuter le fichier comme un programme"
Sauf erreur de ma part, rendre le fichier exécutable permet de lancer l'appli en double-cliquant directement le fichier .desktop là où il se trouve, mais je ne crois pas que ça le déplace sur le Bureau?
Cette commande n'a rien modifié.
...pour t'en assurer, passe la commande ls -l /home/$USER/.local/share/applications/Mobac.desktop (si c'est le bon chemin et nom du fichier) et regarde si le bit exécutable, « x », apparaît pour le propriétaqire et groupe du fichier.
Tu devrais voir quelque chose du genre de:
-rwxrwxr--
...à la partie gauche du retour.
Désolé de ne pouvoir t'en dire plus à ce sujet, il faudra d'autres intervenant(e)s plus calés que moi en lanceurs d'appli.
A+
Dernière modification par ylag (Le 11/04/2020, à 16:50)
Hors ligne
#8 Le 11/04/2020, à 17:11
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Voilà ce que j’obtiens :
chp@PC-64:~$ ls -l /home/$USER/.local/share/applications/mobac.desktop
-rwxrwxr-x 1 chp chp 451 avril 11 17:41 /home/chp/.local/share/applications/mobac.desktop
Cordialement.
Pierre.
Hors ligne
#9 Le 11/04/2020, à 17:19
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Re,
On voit que le fichier a été rendu exécutable au commentaire #8, mais pour tous et pas seulement pour le propriétaire et le groupe.
A+
Hors ligne
#10 Le 11/04/2020, à 18:14
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
...
ChP a écrit :Si après, dans le propriétés de ce fichier on coche la case "Exécuter le fichier comme un programme"
Sauf erreur de ma part, rendre le fichier exécutable permet de lancer l'appli en double-cliquant directement le fichier .desktop là où il se trouve, mais je ne crois pas que ça le déplace sur le Bureau? ...
Alors, comment retrouver ce lanceur sur le bureau ? Je ne pense pas que ce soit par un simple copier/coller.
Si vous avez des lanceurs sur votre bureau, est-ce qu'ils comportent l'extension ".desktop" ?
Cordialement.
Pierre
Hors ligne
#11 Le 11/04/2020, à 18:33
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonsoir,
Pour mettre le lanceur sur le bureau, tu pourrais tenter:
cp /home/chp/.local/share/applications/mobac.desktop /home/chp/Bureau/mobac.desktop
...mais ç'est pas tous les environnements qui supportent l'affichage de ce genre de fichiers sur le Bureau. Ça marche par exemple sur Ubuntu 16.04 avec bureau Unity; pas certain que ce soit le cas sur un bureau Gnome?
Ajout: Il semblerait que ce soit possible sur Ubuntu 18.04 avec bureau Gnome d'après cette vidéo:
COMMENT CRÉER UN LANCEUR (RACCOURCI DE BUREAU) UBUNTU 18 GNOME
A+
Dernière modification par ylag (Le 11/04/2020, à 18:48)
Hors ligne
#12 Le 11/04/2020, à 18:39
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonsoir,
Pour mettre le lanceur sur le burau, tu pourrais tenter:
cp /home/chp/.local/share/applications/mobac.desktop /home/chp/Bureau/mobac.desktop
...
Ça fonctionne, mais c'est la même chose qu'un simple copier/coller. Ce n'est pas cela qui le fait fonctionner normalement.
J'ai oublié de dire que j'étais sous Ubuntu 18.04 64 bits, mais je ne pense pas que ce soit ça le problème.
Surtout, ce qui m'étonne, c'est que mon lanceur "Lazarus" qui fonctionnait correctement, ne fonctionne maintenant pas mieux que celui de "mobac". Qu'a-t-il bien pu se passer ?
Cordialement.
Pierre
Hors ligne
#13 Le 11/04/2020, à 18:46
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Re,
Qu'entends-tu par: «Ce n'est pas cela qui le fait fonctionner normalement» ?
Regarde mon ajout au #11.
Quand mobac est lancé, son icôpne apparaît bien dans la bande de dock, mais l'option "Conserver dans le lanceur" n'existe pas !
Voir le commentaire #2 de @ar barzh paour à ce sujet.
A+
Dernière modification par ylag (Le 11/04/2020, à 18:55)
Hors ligne
#14 Le 12/04/2020, à 08:38
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
... Regarde mon ajout au #11. ...
Très intéressante cette vidéo.
Elle montre la transformation du lanceur de l'application qui, au départ est "monappli.desktop" avec une icône d'une page de texte, se transforme en un lanceur "monappli" (sans l’extension .desktop) avec l'icône de l'application. Cela se passe au moment où l'utilisateur clique sur "Faire confiance et lancer" de la fenêtre "Exécution du lanceur d'application non autorisée" (et non pas comme je l'avais dit dans ma réponse #6 ; ma mémoire me joue des tours).
J'ai reproduit cette manip sur mon PC avec un lanceur pré-existant choisi dans le répertoire /usr/share/applications. Et bien sur mon PC, cette transformation ne se passe pas, le lanceur reste sous sa forme primaire telle que lorsqu'il a été déposé sur le bureau.
Donc, a priori, le problème ne vient pas de mon nouveau lanceur.
Quelque chose s'est "cassé" dans le fonctionnement de mon PC ???
Est-ce que cette cassure s'est produite quand j'ai redémarré mon PC (voir le NOTA de ma réponse #4) pour constater que mon lanceur préexistant et fonctionnel "Lazarus" ne l'était plus ?
Qu'ai-je pu faire qui a cassé cette fonctionnalité ? Quelle est-elle, comment la retrouver ?
Cordialement.
Pierre
Hors ligne
#15 Le 12/04/2020, à 11:35
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonjour,
Quelque chose s'est "cassé" dans le fonctionnement de mon PC ???
Est-ce que cette cassure s'est produite quand j'ai redémarré mon PC (voir le NOTA de ma réponse #4) pour constater que mon lanceur préexistant et fonctionnel "Lazarus" ne l'était plus ?
Qu'ai-je pu faire qui a cassé cette fonctionnalité ? Quelle est-elle, comment la retrouver ?
Cordialement.
Désolé, mais je ne sais pas; il faudra le passage d'intervenant(e)s plus compétents que moi dans ce domaine...
Peut-être vérifier s'il y aurait des répertoires et/ou fichiers appartenant à «root» dans ton /home/chp ?
A+
Dernière modification par ylag (Le 12/04/2020, à 11:39)
Hors ligne
#16 Le 12/04/2020, à 13:18
- abelthorne
Re : Créer un lanceur pour une application se lançant dans un terminal
J'ai survolé le sujet rapidement, j'ai peut-être loupé des détails masi :
1) qu'est-ce que tu vois sur le bureau ? une icône de fichier texte qui s'appelle monappli.desktop ?
2) que donne la commande ls -l ~/Bureau ?
3) quel est le contenu de ton fichier ~/Bureau/monappli.desktop ?
(Ou mobac.desktop à la place de monappli.desktop, en fonction de ce que tu voudrais lancer.)
C'est possible que certains environnements de bureau ne permettent pas de lancer des .desktop depuis le bureau pour des raisons de sécurité. C'était le cas avec Unity, ça l'est peut-être aussi avec GNOME 3.
Hors ligne
#17 Le 12/04/2020, à 13:48
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
... 1) qu'est-ce que tu vois sur le bureau ? une icône de fichier texte qui s'appelle monappli.desktop ?
2) que donne la commande ls -l ~/Bureau ?
3) quel est le contenu de ton fichier ~/Bureau/monappli.desktop ? ...
1) : une icône de fichier texte qui s'appelle monappli.desktop
2) :
chp@PC-64:~$ ls -l ~/Bureau
total 4
-rwxrwxr-x 1 chp chp 441 avril 11 19:20 mobac.desktop
chp@PC-64:~$
3) :
[Desktop Entry]
Type=Application
Name=Mobac
GenericName=MOBAC
Comment=commentaire/description du programme
Icon=/media/Data/Programmes/Mobac-2.1.3/mobac.ico
Exec=java -Xms64m -Xmx1200M -jar "/media/Data/Programmes/Mobac-2.1.3/Mobile_Atlas_Creator.jar"
Terminal=false #ouvrir ou non un terminal lors de l'exécution du programme (false ou true)
StartupNotify=false #notification de démarrage ou non (false ou true)
Categories=Application;
NOTA 1 : quelque soit le lanceur (que j'ai réalisé ou pré-existant) que je place sur le bureau, le problème est le même.
NOTA 2 : Avant que je ne me lance dans la création du lanceur "mobac", j'avais un lanceur "Lazarus" qui fonctionnait parfaitement et qui maintenant, se retrouve dans le même cas que tout autre lanceur.
[Desktop Entry]
Type=Application
Name=Lazarus
GenericName=nom générique
Comment=commentaire/description du programme
Icon=/usr/share/lazarus/2.0.6/ide/startlazarus.ico
Exec=/usr/share/lazarus/2.0.6/startlazarus --primary-config-path=/home/chp/.lazarus
Terminal=false #ouvrir ou non un terminal lors de l'exécution du programme (false ou true)
StartupNotify=false #notification de démarrage ou non (false ou true)
Categories=Application;
Cordialement.
Pierre.
Hors ligne
#18 Le 12/04/2020, à 14:13
- ylag
Re : Créer un lanceur pour une application se lançant dans un terminal
Bonjour @abelthorne,
Merci de t'intéresser au problème de @ChP.
C'est possible que certains environnements de bureau ne permettent pas de lancer des .desktop depuis le bureau pour des raisons de sécurité. C'était le cas avec Unity, ça l'est peut-être aussi avec GNOME 3.
Chez-moi, ça fonctionne sur Ubuntu 16.04 avec bureau Unity.
Par contre pas sur une Debian 10 Buster avec bureau Gnome; impossible de lancer un fichier .desktop recopié sur le bureau même après avoir correctement configuré le propriétaire du fichier en «user» et passé les droits en 0777.
Je n'obtiens que l'ouverture du fichier dans un éditeur texte.
A+
Dernière modification par ylag (Le 12/04/2020, à 14:22)
Hors ligne
#19 Le 12/04/2020, à 14:14
- abelthorne
Re : Créer un lanceur pour une application se lançant dans un terminal
Dans le doute, au niveau syntaxe, ça change quelque chose si tu vires les commentaires (et les espaces devant) dans tes lanceurs, pour avoir les deux lignes vers la fin comme ça :
Terminal=false
StartupNotify=false
Hors ligne
#20 Le 12/04/2020, à 14:30
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Dans le doute, au niveau syntaxe, ça change quelque chose si tu vires les commentaires (et les espaces devant) dans tes lanceurs, pour avoir les deux lignes vers la fin comme ça :
Terminal=false StartupNotify=false
Cela ne change rien.
Je pense que le problème n'est pas lié au lanceur lui-même car des essais réalisés avec des lanceurs se trouvant dans le répertoire /usr/share/applications, donnent le même résultat.
Cordialement.
Pierre.
Hors ligne
#21 Le 12/04/2020, à 14:37
- abelthorne
Re : Créer un lanceur pour une application se lançant dans un terminal
Oui, c'est probablement un problème spécifique à GNOME (je ne peux pas confirmer, je suis sur XFCE), mais comme certains gestionnaires de lanceurs d'applications peuvent être un peu tatillons sur la syntaxe et les options, je me suis dit que ça pouvait être lié.
C'est à quel moment que ça a commencé à ne plus fonctionner ? Après un changement de version d'Ubuntu ? après une mise à jour de paquets liés à GNOME ? du jour au lendemain sans rien faire de particulier ?
Hors ligne
#22 Le 12/04/2020, à 15:05
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
... C'est à quel moment que ça a commencé à ne plus fonctionner ? Après un changement de version d'Ubuntu ? après une mise à jour de paquets liés à GNOME ? du jour au lendemain sans rien faire de particulier ? ...
Très bonne question.
Comme je l'ai dit, je m'en suis aperçu hier en créant mon nouveau lanceur. Ne le voyant pas sur le bureau (comme s'il avait pu y venir seul ), j'ai redémarré ubuntu et, c'est là que je me suis aperçu que :
1 - mon nouveau lanceur n'était pas affiché (normal),
2 - mon lanceur "Lazarus" était revenu à l'état d'un fichier .desktop.
De là, tous mes essais infructueux.
Par contre, il y a quelques jours, j'ai appliqué une MàJ de Ubuntu mais depuis ce temps là, je ne m'étais pas servi du lanceur "Lazarus". C'est peut-être donc la MàJ qui a provoqué le problème.
Pour autant, bien que ne m'en étant pas servi, j'aurais remarqué si son apparence avait changé. Entre autres, entre temps, il y a eu plusieurs extinction/allumage de mon PC. Donc, si cela avait été la MàJ, je pense que son allure aurait changé.
Donc, c'est un peu le brouillard.
Cordialement.
Pierre.
Hors ligne
#23 Le 12/04/2020, à 15:11
- abelthorne
Re : Créer un lanceur pour une application se lançant dans un terminal
Si tu enlèves le flag exécutable sur le lanceur, est-ce qu'il apparaît normalement (avec le nom défini dedans et sans l'extension .desktop), même sans pouvoir le lancer ?
Si tu ouvres Nautilus, que tu navigues dans /usr/share/applications et que tu double-cliques sur un lanceur (sans le copier ailleurs), il fonctionne ?
Hors ligne
#24 Le 12/04/2020, à 15:36
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Si tu enlèves le flag exécutable sur le lanceur, est-ce qu'il apparaît normalement (avec le nom défini dedans et sans l'extension .desktop), même sans pouvoir le lancer ? ...
Non, il apparaît de la même manière que si le drapeau exécutable était coché. Il est évidemment non actif.
...Si tu ouvres Nautilus, que tu navigues dans /usr/share/applications et que tu double-cliques sur un lanceur (sans le copier ailleurs), il fonctionne ?
Que j'utilise Nautilus ou pas, si je double-clique sur un lanceur dans le répertoire /usr/share/applications, l'application concernée se lance.
Cordialement.
Pierre
Hors ligne
#25 Le 13/04/2020, à 08:17
- ChP
Re : Créer un lanceur pour une application se lançant dans un terminal
Ayant mis dans mon lanceur ce que vous proposez à l'instruction suivante :
... Exec=java -Xms64m -Xmx1200M -jar "/home/yvan/Téléchargements/Mobile Atlas Creator 2.1.2/Mobile_Atlas_Creator.jar" ...
Pouvez-vous m'expliquer ceci :
java -Xms64m -Xmx1200M -jar
Cordialement.
Pierre
Hors ligne