web-dev-qa-db-ja.com

カスタム.debパッケージからpostinstスクリプト内でgsettingsコマンドを実行するにはどうすればよいですか?

カスタム.debパッケージがインストールされたときに壁紙を変更したい。

Postinstスクリプトで、私はこれを書きました:


PID=$(pgrep gnome-session)


export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ | cut -d= -f2- )


dbus-launch gsettings set org.gnome.destkop.backgroun picture-uri “file:///path/photo.png”

Dconfの値が変更されているのがわかりますが、他には何も起こりません(壁紙は変更されていません)。ただし、私の写真は「gnome-control-centerbackground」の現在の壁紙として表示されます。 (wtf !! ??)。

さらに、ログアウトして再度ログインすると、何もしなかったかのように以前のdconf値が返されます。

私はおかしくなりそうだ。

ありがとう!

2
Osqui

.debインストーラー(したがってpostinstスクリプト)がルートから実行されるという事実を監視している可能性がありますか?壁紙はユーザーレベルで設定されます。

あなたが実際にやろうとしているのは、ユーザーに素敵な壁紙を「ルート」にすることです。

1
Jacob Vlijm