У меня есть пакет rpm, который работает с правами sudo, это приложение хочет получить конфигурацию прокси-сервера машины (должно получить прокси-сервер конфигурацию уровня пользователей). Как мы знаем, мы можем установить конфигурацию прокси несколькими способами. В настоящее время я говорю о настройке прокси через Системные настройки> Настройки сети> Прокси
. Я использую список настроек gsettings рекурсивно org.gnome.system.proxy cmd, и он возвращает значения, но они относятся к текущему пользователю (в настоящее время я получаю текущую конфигурацию прокси-сервера пользователя root, потому что я установил приложение с помощью sudo). Я хочу получить конфигурацию прокси для каждого пользователя, включая пользователя root, из доступа пользователя root.
Было бы замечательно, если бы я получил какой-либо общий запрос, который выполняется в отношении системы настройки -> сеть -> сетевой прокси , и получаю конфигурацию прокси для пользователя sudo и других пользователей. Если GSettings не поддерживает, предложите альтернативные способы.
Это похоже на:
Для этой команды требуется сеанс dbus целевого пользователя, поэтому просто:
su имя пользователя -c "dconf load /"
недостаточно. Но к счастью, есть простой способ сделать это: загрузка dconf должен иметь префиксdbus-launch
, т.е.:sudo su username2 -c "dbus-launch dconf load /
Единственная проблема после этого — убить 2 вновь созданных процесса:
dbus-daemon
иdconf-service
, но это управляемо (их родительский это процессupstart
пользователя, вызывающего командуsudo
).
Из Комментария Анатолия в одном из моих ответов.
Вещи могут немного измениться:
Команда переведена на:
sudo su username2 -c "dbus-launch gsettings list-recursively org.gnome.system.proxy"
Вновь созданные процессы должны быть дочерними по отношению к новому процессу systemd init. С теми же именами dbus-daemon
и dconf-service
. Проверьте, используя:
sudo ps -aux | грэп...