Eu corri assim:
import pwd
import os
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)
Estou executando um script python como root com o pkexec e estou usando working_dir = os.getenv('HOME')
para obter o nome de usuário, mas ele sempre retorna root
em vez de test1
, que é o usuário atual.
Como posso obter o usuário que executou o pkexec?
Já experimentei print os.environ["SUDO_USER"]
, mas isso falha, pois não está sendo executado diretamente com o sudo. Estou confiante agora, mas me comporto da mesma maneira em 16.04.
Eu corri assim:
import pwd
import os
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)