И, наконец, ужасное отсутствие cron (черт возьми)! Другими способами изменения вносятся в gconf, но изображение не меняется. Может быть, это потому, что я использую DDE Deepin (dde использует тот же путь, другой ключ). Гадкий на помощь: последняя попытка заставить эту сагу работать.
С помощью этого сценария обои меняются каждые 420 секунд (7 минут) в бесконечном цикле, выбирая случайные обои из одного из 4 наборов (или каталогов) в зависимости от времени дня или ночи.
Я создал файл .desktop и добавил этот файл .desktop в "~/.config/autostart". Я также создал еще одну пару скрипт/рабочий стол без цикла, чтобы он был на моей док-станции, поэтому я могу щелкнуть по нему и изменить его на лету.
Настройте уродство: сохраните скрипт как wallpaperd где-нибудь и сделайте его исполняемым:
chmod +x обои
Теперь создайте папку Wallpaper внутри каталога Pictures. Внутри этой папки с обоями создайте еще 4 папки с названиями день, закат, утро и ночь. Поместите нужные файлы изображений в эти 4 каталога.
mkdir -p ~/Изображения/Обои/утро
mkdir ~/Изображения/Обои/день
mkdir ~/Изображения/Обои/ночь
mkdir ~/Изображения/Обои/duskdawn
обои
#!/bin/bash
for (( ; ; ))
do
me="MyUser" # Change me!
morning="morning"
afternoon="afternoon"
dawn="duskdawn"
night="night"
dusk="duskdawn"
now="morning"
hour=$(date +%R | sed 's/\:.*//')
if [ "$hour" -ge 7 ] && [ "$hour" -lt 12 ]
then
now="morning"
elif [ "$hour" -ge 12 ] && [ "$hour" -lt 17 ]
then
now="afternoon"
elif [ "$hour" -ge 17 ] && [ "$hour" -lt 18 ]
then
now="duskdawn"
elif [ "$hour" -ge 18 ] && [ "$hour" -le 23 ]
then
now="night"
elif [ "$hour" -ge 0 ] && [ "$hour" -lt 6 ]
then
now="night"
elif [ "$hour" -ge 6 ] && [ "$hour" -lt 7 ]
then
now="duskdawn"
fi
imgPath="/home/$me/Pictures/Wallpaper/$now/"
imgFile=$(ls -1 $imgPath | shuf -n 1 | awk '{print $NF}')
export bgNow=""$imgPath$imgFile""
# Deepin desktop
/usr/bin/gsettings set com.deepin.wrap.gnome.desktop.background picture-uri "$bgNow"
# Gnome desktop
#/usr/bin/gsettings set org.gnome.desktop.background picture-uri "$bgNow"
sleep 420
done
- Установите правильную команду gsettings для вашего рабочего стола в сценарии!
Wallyd.desktop
** Путь автозапуска: /home/YOUR_USER/.config/autostart/wallyd.desktop**
[Desktop Entry]
Categories=System;
Comment=Change Wallpapers Agent
Exec=/home/$USER/Bin/wallpaperd
Icon=computer
Name=Wally Daemon
NoDisplay=false
Terminal=false
Type=Application
- Измените путь к скрипту, чтобы он соответствовал пути, по которому вы сохранили скрипт.
Нет петли
Чтобы создать значок на рабочем столе без цикла, только чтобы изменить стену и выйти, сделайте следующее:
Сохраните скрипт как wallpaper (без буквы d в конце) и удалите следующие строки:
for (( ; ; ))
do
done
Используйте приведенный выше шаблон, чтобы создать еще один файл .desktop для этого незацикленного сценария обоев. Измените Имя и путь Exec для незацикленного скрипта.
Сохраните этот рабочий стол здесь:
/usr/доля/приложения/wally.desktop
Перетащите его на панель задач или в док-станцию. Нажмите на нее, и обои будут меняться на лету.
person
Mach Seven
schedule
01.12.2019