Мне нужно автоматизировать настройку рабочего стола через 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
Что я могу сделать?
У меня была эта же проблема при попытке сделать изменения gsettings для бродячего изображения через SSH во время подготовки.
Это решение https://askubuntu.com/a/326773 сделало трюк для меня w / o вся рыбалка для активного соединения и попытка обмануть окружающую среду. YMMV ...
У меня есть скрипт 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