Как изменить Gsettings через удаленную оболочку?

Мне нужно автоматизировать настройку рабочего стола через Puppet, виртуальный терминал или ssh.

К сожалению, вызов gsettings через ssh или виртуальный терминал дает:

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hsize "4"

(process:29520): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

Когда я установите $DISPLAY с export DISPLAY=:0.0, он дает другую ошибку:

(process:29862): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused

Что я могу сделать?

1
задан 28 April 2014 в 18:33

2 ответа

У меня была эта же проблема при попытке сделать изменения gsettings для бродячего изображения через SSH во время подготовки.

Это решение https://askubuntu.com/a/326773 сделало трюк для меня w / o вся рыбалка для активного соединения и попытка обмануть окружающую среду. YMMV ...

4
ответ дан 24 May 2018 в 08:29

У меня есть скрипт POST-Install, который устанавливает мой gsetting. Поскольку я запускаю сценарий как sudo, EUID равен 0, я должен найти $ RUID (Real User ID).

вот мой подход:

#!/usr/bin/env bash
# Get the Real Username
RUID=$(who | awk 'FNR == 1 {print $1}')

# Translate Real Username to Real User ID
RUSER_UID=$(id -u ${RUID})

# Set gsettings for the Real User
sudo -u ${RUID} DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUSER_UID}/bus" gsettings set org.gnome.desktop.interface clock-show-date false

exit
-1
ответ дан 24 May 2018 в 08:29
  • 1
    Идентификатор пользователя уже сохранен в переменной среды $USER и ваш UID в переменной $UID. При запуске sudo они находятся в переменных $SUDO_USER и $SUDO_UID. Тем не менее, почему бы вам даже запустить это с sudo в первую очередь? Использование sudo -u $YOUR_USER аналогично использованию sudo. Наконец, ваша команда who | awk . . . не получает вашего ID, он печатает все идентификаторы всех пользователей, которые в настоящее время вошли в систему. – terdon♦ 7 November 2017 в 13:28

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

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