gsettings 更改无法通过 ssh 运行

Gov*_*kar 5 ssh gsettings

我正在尝试设置从sshidle timeout使用。Ubuntu 14.04gsettings

我使用的命令是这样的

dbus-launch gsettings set org.gnome.desktop.session idle-delay 600

dbus-launch gsettings set org.gnome.desktop.screensaver lock-delay 0

dbus-launch gsettings set org.gnome.desktop.screensaver lock-enabled true

dbus-launch gsettings set org.gnome.desktop.screensaver idle-activation-enabled true

在不同周期执行命令后,timeout更改正在发生,但这些超时更改在重新启动或注销后会丢失。

这是否可以使超时更改在重新启动/注销时持续存在。

tyl*_*eha 2

基本上,当您使用 启动新的 dbus 实例时dbus-launch,您会通过启动新的 dbus 将配置保存到错误的位置。虽然添加dbus-launch到调用的开头gsettings将删除任何错误消息,但您将不会保存更改。

目标用户存在一个现有的 dbus 进程,并且通过 ssh 您的终端不会收到用于解决该问题的正确环境变量。

通过 ssh 编辑 gsettings 的正确方法是首先识别DBUS_SESSION_BUS_ADDRESS现有 dbus 进程并将其设置为环境变量。因此:

PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ)
# And now:
gsettings set org.gnome.desktop.session idle-delay 600
Run Code Online (Sandbox Code Playgroud)