La machine cible (et la mienne de test) est en debian 11 sous gnome. 
Il m'est proposé ce que j'ai décrit quand je clique droit sur l'icône. 

Cf. mon 1er message détaillé, reproduit : 

1/ Procédé 1 (CLI) 
Je crée un fichier : 

$ cat test.desktop 
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=false 
Exec=/usr/bin/gedit 
Name=gedit 
Comment=gedit 
Icon=/home/test/Desktop/logo.png 

Je clique droit dessus et je choisis ouvrir avec "Create launcher on the 
panel". 
J'ai alors une erreur : 

C'est cette commande qui ne s'exécute pas : 
$ ps aux | grep xfce 
... xfce4-panel --add=launcher /home/test/Desktop/test.desktop 

2/ Procédé 2 (souris) 
Je clique droit sur le programme 
Je ne vois pas l'option "Add to Desktop" 



Pourtant gnome-shell-extension-manager est installé 

Cette page pourrait apporter la solution : 
[ https://extensions.gnome.org/extension/1465/desktop-icons/ | 
https://extensions.gnome.org/extension/1465/desktop-icons/ ] 

Mais elle affiche : 


Your native host connector do not support following APIs: v6. 

Probably you should upgrade native host connector or install plugins for 
missing APIs. Refer [ 
https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation | 
documentation ] for instructions. 




Est-ce qu'il est devenu impossible de créer une icône de bureau avec debian 11 
? 

Ou alors quelle solution y a-t-il pour régler ce pb avec xfce4-panel ? 




J'ai tenté en vain : 
sudo apt-get install --reinstall systemd gnome-settings-daemon 
gnome-settings-daemon-common 




----- Mail original ----- 
De: "hamster" <[email protected]> 
À: "Liste Debian" <[email protected]> 
Envoyé: Lundi 6 Mars 2023 00:19:47 
Objet: Re: debian 11 - créer une "desktop icon"... simplement 

Le 05/03/2023 à 22:57, [email protected] a écrit : 


C'est un point accessoire, puisque je livre un programme à un utilisateur qui 
va l'exploiter en connaissance sur sa machine. 
Il fera clic droit "Rendre exécutable", voire chmod +x. 
L'installateur copiera automatiquement le pgm dans /usr/local/bin pour 
permettre un lancement depuis n'importe quel chemin dans un terminal. 
Je pourrais envisager un paquet .deb . 



Ah d'accord, j'avais pas compris ta demande. Si c'est un programme que 
tu fait et que tu fournis, en effet il faut trouver une solution. 


BQ_BEGIN
Je ne pensais pas que ce serait si compliqué avec gnome 

BQ_END

Avant tu parlais de xfce, la tu parle de gnome, au final c'est quel 
bureau sur l'ordi ou tu veux que l'installateur crée une icone sur le 
bureau ? 




BQ_BEGIN
Qui a fait ça récemment sur un hôte debian 11 ? 

BQ_END

Je suis sous mate et je viens d'essayer. 

Clic droit sur le bureau puis "creer un lanceur". Ca m'ouvre une 
fenetre, je choisis le nom, la commande a executer, l'icone que je veux, 
je clique sur "ok". 

Ca me fait une icone sur le bureau qui execute la commande spécifiée 
quand je clique dessus. 

Je regarde le contenu de ce machin avec cat Bureau/test.desktop 
#!/usr/bin/env xdg-open 
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=false 
Icon=/usr/local/share/icon/test.png 
Icon[fr_FR]=test 
Name[fr_FR]=test 
Exec=/usr/local/bin/test 
Name=test 

Ce truc est un bete fichier texte, avec le nom qui finit par .desktop ce 
qui est le standard de freedesktop.org. Il m'appartiens (ben oui, il est 
sur mon bureau) et il a les droits d'execution. 

J'en comprend que si je fais un fichier contenant les bonnes infos et 
que je le met sur le bureau, ca doit marcher. J'essaye : je fais un 
fichier retest.desktop contenant : 

#!/usr/bin/env xdg-open 
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=false 
Icon=/usr/local/share/icon/autretest.png 
Icon[fr_FR]=autretest 
Name[fr_FR]=retest 
Exec=/usr/local/bin/retest 
Name=retest 

Je l'enregistre sur le bureau, je lui donne les droits d'execution et… 
ca marche. Comme c'est un truc qui est visiblement fait selon le 
standard de freedesktop.org, je pense que ca marchera tout aussi bien 
sur d'autres bureaux (gnome, cinammon, kde, xfce, lxde, etc…). A tester 
quand meme. 

Vu que tu fais un installateur qui copie automatiquement le programme 
dans /usr/local/bin, ce meme installateur peut tout aussi bien copier un 
fichier d'icone dans /usr/local/share/icons et un fichier de lanceur sur 
le bureau, puis changer le proprietaire et donner les droits d'execution 
pour ce lanceur. 

PS : si tu veux faire un lanceur dans le menu aussi, ca se passe dans 
/usr/local/share/applications. Je te laisse aller voir les fichiers 
*.desktop qui sont dans /usr/share/applications et t'en inspirer pour 
faire le tiens. 


BQ_BEGIN
PS : d'ailleurs, y a-t-il moyen de lancer un pgm en tant que sudoer depuis le 
le navigateur de fichiers ? 
(le menu contextuel ne propose pas ça ; et admin:// dans la barre d'adresse 
déclenche une demande de pwd sudoer mais n'ajoute pas plus de "exécuter (comme 
root) dans un menu contextuel) 

BQ_END

La ca va beaucoup dépendre du navigateur de fichiers, et comme tu nous 
dit pas lequel tu utilise c'est une question très floue. 

PS2 : dans le fichier retest.desktop sur mon bureau, j'ai modifié la 
commande a executer, j'ai mis : 
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY 
/usr/local/bin/retest 
Comme ca il me demande le mot de passe administrateur quand je clique 
sur le lanceur. 

PS3: c'est chiant de se trimballer des variables d'environnement a 
chaque fois qu'on tape pkexec, alors j'ai fait un alias 
alias pkexec='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY' 
dans /etc/bash.bashrc et je m'en soucie plus. 

Répondre à