Случайные обои в GNOME
- #!/usr/bin/bash
- # /home/user/.config/systemd/scripts/update-wallpaper
- wget -O "$(systemd-path user-pictures)/.wallpaper.jpeg" 'https://source.unsplash.com/1920x1080'
- # /home/user/.config/systemd/user/update-wallpaper.service
- [Service]
- Type=oneshot
- ExecStart=/home/user/.config/systemd/scripts/update-wallpaper
- # /home/user/.config/systemd/user/update-wallpaper.timer
- [Timer]
- Persistent=true
- [Install]
- WantedBy=timers.target
- # /home/user/.config/systemd/user/update-wallpaper.timer.d/override.conf
- [Timer]
- OnCalendar=hourly
Чтобы проверить работу, нужно:
1. Все коды положить в соответствующие им файлы (написаны в комментариях)
1.2. ВАЖНО: Нужно заменить /home/user на путь до вашей домашней директории (/home/oleg, /home/rak, итд). Это хардкод.
1.3. Скрипт update-wallpaper сделать исполняемым:
1.4. Обновить конфигурацию:
2. Выполнить скрипт update-wallpaper первый раз:
Файл скачается в папку картинок с именем .wallpaper.jpeg (обратите внимание на точку: файл скрытый)
3. В настройках GNOME поставить этот файл как обои или изображение экрана блокировки
4. Включить таймер на обновление файла:
Частота смены обоев настраивается в файле update-wallpaper.timer.d/override.conf. При текущей конфигурации обои будут обновляться каждый час.
Как это работает?
Если поставить какой-нибудь файл как обои в GNOME и потом этот файл заменить на новый, то GNOME автоматически заменит старые обои на новые. Этот хак используется для регулярного обновления обоев.
Скрипт update-wallpaper скачивает обои из https://source.unsplash.com/1920x1080 и сохраняет их в определённый файл. Когда это происходит, GNOME обновляет обои.
Запуск этого скрипта настроен в update-wallpaper.service, а запускает этот сервис таймер update-wallpaper.timer. Настройки частоты вызова скрипта вынесены в update-wallpaper.timer.d/override.conf как пользовательские настройки.
Заметки
Чтобы долго не искать файл где редактируются настройки частоты вызова скрипта, а открывать этот файл быстро, можно выучить команду systemctl edit:
1. Все коды положить в соответствующие им файлы (написаны в комментариях)
1.2. ВАЖНО: Нужно заменить /home/user на путь до вашей домашней директории (/home/oleg, /home/rak, итд). Это хардкод.
1.3. Скрипт update-wallpaper сделать исполняемым:
- chmod +x ~/.config/systemd/scripts/update-wallpaper
1.4. Обновить конфигурацию:
- systemctl --user daemon-reload
2. Выполнить скрипт update-wallpaper первый раз:
- systemctl --user start update-wallpaper.service
Файл скачается в папку картинок с именем .wallpaper.jpeg (обратите внимание на точку: файл скрытый)
3. В настройках GNOME поставить этот файл как обои или изображение экрана блокировки
4. Включить таймер на обновление файла:
- systemctl --user enable update-wallpaper.timer
- systemctl --user start update-wallpaper.timer
Частота смены обоев настраивается в файле update-wallpaper.timer.d/override.conf. При текущей конфигурации обои будут обновляться каждый час.
Как это работает?
Если поставить какой-нибудь файл как обои в GNOME и потом этот файл заменить на новый, то GNOME автоматически заменит старые обои на новые. Этот хак используется для регулярного обновления обоев.
Скрипт update-wallpaper скачивает обои из https://source.unsplash.com/1920x1080 и сохраняет их в определённый файл. Когда это происходит, GNOME обновляет обои.
Запуск этого скрипта настроен в update-wallpaper.service, а запускает этот сервис таймер update-wallpaper.timer. Настройки частоты вызова скрипта вынесены в update-wallpaper.timer.d/override.conf как пользовательские настройки.
Заметки
Чтобы долго не искать файл где редактируются настройки частоты вызова скрипта, а открывать этот файл быстро, можно выучить команду systemctl edit:
- systemctl --user edit update-wallpaper.timer