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.
<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div data-marker="__QUOTED_TEXT__">La machine cible (et la mienne de test) est en debian 11 sous gnome.<br>Il m'est proposé ce que j'ai décrit quand je
clique droit sur l'icône.</div><div data-marker="__QUOTED_TEXT__"><br>Cf. mon 1er message détaillé, reproduit :</div><div data-marker="__QUOTED_TEXT__"><br data-mce-bogus="1"></div><div data-marker="__QUOTED_TEXT__"><div style="padding-left: 30px;"
data-mce-style="padding-left: 30px;"><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><strong>1/ Procédé 1 (CLI)<br></strong></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">Je crée un fichier :</div><
div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><br></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">$ cat test.desktop</div><div style="padding-left: 60px;" data-mce-style="padding-left: 60px;">[Desktop
Entry]<br>Version=1.0<br>Type=Application<br>Terminal=false<br>Exec=/usr/bin/gedit<br>Name=gedit<br>Comment=gedit<br>Icon=/home/test/Desktop/logo.png</div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><br></div><div style="padding-
left: 30px;" data-mce-style="padding-left: 30px;">Je clique droit dessus et je choisis ouvrir avec "Create launcher on the panel".</div></div><div style="padding-left: 60px;" data-mce-style="padding-left: 60px;">J'ai alors une erreur :<br></div><div
style="padding-left: 90px;" data-mce-style="padding-left: 90px;"><img pnsrc="cid:0cfeae2710aa008eca92c46a6efd441a2900f1ab@zimbra" data-mce-src="cid:0cfeae2710aa008eca92c46a6efd441a2900f1ab@zimbra" src="cid:0cfeae2710aa008eca92c46a6efd441a2900f1ab@zimbra">
</div><div style="padding-left: 60px;" data-mce-style="padding-left: 60px;"><br></div><div style="padding-left: 60px;" data-mce-style="padding-left: 60px;">C'est cette commande qui ne s'exécute pas :<br></div><div style="padding-left: 60px;" data-mce-
style="padding-left: 60px;">$ ps aux | grep xfce<br></div><div style="padding-left: 60px;" data-mce-style="padding-left: 60px;">... <strong>xfce4-panel --add=launcher /home/test/Desktop/test.desktop</strong><br></div><div style="padding-left: 30px;"
data-mce-style="padding-left: 30px;"><br data-mce-bogus="1"></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><strong>2/ Procédé 2 (souris)</strong><br></
<div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">Je clique droit sur le programme</div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">Je ne vois pas l'option "Add to Desktop"</div><div style="padding-left:
30px;" data-mce-style="padding-left: 30px;"><br></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;">Pourtant <
strong>gnome-shell-extension-manager</strong> est installé</p></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><br></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">Cette page pourrait apporter la
solution :</div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><span class="Object" role="link" id="OBJ_PREFIX_DWT68_com_zimbra_url"><span class="Object" role="link" id="OBJ_PREFIX_DWT70_com_zimbra_url"><a href="
https://extensions.
gnome.org/extension/1465/desktop-icons/" target="_blank" rel="nofollow noopener noreferrer" data-mce-href="
https://extensions.gnome.org/extension/1465/desktop-icons/">https://extensions.gnome.org/extension/1465/desktop-icons/</a></span></span><br></div><
div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><br></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;">Mais elle affiche :<br></div><div style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><p
class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;"><span style="color: #ff0000;" data-mce-style="color: #ff0000;">Your native host connector do not support following APIs: v6.</span></p><p
class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;"><span style="color: #ff0000;" data-mce-style="color: #ff0000;">Probably you should upgrade native host connector or install plugins for
missing APIs. Refer <span class="Object" role="link" id="OBJ_PREFIX_DWT69_com_zimbra_url"><span class="Object" role="link" id="OBJ_PREFIX_DWT71_com_zimbra_url"><a href="
https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation" style="
color: #ff0000;" target="_blank" rel="nofollow noopener noreferrer" data-mce-href="
https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation" data-mce-style="color: #ff0000;">documentation</a></span></span> for instructions.</span></p><
p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;"><br></p><p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;">Est-ce qu'il est
devenu impossible de créer une icône de bureau avec debian 11 ?</p><p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;">Ou alors quelle solution y a-t-il pour régler ce pb avec xfce4-panel ?
</p><p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;"><br></p><p class="message info" style="margin: 0px; padding-left: 30px;" data-mce-style="margin: 0px; padding-left: 30px;">J'ai tenté
en vain :<br></p><pre style="padding-left: 30px;" data-mce-style="padding-left: 30px;"><code> sudo apt-get install --reinstall systemd gnome-settings-daemon gnome-settings-daemon-common</code><br></pre></div></div></div><div data-marker="__QUOTED_
TEXT__"><br data-mce-bogus="1"></div><div data-marker="__QUOTED_TEXT__"><br><br><br>----- Mail original -----<br>De: "hamster" <
[email protected]><br>À: "Liste Debian" <
[email protected]><br>Envoyé: Lundi 6 Mars 2023 00:
19:47<br>Objet: Re: debian 11 - créer une "desktop icon"... simplement<br><br>Le 05/03/2023 à 22:57,
[email protected] a écrit :<br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;
font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"> C'est un point accessoire, puisque je livre un programme à un utilisateur qui va l'exploiter en connaissance sur sa machine.<br> Il fera clic droit "
Rendre exécutable", voire chmod +x.<br> L'installateur copiera automatiquement le pgm dans /usr/local/bin pour permettre un lancement depuis n'importe quel chemin dans un terminal.<br> Je pourrais envisager un paquet .deb .<br></blockquote><br>
Ah d'accord, j'avais pas compris ta demande. Si c'est un programme que <br>tu fait et que tu fournis, en effet il faut trouver une solution.<br><br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:
normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"> Je ne pensais pas que ce serait si compliqué avec gnome<br></blockquote><br>Avant tu parlais de xfce, la tu parle de gnome, au final c'est quel <br>
bureau sur l'ordi ou tu veux que l'installateur crée une icone sur le <br>bureau ?<br><br><br><br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;
font-family:Helvetica,Arial,sans-serif;font-size:12pt;"> Qui a fait ça récemment sur un hôte debian 11 ?<br></blockquote><br>Je suis sous mate et je viens d'essayer.<br><br>Clic droit sur le bureau puis "creer un lanceur". Ca m'ouvre une <br>fenetre,
je choisis le nom, la commande a executer, l'icone que je veux, <br>je clique sur "ok".<br><br>Ca me fait une icone sur le bureau qui execute la commande spécifiée <br>quand je clique dessus.<br><br>Je regarde le contenu de ce machin avec cat Bureau/
test.desktop<br>#!/usr/bin/env xdg-open<br>[Desktop Entry]<br>Version=1.0<br>Type=Application<br>Terminal=false<br>Icon=/usr/local/share/icon/test.png<br>Icon[fr_FR]=test<br>Name[fr_FR]=test<br>Exec=/usr/local/bin/test<br>Name=test<br><br>Ce truc est un
bete fichier texte, avec le nom qui finit par .desktop ce <br>qui est le standard de freedesktop.org. Il m'appartiens (ben oui, il est <br>sur mon bureau) et il a les droits d'execution.<br><br>J'en comprend que si je fais un fichier contenant les bonnes
infos et <br>que je le met sur le bureau, ca doit marcher. J'essaye : je fais un <br>fichier retest.desktop contenant :<br><br>#!/usr/bin/env xdg-open<br>[Desktop Entry]<br>Version=1.0<br>Type=Application<br>Terminal=false<br>Icon=/usr/local/share/
icon/autretest.png<br>Icon[fr_FR]=autretest<br>Name[fr_FR]=retest<br>Exec=/usr/local/bin/retest<br>Name=retest<br><br>Je l'enregistre sur le bureau, je lui donne les droits d'execution et… <br>ca marche. Comme c'est un truc qui est visiblement fait
selon le <br>standard de freedesktop.org, je pense que ca marchera tout aussi bien <br>sur d'autres bureaux (gnome, cinammon, kde, xfce, lxde, etc…). A tester <br>quand meme.<br><br>Vu que tu fais un installateur qui copie automatiquement le programme <
dans /usr/local/bin, ce meme installateur peut tout aussi bien copier un <br>fichier d'icone dans /usr/local/share/icons et un fichier de lanceur sur <br>le bureau, puis changer le proprietaire et donner les droits d'execution <br>pour ce lanceur.<br><
PS : si tu veux faire un lanceur dans le menu aussi, ca se passe dans <br>/usr/local/share/applications. Je te laisse aller voir les fichiers <br>*.desktop qui sont dans /usr/share/applications et t'en inspirer pour <br>faire le tiens.<br><br><
blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"> PS : d'ailleurs, y a-t-il moyen de lancer un
pgm en tant que sudoer depuis le le navigateur de fichiers ?<br> (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)<br></blockquote><br>La ca va beaucoup dépendre du navigateur de fichiers, et comme tu nous <br>dit pas lequel tu utilise c'est une question très floue.<br><br>PS2 : dans le fichier retest.desktop sur mon bureau, j'ai modifié la <br>
commande a executer, j'ai mis :<br>Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY <br>/usr/local/bin/retest<br>Comme ca il me demande le mot de passe administrateur quand je clique <br>sur le lanceur.<br><br>PS3: c'est chiant de se trimballer
des variables d'environnement a <br>chaque fois qu'on tape pkexec, alors j'ai fait un alias<br>alias pkexec='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'<br>dans /etc/bash.bashrc et je m'en soucie plus.<br></div></div></body></html>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)