'http_proxy', не обнаруживающийся с 'printenv' на WSL

Я испытываю затруднения, заставляя зернышко работать позади корпоративного брандмауэра. Я добавил http и прокси https к моему /etc/environment файл, и если я выполняюсь echo "$HTTP_PROXY" это печатает правильную вещь. Однако, если я выполняюсь env или printenv ни одна из переменных прокси не обнаруживается. Я думаю, что это то, почему pip перестал работать также. Любое понимание ценилось бы. Мой /etc/environment файл похож

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
http_proxy="http://<stuff>.<stuff>.org:80"
HTTP_PROXY="http://<stuff>.<stuff>.org:80"
https_proxy="https://<stuff>.<stuff>.org:443"
HTTPS_PROXY="https://<stuff>.<stuff>.org:443"

И я добавил те же строки к моему ~/.bashrc файл также.

3
задан 2 November 2018 в 16:08

1 ответ

WSL не использует стек PAM при запуске оболочки (вход в систему или не), так основанные на PAM вещи сбой:

  • /etc/environment и ~/.pam_environment, читайте pam_env, не подавайте заявку (WSL № 1405)
  • значение по умолчанию umask от pam_umask не установлен (WSL № 352)
  • пределы от pam_limits (WSL № 1576)

Специально для параметров среды могло бы быть самым простым просто добавить параметры среды к .profile (при выполнении оболочек входа в систему) или .bashrc, с export.


Обычно, кажется, нет простого решения.

Вы могли войти в систему снова как Ваш пользователь:

sudo -iu "$USER"
su - "$USER"

Они должны загрузить конфигурацию PAM в /etc/pam.d/sudo или /etc/pam.d/su соответственно. Но они немного отличаются друг от друга и также отличаются от /etc/pam.d/sshd или /etc/pam.d/lightdm, так не все совпало бы с, если бы Вы вошли в фактическую систему Ubuntu через GUI или SSH.

(Оба sudo и su попросил бы пароли, но оба могут быть настроены для не просьбы пароли.)

4
ответ дан 1 December 2019 в 15:49

Другие вопросы по тегам:

Похожие вопросы: