루트에서 "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 : 우분투 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

그리고 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사진 주소로 바꾸세요.

관련 정보