Рейтинг:0

Ubuntu: чтение переменной env локального пользователя в службе

флаг jp

У меня есть служба Linux, работающая на моей машине с Ubuntu. на этой машине мне нужно прочитать значения переменных среды настройки прокси (например, https_proxy, http_proxy, no_proxy и т. д.) для текущего пользователя, вошедшего в систему.

когда я пытаюсь прочитать https_proxy из своего кода службы, он печатается как пустая строка, но когда я печатаю с терминала, значения верны.

Я думаю, что служба не может его прочитать, потому что она работает от имени пользователя root. Есть ли способ, который может помочь в чтении переменных env локального пользователя из службы, работающей с привилегиями root?

ChanganAuto avatar
флаг us
Какой сервис и переменные?
VikasPushkar avatar
флаг jp
это моя собственная служба, и я пытаюсь читать переменные env прокси.
флаг hr
*Пользователи* не имеют среды как таковой — они являются собственностью *процессов*. Вы *можете* иметь возможность прочитать текущую среду вошедшего в систему пользователя, найдя PID процесса в его сеансе, а затем прочитав `/proc//environ`, возможно используя `sudo -u `, чтобы предоставить доступ для чтения.
waltinator avatar
флаг it
Попросите вашего пользователя записывать переменные и их значения в файл всякий раз, когда вы их изменяете (автоматизируйте это). Попросите вашу службу прочитать этот файл. Возможно, использовать `/run/local_env`?
VikasPushkar avatar
флаг jp
@steeldriver файл процесса в /proc//environ не имеет http_proxy/https_proxy/no_proxy ... я что-то здесь упустил?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.