Styli.sh — автоматическая смена обоев из Unsplash и Reddit
Что такое Styli.sh?
Styli.sh — это лёгкий bash-скрипт, который ищет изображения по заданному ключевому слову на Unsplash или в указанном субреддите Reddit и устанавливает найденную картинку как обои рабочего стола. Скрипт не требует сложной установки: достаточно клонировать репозиторий и запустить скрипт в терминале.
Краткое определение: скрипт отправляет HTTP-запросы к источникам изображений, скачивает файл и вызывает команду окружения рабочего стола для установки обоев.
Установка
Откройте терминал и клонируйте репозиторий с GitHub (требуется установленный git):
git clone https://github.com/thevinter/styli.sh
cd styli.shВажно: сам скрипт написан на bash и дополнительных пакетов не требует, но для клонирования нужен git. Если вы используете окружение без X11, обратите внимание на раздел совместимости ниже.
Установка обоев через Styli.sh
По умолчанию Styli.sh умеет работать в популярных окружениях рабочего стола. Выполните соответствующую команду в каталоге со скриптом:
| Desktop Environment | Command |
|---|---|
| GNOME | ./styli.sh -g |
| XFCE | ./styli.sh -x |
| KDE | ./styli.sh -k |
| Sway | ./styli.sh -y |
Если ваше окружение не указано в таблице, установите feh (требуется X11) и запускайте скрипт без опций:
./styli.shfeh — лёгкий просмотрщик изображений для X11. Он умеет устанавливать фоновое изображение из терминала и часто используется в минималистичных окружениях.
Поиск обоев по ключевому слову (Unsplash)
Чтобы искать изображения на Unsplash по заданному термину, используйте флаг -s. Для нескольких слов заключайте фразу в кавычки:
./styli.sh -s space
./styli.sh -s "snowy mountain"Флаг -s задаёт поисковый запрос; скрипт выберет случайную подходящую картинку и установит её как фон.
Получение обоев из субреддита
Чтобы взять случайное изображение из конкретного субреддита, используйте флаг -r и укажите имя субреддита:
./styli.sh -r wallpapersСкрипт пройдётся по постам субреддита, выберет подходящие ссылки на изображения и применит случайный вариант.
Пользовательская ширина и высота изображения
По умолчанию используется разрешение 1920×1080. Для кастомной ширины и высоты задавайте флаги -w и -h соответственно. Например, для 4K:
./styli.sh -w 3840 -h 2160Не обязательно задавать оба параметра: если задать только один, изображение будет масштабировано с сохранением соотношения сторон.
Автообновление обоев через crontab
Cron позволяет запускать команды регулярно. Чтобы менять обои автоматически, добавьте задачу в crontab:
crontab -eИ добавьте строку (пример — раз в час):
@hourly /path/to/script/styli.shЗамените /path/to/script на реальный путь к каталогу со скриптом. Вы также можете использовать другие форматы cron для дневных или еженедельных обновлений.
Playbook: быстрая настройка автосмены (шаги):
- Убедитесь, что скрипт исполняемый:
chmod +x styli.sh. - Пропишите полный путь в crontab (абсолютные пути важны в cron).
- Тестово запустите скрипт вручную и проверьте логи/ошибки.
- Если cron не применяет изменения, добавьте путь к bash в crontab:
@hourly /usr/bin/env bash /путь/styli.sh.
Как это работает — мини-методология
- Запросы: скрипт формирует HTTP-запрос к Unsplash (по ключевому слову) или парсит ссылки в указанном субреддите.
- Скачивание: выбранное изображение скачивается во временную папку.
- Установка: в зависимости от окружения вызывается соответствующая команда (GNOME/KDE API, feh для X11, swaybg для Sway и т.д.).
- Очистка: временные файлы удаляются или перезаписываются при следующем запуске.
Когда Styli.sh не подойдёт
- Вы используете чистый Wayland и не используете Sway — многие инструменты для установки фона рассчитаны на X11.
- На рабочем месте есть ограничения сети или прокси, блокирующие доступ к Unsplash/Reddit.
- Вы хотите сложную систему динамических обоев с расписанием по времени суток и плавными переходами (см. альтернативы).
- Требуется централизованное управление обоями для большого количества машин — лучше использовать конфигурационные инструменты и централизованные репозитории.
Альтернативные подходы и инструменты
- Variety — менеджер обоев с поддержкой онлайн-источников и расписания.
- nitrogen — простой инструмент для установки фоновых изображений в X11 (ручной выбор каталога).
- Wallch — GUI-приложение для смены обоев с расписанием.
- Собственные cron-скрипты с использованием curl/wget + вызов команд окружения.
Каждый инструмент имеет свои преимущества: если вам нужна GUI-конфигурация — выбирайте Variety или Wallch; если вы предпочитаете минимализм и скрипты — Styli.sh или набор утилит с feh подойдут лучше.
Чек-лист по ролям
Desktop user:
- Убедитесь, что git установлен.
- Клонируйте репозиторий и протестируйте скрипт вручную.
- Настройте crontab при необходимости.
Power user:
- Настройте опции поиска (
-s), субреддит (-r) и размеры (-w,-h). - Автоматизируйте запуск в systemd user timer если нужен более гибкий график.
- Настройте опции поиска (
Системный администратор:
- Проверить сетевые политики (доступ к external API).
- При массовом развёртывании используйте централизованный репозиторий изображений и локальный прокси.
Совместимость и советы по миграции
- X11: feh и большинство существующих методов установки обоев работают корректно.
- Wayland: поддержка может быть ограничена; Sway поддерживается, другие композиторы могут требовать собственных утилит.
- Файловая система: используйте абсолютные пути в cron и systemd для надёжности.
Шпаргалка — часто используемые команды
./styli.sh -g # GNOME
./styli.sh -x # XFCE
./styli.sh -k # KDE
./styli.sh -y # Sway
./styli.sh -s "sunset beach" # Поиск по Unsplash
./styli.sh -r wallpapers # Случайное из субреддита
./styli.sh -w 2560 -h 1440 # Задать разрешение
crontab -e # Редактировать cron
@hourly /abs/path/styli.sh # Пример задания cronФакт-бокс
- По умолчанию: разрешение 1920×1080.
- Поддерживаемые окружения: GNOME, KDE, XFCE, Sway (из коробки).
- Для прочих окружений часто требуется feh (X11).
Краткое резюме
Styli.sh — лёгкий и удобный способ автоподбора обоев из Unsplash и Reddit. Он хорош, если вы хотите простую автоматизацию без тяжёлых зависимостей. Для продвинутых сценарием рассмотрите systemd timers, локальные репозитории изображений или более функциональные менеджеры обоев.
Примечание: если при запуске скрипта возникают ошибки, сначала проверьте права на исполнение и наличие сетевого доступа к Unsplash/Reddit.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone