Besoin de précisions sur les autorisations des .desktop
fichiers. Je peux voir tous les .desktop
fichiers /usr/share/applications/
appartenant à root ont la permission,
-rw-r--r--
également examples.desktop
à la $HOME
propriété par l' utilisateur a la même autorisation. Tous ceux-ci fonctionnent correctement.
Mais quand je vais créer un .desktop
fichier personnalisé ayant la même autorisation, il envoie le message d'erreur suivant,
Lanceur d'applications non approuvé
Le lanceur d' applications "myapp.desktop" n'a pas été marqué comme approuvé. Si vous ne connaissez pas la source de ce fichier, son lancement peut être dangereux.
Mais l'ajout de l'autorisation d'exécution lui permet de s'exécuter sans aucun problème.
Q: Pourquoi les
.desktop
fichiers personnalisés doivent-ils avoir des+x
autorisations pour s'exécuter ou comment certains.desktop
fichiers peuvent-ils s'exécuter sans autorisation d'exécution? Est-il possible d'exécuter un.desktop
fichier personnalisé sans autorisation d'exécution?
la source
Réponses:
Cela vient de la politique de sécurité d' Ubuntu :
Donc, oui, selon cette politique, il devrait être possible d'exécuter un fichier .desktop sans le bit exécutable défini. Selon cette politique que vous ne devez déplacer ce fichier à partir des
/home/
et/tmp/
répertoires et vous pouvez le lancer sans le bit exécutable. C'est en théorie / selon la politique.Dans la pratique, nautilus vous permettra de lancer des fichiers .desktop sans le bit exécutable défini à partir des répertoires XDG_DATA_DIR et du
~/.gnome2/
répertoire. Vous pouvez vérifier les XDG_DATA_DIRS avec laecho $XDG_DATA_DIRS
commande. Donc, si vous placez votre fichier .desktop dans un XDG_DATA_DIR ou dedans,~/.gnome2/
vous pourrez le lancer depuis nautilus sans le bit exécutable défini. Au moins le 12.04, ça fonctionne comme ça. Comment cela est-il conforme à la politique susmentionnée, je ne sais pas.Pour les personnes
examples.desktop
mentionnées dans la question: Ce fichier .desktop est un autre type de fichier .desktop. C'est un "lien", il ne veut rien exécuter, il fonctionne essentiellement comme un lien symbolique. Ces types de fichiers .desktop fonctionnent partout.la source
.desktop
fichier à l'extérieur/home
sans bit exécutable n'a pas fonctionné pour moi. [ii] Puis-je ajouter n'importe quel dossier$XDG_DATA_DIRS
?, j'ai essayéexport XDG_DATA_DIRS=$XDG_DATA_DIRS:~/.local/share/applications/
sans succès./home/
répertoire. Comme je l'ai écrit, dans la pratique, nautilus se comporte différemment et exécute même certains fichiers .desktop à partir d'un répertoire personnel (~/.gnome2/
) mais ne s'exécute pas à partir de tous les répertoires en dehors de / home, uniquement à partir des XDG_DATA_DIRS. Je pense donc que le comportement de nautilus n'est pas parfaitement conforme à la politique. [ii] Pour ajouter un répertoire, consultez ce billet de blog .Vous pouvez créer et placer le
.desktop
fichier dans~/.local/share/applications
- puis il apparaîtra dans le tiret / menu / quoi que ce soit.Il devra ressembler à ceci:
Cela est dû au fait que les fichiers dans
~/.local/share/applications
fonctionnent de la même manière que les fichiers dans/usr/share/applications
- les deux sur la plupart des systèmes fonctionnent correctement sans autorisations exécutables, également lorsqu'ils appartiennent à un utilisateur autre que root. Cependant, cela ne semble pas toujours être le cas.Pour réellement cliquer sur le fichier, puis l'ouvrir, il aura besoin d'autorisations exécutables.
la source
.desktop
fichier à~/.local/share/applications
moins qu'il ne dispose de l'autorisation d'exécution.-rw-r--r--
....Il semble que non, vous ne pouvez pas le faire sans modifier GNOME. Il y a un rapport de bogue du tableau de bord , qui est confirmé, mais sans suite, sur ce problème exact.
Lorsque vous créez un
.desktop
fichier personnalisé sous/usr/share/applications/
avec la racine du propriétaire, il ne nécessite pas d'autorisation d'exécution.la source