J'ai créé un fichier .desktop pour Flashtool d'Androxyde (utilitaire pour les appareils Sony Xperia que je dois ouvrir avec un fichier exécutable dans son dossier) qui nécessite des privilèges root pour utiliser les utilitaires fastboot. J'avais l'habitude de le faire fonctionner gksu
, mais je suis sur Ubuntu 15.04 et gksu est maintenant vieux.
J'ai essayé de modifier la exec
ligne de
Exec=gksu /home/natasha/FlashTool/FlashTool
à Exec=pkexec /home/natasha/FlashTool/FlashTool
Ensuite, j'ai lu que pkexec ne permet pas d'exécuter des applications X11 et je remplace donc de cette manière:
Lien vers l'image complète sur Imgur.com
Le problème est maintenant: il me demande le mot de passe mais l'interface graphique de Flashtool ne démarre pas. MAIS si j'exécute cette commande dans le terminal, le programme démarre sans problème. Que puis-je faire?
command-line
.desktop
pkexec
nplezka
la source
la source
Réponses:
Créez un nouveau fichier dans
/usr/share/polkit-1/actions/
et ajoutez les lignes ci-dessous:
Créez ensuite un nouveau fichier
/home/natasha/FlashTool/
et ajoutez les lignes ci-dessous:
Utilisez la ligne ci-dessous pour
Exec
dans votredesktop
fichier:Testé sur mon système Ubuntu 15.04 GNOME avec les fichiers suivants:
la source
Exec
commande: j'ai écritExec=pkexec /home/natasha/FlashTool/FlashTool
comme avant, car flashtool-pkexec ne fonctionne pas sur le fichier .desktop. Grâce au fichier de politique, cela fonctionne comme un charme. Je vous remercie!#!
, vous devez préfixer laExec
commande avec/bin/sh
.sudo -H
est suffisant pour démarrer une application graphique empêchant les modifications des fichiers de configuration de l'utilisateur~/
, car il définit le répertoire de base de l'environnement en cours d'exécution sur le répertoire de base de root:la source
desktop
dossier?sh
instance (probablement avec certaines variables d'environnement définies ad hoc, mais ce n'est pas un problème).sudo
si vous avez uneTerminal=false
ligne dans le.desktop
lanceur (comme OP l'a ici). Cependant, cela fonctionnerait probablement avecTerminal=true
.