m4ly

gsettings change background every user gnome-session

Jul 2nd, 2016
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.77 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Dawid Mocek
  4. # Req. gnome-session needs to be running(check ps aux |grep gnome-session)
  5.  
  6. BACKGROUND="/usr/share/backgrounds/zso.jpg"
  7. PIDS=$(pgrep gnome-session)
  8.  
  9. for PID in $PIDS; do
  10.  
  11.     BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ | cut -d= -f2-)
  12.     BUS_USER=$(grep -z USER /proc/$PID/environ | cut -d= -f2-)
  13.     # echo $PID" "$BUS_ADDRESS" "$BUS_USER
  14.     su --login $BUS_USER  <<EOF
  15. export DBUS_SESSION_BUS_ADDRESS=$BUS_ADDRESS
  16. if [[ $(gsettings get org.gnome.desktop.background picture-uri) != "'file://"$BACKGROUND"'" ]]; then gsettings set org.gnome.desktop.background picture-uri file://$BACKGROUND; fi
  17. EOF
  18. # ^ Przed markerem EOF i pomiedzy <<EOF [...]EOF przed komendami w bloku zawartymi nie moze byc bialego znaku !
  19. done
Advertisement
Add Comment
Please, Sign In to add comment