J'ai créé un script pour définir / désactiver le paramètre de proxy lorsque je bascule entre travail et domicile. Le script fonctionne parfaitement et maintenant je veux le lancer automatiquement chaque fois que je me connecte, alors je le mets dans mon fichier .profile (comme: source ~ / bin / proxyscript.sh).
Cela fonctionne lorsque j'utilisais Ubuntu Gnome et lors de la connexion, j'ai un terminal qui m'a demandé le mot de passe sudo. Depuis la version 16.10, j’ai installé une version propre d’Ubuntu Unity et le message d’erreur «sudo: aucun tty présent et aucun programme askpass n’est spécifié» s’affiche lorsque je me connecte.
Dans le script, je fais quelque chose comme: service sudo cntlm arrêter sudo sed ..... /etc/cntlm.conf service sudo. début cntlm
J'ai déjà regardé le fichier / etc / sudoers et ajouté ce qui suit sans obtenir un bon résultat: Défaut! / Usr / bin / sed! Requiretty Défauts! / Usr / sbin / service! Requiretty
racine ALL = (ALL: ALL) ALL jeroen ALL = NOPASSWD: / bin / sed, / usr / sbin / service
Je ne sais pas ce que je peux maintenant essayer de résoudre ce problème. Quelqu'un a une idée?
Merci.
Réponses:
Vous ne devriez pas utiliser
sudo
dans un script. Vous pouvez utiliser policykit au lieu desudo
dans votre script:ou mieux encore. . . Il suffit de faire la commande sed en premier, puis de redémarrer le service pour que vous n'ayez besoin d'entrer qu'un mot de passe deux fois.
De même, si vous rencontrez toujours des problèmes, je vous suggère d’exécuter le script à partir d’applications de démarrage plutôt que de votre
.profile
fichier. Vous pouvez rechercher "les applications de démarrage dans votre tableau de bord"la source
J'ai changé mon script et remplacé le
sudo
pour:pkexec env DISPLAY=:0 XAUTHORITY=/home/$USER/.Xauthority sed 'some sed stuff'
Cela a fonctionné, merci mchild!
Maintenant, je reçois un popup pour entrer mon mot de passe. Avec le message:
Authentication is needed to run '/usr/bin/env' as the super user
Mais est-il également possible sans entrer un mot de passe?
la source