J'exécute un script python en tant que root avec pkexec et j'utilise working_dir = os.getenv('HOME')
pour obtenir le nom d'utilisateur, mais il renvoie toujours root
au lieu de test1
qui est l'utilisateur actuel. Comment puis-je obtenir l'utilisateur qui a exécuté pkexec à la place?
J'ai déjà essayé print os.environ["Sudo_USER"]
mais cela échoue car il n'est pas exécuté directement avec Sudo. Je suis en confiance maintenant mais me comporte de la même façon en 16.04.
Je l'ai corrigé comme ceci:
import pwd
import os
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)