web-dev-qa-db-ja.com

gsettingsがsshで機能しない

次のコマンドを使用して、リモートコンピューター上のUnityランチャーアイコンを変更しようとしています。

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呼び出しのためのものです。
問題はどこにありますか?

14
Sergey

Dbusがリモートsshセッションで実行されているとは思わない。自分で起動する必要がありますが、それは非常に簡単です。

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

また、ユーザーが正しいことを確認し、次のように別のユーザーの設定を行うことができます(それが目的の場合)。

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

上記では、設定を変更するユーザーが「その他」であると想定しています。必要に応じて変更します。

21
mfisch

isユーザーに属する実行中の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になります

1
steeldriver