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

Signaler
Messages postés
703
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
10 février 2020
-
mamiemando
Messages postés
29174
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 février 2020
-
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

Messages postés
29174
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 février 2020
6 771
Bonjour.

Appelle
pkexec
au lieu de
sudo
.

Bonne chance
Messages postés
703
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
10 février 2020
9
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.
Messages postés
29174
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 février 2020
6 771
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