Поиск места установки переменной env

Поиск места установки переменной env

У меня проблема в том, что мой http_proxyтерминал неправильно настроен, когда я запускаю новый терминал:

» echo $http_proxy 
http://http://127.0.0.1:1234/

Что ... плохо. У меня где-то в настройках среды есть ошибка. Давайте попробуем ее найти. Для этого я покажу значение переменной в самом начале .bashrc. Я создаюновыйтерминал, и неправильное значение уже там, и я могу его увидеть:

http_proxy=http://http://127.0.0.1:1234/
» 

Хорошо, тогда одно из этих утверждений должно быть верным:

  1. процесс рабочего стола (тот, который запускает терминал) уже экспортирует неправильное значение,
  2. значение устанавливаетсяbash до .bashrcанализируется

Позвольте мне проверить среду родительского процесса текущей оболочки:

» pstree -ahp myuser
...
  ├─gnome-terminal-,3807
  │   ├─bash,3814
  │   │   └─pstree,17329 -ahp myuser

Давайте проверим среду родительского процесса gnome-terminal:

» cat /proc/3807/environ | tr \\0 \\n | grep -i http_proxy

Ничего, пшик, ничего!

Как насчет bash?

» cat /proc/3814/environ | tr \\0 \\n | grep -i http_proxy
HTTP_PROXY=http://http://127.0.0.1:1234/
http_proxy=http://http://127.0.0.1:1234/

Как и ожидалось, он там есть (это эквивалентно выполнению echo $http_proxy, конечно, или выполнению cat /proc/self/environ)

Итак, его нет в gnome-terminal, но он есть в bash. Его нужно установить где-то еще при загрузке bash,до .bashrc. Я тоже пытался проверить .profile, но безуспешно.

Что могло произойти раньше .bashrc? Какие еще идеи по отладке у вас есть?

Связанный контент