J'essaie d'écrire une fonction bash simple qui dort X-nombre de minutes, puis exécute une commande de mise en veille du système (pour moi, c'est sudo pm-suspend
depuis que je suis sur Ubuntu) pour le moment, la fonction ressemble à ceci :
function sleepin {
sleep $(bc <<< $1*60); sudo pm-suspend
}
Le premier argument est après combien de minutes le sommeil est censé se produire. Le problème est qu'après la mise en veille, le script me demande le mot de passe sudo.
Comment dois-je réécrire le script pour qu'il ne me demande pas le mot de passe sudo après la mise en veille ?
(J'ai essayé d'appeler sudo sleepin 30
mais il me demande toujours le mot de passe. Notez que si l'appel de sommeil est suffisamment petit, bash ne demande pas de mot de passe, mais pour un sommeil plus long, il le fera..)
Réponse acceptée :
Comme Mat l'a suggéré, vous pouvez autoriser l'utilisateur à exécuter pm-suspend sans mot de passe.
Exécutez sudo visudo
Ajoutez youruser ALL=(root) NOPASSWD: /path/to/pm-suspend