Lanceur (starter, racourci, shortcut) non lançable avec la dernière version de Gnome?

Tags: #<Tag:0x00007f509b444448> #<Tag:0x00007f509b444380>

Bonjour,

Avec la dernière version de Gnome, lorsque je crée un lanceur (starter, racourci, shortcut) sur le bureau, par défaut, celui-ci n’est pas directement « lançable » (un double click sur ce lanceur ne lance pas l’exécutable sur lequel pointe l’icône) et n’affiche pas non plus l’icône de l’exécutable vers lequel pointe ce lanceur, et ce, bien que le fichier « .desktop » du dossier « Bureau » correspondant à ce lanceur et à son exécutable soit parfaitement valide (et tout à fait fonctionnel sous la version précédente de Gnome comme sur les dernières versions de Mate ou de Cinnamon).

C’est donc une bizarrerie de la dernière version de Gnome !

Pour que ce lançeur devienne lançable, je dois faire un click droit sur le lanceur et sélectionner l’option (en Anglais, désolé mais mon interface est en Anglais) Allow Launchable (que je traduit par autoriser le lancement).

Cette action a deux effets :

  1. Elle affiche immédiatement l’icône de l’exécutable vers lequel pointe le lanceur et

  2. Le lanceur devient immédiatement actif (un double click sur l’icône lance effectivement l’exécutable associé à cette icône).

Puisqu’à toutes les actions de l’interface graphique correspondent une ou des commandes qui peuvent être passées en ligne de commande (soit directement dans un terminal, soit via un script) ma question est alors très simple :

Quelle(s) est (sont) la (les) commande(s) correspondant à cette action de l’interface graphique ?

A titre d’exemple :

à l’option Allow executing file as a program (que je traduit par « rendre le fichier exécutable comme un programme ») du panneau propriétés d’un fichier correspond la commande « chmod +x » dudit fichier.

Malgré plus d’une semaine de recherches très actives sur de nombreux fora, je ne trouve aucune documentation à ce sujet.

Est-ce un « secret défense » bien caché de Gnome ? :crazy_face:

Merci d’avance de votre aide.

Cordialement.

1 J'aime

As-tu vu cette réponse sur stackoverflow: https://stackoverflow.com/a/62240478 ?

Ça se fait via la commande dbus-launch visiblement.

Salut Anatomic.

Oui j’ai vu ce thread, et désolé mais non, cette commande ni dbus-send ne répondent pas à ma question.

Cordialement.

Les fichiers lanceurs .desktop doivent maintenant ne plus se trouver dans le dossier Bureau et aller à $USER/.local/share/applications et c’est seulement le script qui doit être exécutable.

Plus d’explications ici :

ou ici :

Bonjour gilles2,

Non, je me répète, la copie d’un starter qui est bien exécutable (~ chmod +x /path/starter.desktop) et dont la valeur de metadata::trusted est bien à « true » (~ sudo gio set /path/starter.desktop metadata::trusted true) dans $USER/.local/share/applications ne répond pas à la question que j’ai posée à savoir :

quelle ligne de commande exécute l’action de sélectionner l’option « Allow Launching » du menu du click droit sur une icône d’un starter dont les résultats sont :

  1. affichage immédiat de l’icône du starter,
  2. le starter devient immédiatement exécutable par un double click gauche
  3. et enfin, l’option « Allow Launching » du menu est immédiatement remplacée par « Don’t Allow Launching » ?

Ce qui est étonnant est que si le contenu du starter est valide (~ desktop-file-edit starter.desktop) le simple fait de se déconnecter et de se reconnecter affiche bien l’icône du starter et celle-ci est exécutable par un double click gauche.

De plus, si tu copies tes .desktop dans le répertoire $USER/.local/share/applications, il ne seront alors accessibles qu’au seul utilisateur défini par $USER alors qu’ils le seront pour tous les utilisateurs du système s’ils sont copiés dans /usr/share/applications.

Enfin, merci de tes liens que je connaissais aussi, mais qui ne répondent pas non plus à ma question que je pense pourtant assez clairement posée.

Merci quand même de ta contribution.

Bien cordialement.

quelle est le contenu du parametre Icon=

Quand je mets le chemin absolu de l’icone, exemple Icon=/usr/share/icons/hicolor/scalable/apps/org.gnome.eog.svg

l’icone est affichée dès que le chmod +x est appliqué

Je n’ai pas compris, c’est que j’ai l’habitude de testing et que je n’utilisais pas de lanceur auparavant et j’ai appris à m’en servir avec la méthode actuelle et donc tes questions me semblent étranges. Tu dois lâcher ton ancienne façon de penser et te renouveler pour assimiler la nouvelle méthode.

Il faut changer ses habitudes, ce n’est plus le comportement prévu. Actuellement tu peux retrouver tes lanceurs comme les autres applications dans la barre de recherche Activités

Lancement de lanceur avec le clavier

  1. Appuyez sur la touche Logo pour ouvrir la vue d’ensemble des Activités.
  2. Commencer à saisir le nom du lanceur à lancer. La recherche du lanceur démarre instantanément.
  3. Dès que l’icône du lanceur voulue s’affiche et est sélectionnée, appuyez sur Entrée pour le lancer.

Un exemple de lanceur sélectionné dans l’écran Activités ( le premier à gauche ) à voir dans le lien suivant :
https://debian-facile.org/images/file-R3dffca61b6440132b971dea264c708d6

Re Salut gilles2,

Les starters dont je parle sont installés par un script.

Bien sur, ils sont déjà disponibles non seulement dans le panneau de dialogue « Activity » mais aussi dans le Launch Pad général.

Ma question n’est donc pas de savoir si pour les utilisateurs il est bon ou non de changer d’habitude mais de répondre à un besoin très classique qui fonctionne parfaitement sous d’autres interfaces graphiques (Cinnamon, Mate, KDE, etc…) à savoir, créer des starters sur le bureau et pouvoir les utiliser via un simple double click gauche sans devoir passer par une manipulation de l’interface graphique pour les valider, ce qui est une spécificité d’Ubuntu et de Gnome depuis leurs dernières versions.

Je sais que nombre de nouveaux utilisateurs sont assez réfractaires aux lignes de commandes, mais dans le cas présent, il s’agit d’un besoin pour script d’installation de trois logiciels, script qui plus est multi-lingues, justement pour faciliter la vie des utilisateurs.

Néanmoins, je conçois parfaitement que tu n’aies pas la réponse à ma question, qui soit dit en passant a été posées plusieurs fois par d’autres développeurs que moi non seulement ici mais dans d’autres fora et qui manifestement n’a pour l’instant pas reçu la moindre réponse satisfaisante.

Ma question reste donc entière : quelle est la ligne de commande que l’interface graphique exécute lorsque l’on valide l’option du menu contextuel d’un starter « Allow Launching » ?

Pour info, ni « chmod +x starter.desktop », ni « dbus-launch gio starter.desktop metadata::trusted true » ni encore « desktop-file-install ~$Desktop starter.desktop », ni même les trois combinés ne répondent à ma question et ne font pas mieux qu’un simple « cp starter.desktop ~$Desktop ».

Info complémentaire : un « sudo systemctl restart gdm3 » relance l’interface graphique et les icônes des starters sont alors automatiquement « launchable » (ce qui prouve que les .desktop sont corrects), mais c’est une solution assez « barbare » dans la mesure ou toutes les applications en cours sont « killed ».

Est-ce donc une commande « secret défense de Canonical pour sa dernière implémentation de Gnome » ? :thinking: :shushing_face: :crazy_face:

Sérieusement, je ne le pense pas, mais en tous cas elle n’est pas (ou très mal) documentée.

Enfin, cela est d’autant plus frustrant que mon script fonctionne parfaitement sans ce « glitch » de la 20.04 avec Ubuntu 18.04.5 LTS !

Merci quand même de ta contribution.

Bien cordialement.

PS : si tu veux essayer mon script pour te faire une idée plus précise, il est sur ma page dédiée ici : www.as2.com Il n’y a aucun risque à essayer puisque ce script fait aussi bien une installation dans /opt que la désinstallation sans besoin d’aucun reboot.