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

Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié le 7 févr. 2020 à 09:30
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 10 févr. 2020 à 10:43
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 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
7 févr. 2020 à 09:31
Bonjour.

Appelle
pkexec
au lieu de
sudo
.

Bonne chance
0
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 14
7 févr. 2020 à 13:03
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 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
10 févr. 2020 à 10:43
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