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