gsettings没有在ssh上工作

我正在尝试使用以下命令更改远程计算机上的Unity Launcher图标:

gsettings set com.canonical.Unity.Launcher favorites ... 

它完美无缺

但是,当我这样做

 ssh 127.0.0.1 gsettings set com.canonical.Unity.Launcher favorites ... 

我明白了:

  (process:9616): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line `dbus-launch --autolaunch=aaa5bb6eaa7cd50f2af1f10000000004 --binary-syntax --close-stderr': Child process exited with code 1 

这就是来自ssh的任何gsettings调用。
问题出在哪儿?

我不认为dbus在远程ssh会话中运行。 你需要自己启动它,但这很容易做到:

 dbus-launch gsettings set com.canonical.Unity.Launcher favorites ... 

还要确保用户是正确的,您可以为其他用户设置设置(如果这是您正在做的事情),如下所示:

 sudo -u other dbus-launch gsettings set com.canonical.Unity.Launcher favorites ... 

以上假设用户正在更改“其他”设置,并根据需要进行更改。

如果存在属于用户的正在运行的dbus / X会话,则可以设置DISPLAY变量,例如

 $ gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg' ** (process:28787): WARNING **: Command line `dbus-launch --autolaunch=ab102316d96f4621a2f3ccef0000000b --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n ** (process:28787): WARNING **: Command line `dbus-launch --autolaunch=ab102316d96f4621a2f3ccef0000000b --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n 

 $ DISPLAY=:1 gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg' $ $ DISPLAY=:1 gsettings get org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg' 

请注意,我的显示为:1在这种情况下 – 主要桌面通常为:0