Найти в Дзене
Герман Геншин

Мой рабочий стол навсегда изменился: как я полностью автоматизировал смену обоев в Ubuntu и теперь не представляю жизни без этого!

Оказывается, создать собственную систему автоматической смены обоев для GNOME гораздо проще, чем кажется! Всё, что мне понадобилось — обычный терминальный редактор вроде nano и стандартный таймер. Сейчас покажу, как всё это реализуется на Ubuntu. Автоматическая смена обоев — отличный способ придать GNOME индивидуальность. Я сам выбирал, как часто менять картинки: хоть каждую секунду, минуту, час, день или неделю. Можно подбирать самые разные темы — от аниме и природы до автомобилей или абстракций. Самое приятно — никаких сторонних плагинов: всё уже есть в вашем GNOME! Давай разбираться, как это сделать. Поскольку nano установлен почти во всех популярных дистрибутивах Linux, проще всего сразу создать отдельную папку для проекта. Это можно сделать через файловый менеджер или командой mkdir в терминале. У меня папка называется, например, «Обои GNOME». Переходим в созданную папку командой cd и внутри делаем ещё одну, например, «HD Wallpapers». Заходим на Unsplash или любой другой сайт с б
Оглавление

Оказывается, создать собственную систему автоматической смены обоев для GNOME гораздо проще, чем кажется! Всё, что мне понадобилось — обычный терминальный редактор вроде nano и стандартный таймер. Сейчас покажу, как всё это реализуется на Ubuntu.

Зачем довольствоваться унылым рабочим столом, если можно превратить его в постоянно обновляющуюся галерею?

Автоматическая смена обоев — отличный способ придать GNOME индивидуальность. Я сам выбирал, как часто менять картинки: хоть каждую секунду, минуту, час, день или неделю. Можно подбирать самые разные темы — от аниме и природы до автомобилей или абстракций. Самое приятно — никаких сторонних плагинов: всё уже есть в вашем GNOME! Давай разбираться, как это сделать.

Готовим рабочую папку для проекта в Ubuntu

Поскольку nano установлен почти во всех популярных дистрибутивах Linux, проще всего сразу создать отдельную папку для проекта. Это можно сделать через файловый менеджер или командой mkdir в терминале. У меня папка называется, например, «Обои GNOME».

Переходим в созданную папку командой cd и внутри делаем ещё одну, например, «HD Wallpapers». Заходим на Unsplash или любой другой сайт с бесплатными изображениями, и загружаем туда любые понравившиеся HD-обои.

Скрипт работает с картинками в форматах .jpg, .jpeg и .png, так что просто скачивай нужные файлы в этих форматах.

На этом этапе подготовка закончена. Теперь начинается самое интересное — автоматизация смены обоев с помощью своих любимых картинок.

Делаем свой движок для смены обоев из локальных файлов

Открываем терминал, переходим в папку «Обои GNOME» с помощью cd и создаём новый Python-файл — например, «Wallpaper_changer.py». Копируй туда следующий код и не забудь сохранить изменения.

В nano: для сохранения — Ctrl + O и Enter, чтобы выйти — Ctrl + X.

Делаем файл исполняемым через команду chmod и запускаем.

Теперь каждый раз, когда запускаешь скрипт — обои автоматически меняются на одну из загруженных картинок.

У нас уже получился простой инструмент для смены локальных обоев, но почему бы не расширить его и не научить автоматически подтягивать свежие фото из интернета?

Подключаем Unsplash API и получаем обои на свой вкус!

Дорабатываем скрипт так, чтобы он использовал не только скачанные изображения, но и автоматически загружал их с Unsplash. Вероятность каждого варианта — 50:50.

Недавно Unsplash отключил функцию Unsplash Source, поэтому теперь нужен бесплатный API-ключ. Зарегистрируйся на Unsplash, перейди в раздел для разработчиков, создай приложение, прими условия и получи ключ доступа.

Ограничения бесплатного тарифа — максимум 50 запросов в час. Чтобы не выбиться из лимита, я поставил смену обоев каждые 2 минуты. Совету: при регистрации не используй в названии приложения слова вроде ‘wallpaper’ или ‘image’, а выбери что-то нейтральное, например, HTG1.

Иногда на некоторых версиях GNOME Pythonу бывает сложно подключиться к интернету. Для стабильной работы я поставил нужную библиотеку через apt.

Открывай свой «Wallpaper_changer.py» в nano и замени код на обновлённый (см. ниже). В новом варианте реализована случайная логика: или загружается локальная картинка, или свежая фотография с Unsplash!

Сохраняем, снова делаем исполняемым — и тестируем!

Теперь при каждом запуске обои либо выбираются из твоей коллекции, либо подгружаются актуальные фото с Unsplash. Если интернета нет — программа просто поставит одну из локальных картинок.

Автоматизация на максимум: настраиваю systemd и забываю про ручную смену обоев!

Вот здесь начинается настоящая магия автоматизации — с помощью systemd! Открываю терминал и через nano создаю новый юнит-сервис.

Вписываю нужную конфигурацию: указываю, что запускать, под каким пользователем и где найти твой Python.

Число 1000 — это обычно ID первого пользователя в Ubuntu. Чтобы узнать свой, напиши в терминале id -u. Если там другое значение (например, 1001) — не забудь поменять эту строчку, иначе скрипт может не работать.

Сохраняем юнит, теперь создаём отдельный файл таймера (тоже через nano) и прописываем там конфиг таймера.

Остаётся только всё активировать: перезапустить демона systemd и включить таймер. Готово! Теперь обои будут меняться автоматически каждые 2 минуты, а проверить статус работы — проще простого через journalctl или systemctl status.

Почему я забыл про Cron и полностью перешёл на systemd-таймеры в Ubuntu

Cron — это прошлый век! С systemd-таймерами ты получаешь гибкость, полный контроль журналов, зависимостей и можешь запускать скрипты хоть через минуту после загрузки системы.

Поздравляю! Теперь твой рабочий стол GNOME живёт своей жизнью — автоматически сменяет локальные и свежие обои с Unsplash. Всё работает само, никаких лишних усилий и больше никаких устаревших инструментов!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: