J'aimerais pouvoir ajouter un Jusqu'à présent, j'ai fait un petit script Bash, si j'ajoute ensuite ce qui suit à mon Alors ça marche bien. Cette méthode fonctionne, mais je préférerais ne pas avoir à l'utiliser car elle nécessite l'installation d'EXECDESKTOP. P> P> #! code> Commentaire en haut de mon
.desktop code> de sorte que s'il a effectué des autorisations et que ce soit exécuté, 'll réellement courir. Cependant, je ne sais pas ce que l'interprète pour
.desktop code> est, donc je ne sais pas quel fichier
/ usr / bin / code> pour écrire dans le hashbang. TOUTES IDÉES?
EXECDESKTOP CODE>, qui peut exécuter Desktop Fichiers: p>
.desktop code> fichiers: p>
3 Réponses :
Il n'y en a pas un; Les fichiers .desktop ne sont pas destinés à être exécutés. Exécutez l'exécutable indiqué dans la touche EXEC code> à la place. P>
Ils sont exécutés d'une manière ou d'une autre. Il n'y a absolument aucun moyen d'invoquer un fichier .desktop de la ligne de commande? Cela ne semble pas très linux ...
Les fichiers de bureau ne sont pas exécutés. La ligne à l'intérieur d'eux qui a une ligne de commande exécutable est celle qui est exécutée. Le reste du fichier est analysé par l'environnement de bureau.
Le problème est que, dans mon cas, le script mentionné dans l'attribut EXED fonctionne, mais le fichier de bureau ne fonctionne pas uniquement sous Ubuntu (cela fonctionne sur Magea). C'est pourquoi il est logique d'ouvrir un fichier de bureau dans la ligne de commande afin qu'il exécute la commande de la même manière que le système d'exploitation effectue.
Vous pouvez toujours utiliser Cela ne causera aucun problème car xdg-ouvrir code> pour votre shebang, comme dans:
# code > Démarre également les commentaires dans
.desktop code> fichiers. p> p>
Intéressant, bien que xdg-ouvert semble vouloir ouvrir tous mes fichiers .desktop à GEDIT au lieu de les lancer réellement.
@Reinderien: avez-vous associé .desktop code> à
geit code>? Qu'est-ce que
Application par défaut de requête XDG-MIME / X-X-Desktop code> retourner?
@ninjalj il ne renvoie rien (vide).
@Reinderien: Il semble gnome-ouvert code> est inconscient de
Application / x-Desktop code> et finit par appeler le gestionnaire pour sa superclasse
Texte / Code Code> .
@Reinderien: Vous pouvez utiliser kfmclient exécuté code> au lieu de
xdg-ouvert code>, si cela ne vous dérange pas de tirer dans beaucoup de bibliothèques QT / KDE.
@ninjalj Je vais prendre votre parole pour ça. Malheureusement, il semble que la réponse courte est que "il n'y a pas de réponse facile".
@Reinderien: Quoi qu'il en soit, vous devriez être capable d'utiliser #! / Bin / sed -ne s / ^ exec = // e code> comme ligne Shebang.
BugZilla.gnome.org/show_bug.cgi?id=343896
@Ninjalj Le numéro XDG-Open (Ouvre GEDIT) est dû à un bug de gnome. Il y a toujours une solution de contournement. S'il vous plaît voir ma réponse à la même question à [Askubuntu] ( askubuntu.com/questions/5172/... )
Cette réponse est fausse. Les fichiers de bureau ne sont pas destinés à être exécutés. Le fait que, dans certaines machines, XDG-Open pourrait fonctionner n'est qu'une question de l'association de fichiers, mais il est toujours faux. Ne courez pas de fichiers .desktop, ne les rendez pas exécutables.
@Marga Materola, vous avez donc voulu les utiliser pour lancer des programmes? Lorsque j'installe des programmes qui essaient de me donner un lanceur, je reçois un fichier de bureau. Quand je l'ouvre, il s'ouvre dans Gedit.
juste pour être explicite, Ignacio est correct ici dans ce .desktop em> les fichiers ne doivent pas être dirigé directement. Il est possible (comme vous l'avez découvert), mais imprudent. sur une autre note, n'utilisez pas Vous devez utiliser voici l'entrée de l'homme: p> nom p>
xdg-ouvert code>. Cela peut arriver à fonctionner s'il y a un type de mime correctement associé, mais ce n'est pas fiable. P>
GTK-Launch code>. Il est utilisé comme suit: p>
launch ./path/to/shortcut.desktop
Suscité sur le mérite technique; Mais la bonne réponse qui devrait être acceptée est celle de Ignacio Vazquez-Abrams.
Sauf si vous avez créé un package qui installe
exécutésktop code> à l'aide de votre gestionnaire de packages système (
dpkg code>? Rpm?
émerger code>? Etc) le script devrait probablement être dans
/ usr / local / bin code>, pas dans
/ usr / bin code>.