J'ai créé une icône de bureau pour le gddccontrol, mais pour l'exécuter, je dois l'exécuter à partir de sudo. Existe-t-il un moyen d'exécuter une commande à partir de l'icône du bureau comme,
sudo -pPASSWORD gddccontrol
donc il ne me demandera pas le mot de passe dans le terminal?
Je veux juste cliquer et l'exécuter avec les autorisations sudo.
[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png
Lorsque j'exécute l'icône à partir du terminal avec la commande Exec suivante, cela fonctionne bien, mais cela ne fonctionne pas dans Launcher :(
Exec=echo mypasswd | sudo -S gddccontrol
pkexec
surgksu
; Je pense qu'il y avait un meta post à ce sujet.pkexec
ne fonctionne pas sur les applications gui comme ça. Il est plus compliqué à mettre en place, toutgksu
fonctionne parfaitement.pkexec
le 16.04.L' utilisation ,
sudo
par définition invite une demande de mot de passe. Ce que vous devez faire est d'accorder des autorisations d'exécution à votre utilisateur. Je ne sais pas où se trouve ce programme, mais pour le bien de cette réponse, supposons qu'il l'est/usr/bin/
.Dans un terminal, exécutez ceci:
Cette commande accorde o utres utilisateurs (comme vous) le droit à l' e x ecute le programme sans avoir besoin d'autorisation.
Ensuite, dans le fichier .desktop, utilisez simplement:
la source
Je suis contre le mot de passe codé en dur dans un fichier texte, je peux donc penser à deux solutions possibles:
effectuez une modification à l'échelle du système pour que chaque commande émise par votre utilisateur avec sudo soit exécutée en tant que superutilisateur sans demander de mot de passe. Vous pouvez découvrir comment dans cette réponse
Si vous ne souhaitez pas que les
sudo
commandes soient toujours exécutées avec une invite de mot de passe, utilisez les meilleures pratiquesgksu
avant votre commande pour demander le mot de passe dans une fenêtre graphique plutôt que d'écrire votre mot de passe brut dans un fichier.la source