Afficher une erreur avec Tk en cas d'erreur d'un sous processus

xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai mon appli qui a besoin du mot de passe de
sudo
, j'ai donc créé une fenêtre mot de passe sudo que l'utilisateur remplit en indiquant son mot de passe. Jusque là tout va bien.

Mais je voudrais ajouter un message en cas d'erreur de saisie du mot de passe par l'utilisateur, avec
tkMessageBox.showerror
indiquer ci-dessous :

titre = "Erreur mot de passe saissi"
message = "Mot de passe incorrecte"
message_erreur(titre, message)

Mais je ne trouve pas la solution depuis python 2.7.6 via Tkinter

Voila la fonction qui valide le mot de passe depuis son champs de saissi Entry.
le code
def Valider_mdp(x):
       import subprocess
       sudoPassword = x.get()
       fenetre_mdp_sudo.destroy()

       args = ['ls -al /home/laurent/banane-test-chovn']
       proc = subprocess.Popen(args,shell=True,stdout=subprocess.PIPE)
       out = proc.communicate()
       print out[0]
    
       message = out[0]
       titre = "Retour commande"
       message_infos(titre, message)


Merci d'avance.

Configuration: Linux / Firefox 72.0

3 réponses

mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Bonjour.

Appelle
pkexec
au lieu de
sudo
.

Bonne chance
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour,

Sur python 2.7.6 avec un pc ubuntu 14.04, il n'y a pas pkexec c'est a partir de Ubuntu 18.04.

Merci.
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Il n'est jamais trop tard pour rentrer dans le monde moderne :-) Quoi qu'il en soit, un équivalent à
pkexec
existait à cette époque :
gksudo
ou
kdesu
.

Bonne chance
0