J'ai un problème. J'essaie d 'exécuter la commande sudo dans un nouveau script à partir d' un script python dans la nouvelle fenêtre du terminal, mais chaque fois, je dois mettre le mot de passe dans une nouvelle fenêtre. Voici mon code:
import subprocess
import sys
import os
def run_lirc():
subprocess.call(["x-terminal-emulator","-e","sudo lircd"])
run_lirc()
Y a-t-il une solution qui me permet de ne pas transmettre mon mot de passe root? Je dois l'ouvrir lirc dans la nouvelle fenêtre du terminal.
Réponses:
1 pour la réponse № 1Mis à part le fait d'appeler une sous-commande dans une autre "fenêtre de terminal", ce problème est lié à la configuration sudo.
Sudo attribue des cookies tty aux sessions, limitant ainsi le délai d'expiration de la session au tty ayant obtenu l'authentification.
Vous pouvez empêcher cela en désactivant l'option tty_tickets dans /etc/sudoers
:
Defaults !tty_tickets