Как gsettings взаимодействует и / или конфликтует с экспортированными переменными среды? (Ubuntu 20.04)

Я нахожусь за корпоративной брандмауэром и пытаюсь настроить свои параметры прокси, используя экспорт в сценарии оболочки, находящемся в / etc / profile .d / proxy.sh (см., например, Как установить общесистемный адрес прокси-сервера с помощью сценария оболочки? ).

При устранении неполадок в настройках я также внес изменения в «Сеть» «Графический интерфейс. Мне не удалось подключиться из-за ошибки, которую я представил в графическом интерфейсе« Сеть », которая, как я полагаю, могла переопределить правильную настройку в файле сценария proxy.sh.

Как gsettings взаимодействует и / или конфликтует с окружающей средой переменные, установленные сценариями, расположенными в /etc/profile.d/ или / etc / environment ? Какие настройки имеют приоритет в случае конфликта? Если я использую Ubuntu Desktop (т. е. ., среда графического интерфейса пользователя) предпочтительно редактировать переменные среды с помощью gsettings (либо из графического интерфейса, либо из сценария, который устанавливает gsettings), чтобы они были доступны в графическом интерфейсе (т. е. я отключил настройки прокси в графическом интерфейсе, потому что они противоречили мой скрипт, но теперь я не вижу настроек, установленных скриптом в графическом интерфейсе)? Будем очень признательны за любые мысли о передовой практике.

0
задан 14 October 2020 в 23:30

1 ответ

Поскольку я не смог найти надежные источники, я бы сказал : «Насколько мне известно, в текущих дистрибутивах 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://, это используется для возврата к автоопределению, если это необходимо

По умолчанию модули вызываются в следующем порядке:

  1. USER
  2. SESSION
  3. SYSTEM
  4. envvar
  5. wpad
  6. direct

Порядок внутри категории не определены и могут быть случайными. Если модуль говорит, что не может найти конфигурацию, следующий модуль пытался.

Порядок модулей можно указать вручную с помощью среды переменная (PX_CONFIG_ORDER). Порядок, указанный в этой переменной не заменяет внутренний порядок, а добавляется к нему.Таким образом, если вы хотите предпочесть (для форсирования модуля см. белый/черный список выше) использование envvar, вы должны указать следующее, которое поместит envvar первым в списке: export PX_CONFIG_ORDER=config_envvar

Вы также можете заблокировать порядок модулей для всех пользователей в системе используя /etc/proxy.conf. Эта функция еще не задокументирована (любая волонтеры!?).

Источник: https://github.com/libproxy/libproxy/wiki/HowTo#config-modules

1
ответ дан 27 November 2020 в 16:44

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

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