ルートから「gsettings set org.gnome.desktop.background picture-uri file_path」を使用すると機能しない

ルートから「gsettings set org.gnome.desktop.background picture-uri file_path」を使用すると機能しない

ルートから使用するとgsettings set org.gnome.desktop.background picture-uri file_path動作しませんが、別のユーザーから実行すると動作します。

crontab -u Anotheruser -e に入れても動作しません

私のOS: Ubuntu 16.04 LTS

最後まで試しましたが、できませんでした。

例 :

su - USER -c "command" 
# or ways sudo and su
crontab -u USER -e
DISPLAY=:1 ...
DISPLAY=:0 ...
DISPLAY=:0.0 ...
dbus-launch ...
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS= ...

助けてください!ありがとう

答え1

解決策を見つけた:

export DBUS_SESSION_BUS_ADDRESS=$(pgrep -a dbus-daemon -U USERNAME | grep -o 'unix:abstract.*$')
gsettings set org.gnome.desktop.background picture-uri FILE_ADDRESS

ANDをcrontabに追加します:

@reboot su USERNAME -c 'export DBUS_SESSION_BUS_ADDRESS=$(pgrep -a dbus-daemon -U USERNAME | grep -o "unix:abstract.*$");export DISPLAY=:0;gsettings set org.gnome.desktop.background picture-uri FILE_ADDRESS'

USERNAMEあなたのユーザー名とFILE_ADDRESSあなたの写真アドレスを置き換えてください

関連情報