Я выполняю сценарий Python как корень с pkexec, и я использую working_dir = os.getenv('HOME')
для получения имени пользователя, но это всегда возвращается root
вместо test1
который является текущим пользователем. Как я могу получить пользователя, который выполнил pkexec вместо этого?
Я уже попробовал print os.environ["SUDO_USER"]
но это перестало работать, так как это не выполняется непосредственно с sudo. Я нахожусь на надежном человеке теперь, но веду себя то же в 16,04.
Я зафиксировал его как это:
import pwd
import os
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)