Я нахожусь за корпоративной брандмауэром и пытаюсь настроить свои параметры прокси, используя экспорт
в сценарии оболочки, находящемся в / etc / profile .d / proxy.sh
(см., например, Как установить общесистемный адрес прокси-сервера с помощью сценария оболочки? ).
При устранении неполадок в настройках я также внес изменения в «Сеть» «Графический интерфейс. Мне не удалось подключиться из-за ошибки, которую я представил в графическом интерфейсе« Сеть », которая, как я полагаю, могла переопределить правильную настройку в файле сценария proxy.sh.
Как gsettings взаимодействует и / или конфликтует с окружающей средой переменные, установленные сценариями, расположенными в /etc/profile.d/
или / etc / environment
? Какие настройки имеют приоритет в случае конфликта? Если я использую Ubuntu Desktop (т. е. ., среда графического интерфейса пользователя) предпочтительно редактировать переменные среды с помощью gsettings (либо из графического интерфейса, либо из сценария, который устанавливает gsettings), чтобы они были доступны в графическом интерфейсе (т. е. я отключил настройки прокси в графическом интерфейсе, потому что они противоречили мой скрипт, но теперь я не вижу настроек, установленных скриптом в графическом интерфейсе)? Будем очень признательны за любые мысли о передовой практике.
Поскольку я не смог найти надежные источники, я бы сказал : «Насколько мне известно, в текущих дистрибутивах GNU/Linux и BSD нет глобальной настройки для PROXY. Приложение конечного пользователя может использовать или игнорировать настройку прокси на любом уровне: переменные среды, среда рабочего стола, конфигурация .. . Аналогичный случай с DNS»
Итак, для многих сетевых инструментов (таких как: apt, firefox, wget, ...) у них есть свои собственные настройки прокси и список приоритетов.
Если вы ищете инструмент из Gnome Desktop Environment. Тогда, вероятно, это самая интересная часть:
gnome-core → glib-networking → libproxy1v5
Модули конфигурации
Модули конфигурации читают конфигурацию прокси из источника. Каждый модуль конфигурации имеет тип. Есть три конфига типы: SYSTEM Определяет конфигурацию общесистемного base USER Определяет конфигурацию для всего пользователя
SESSION Определяет конфигурацию для текущего входа в систему. только сеанс. Модуль также может не иметь типа конфигурации.Источники модуля конфигурации (по состоянию на 0.4.15): прямые всегда возвращайте direct://, это глобальный запасной вариант
envvar читает переменные среды http_proxy, https_proxy, ftp_proxy и no_proxy gnome читает gconf (SESSION) gnome3 читает gsettings (SESSION) kde читает kconfig (SESSION) wpad всегда возвращает wpad://, это используется для возврата к автоопределению, если это необходимоПо умолчанию модули вызываются в следующем порядке:
- USER
- SESSION
- SYSTEM
- envvar
- wpad
- direct
Порядок внутри категории не определены и могут быть случайными. Если модуль говорит, что не может найти конфигурацию, следующий модуль пытался.
Порядок модулей можно указать вручную с помощью среды переменная (PX_CONFIG_ORDER). Порядок, указанный в этой переменной не заменяет внутренний порядок, а добавляется к нему.Таким образом, если вы хотите предпочесть (для форсирования модуля см. белый/черный список выше) использование envvar, вы должны указать следующее, которое поместит envvar первым в списке:
export PX_CONFIG_ORDER=config_envvar
Вы также можете заблокировать порядок модулей для всех пользователей в системе используя /etc/proxy.conf. Эта функция еще не задокументирована (любая волонтеры!?).
Источник: https://github.com/libproxy/libproxy/wiki/HowTo#config-modules