Styli.sh — автоматическая смена обоев в Linux

О чём статья
- Краткое описание Styli.sh и что он делает
- Установка и основные команды
- Поддерживаемые окружения и альтернативы
- Настройка периодической смены через crontab
- Отладка, критерии приёмки и практические советы
Что такое Styli.sh?
Styli.sh — это простой bash-скрипт, который находит изображения по запросу на Unsplash или в указанном сабреддите и автоматически устанавливает одно из них как обои рабочего стола. Скрипт предназначен для пользователей, которые хотят быстро менять фон без установки тяжёлого ПО.
Определение термина: bash-скрипт — текстовый файл с командами для интерпретатора Bash, выполняющий автоматизированные задачи.
Требования и примечания
- Не нужны дополнительные пакеты, кроме Git (для клонирования репозитория).
- Для некоторых окружений может потребоваться feh (см. раздел ниже).
- Скрипт использует сетевые ресурсы (Unsplash/Reddit) — убедитесь, что интернет доступен.
Важно: скрипт не изменяет системные файлы — он скачивает изображение и устанавливает его через возможности окружения рабочего стола.
Установка (клонирование репозитория)
Откройте терминал и выполните:
git clone https://github.com/thevinter/styli.sh
cd styli.shПосле клонирования можно запускать ./styli.sh с нужными флагами.
Поддерживаемые окружения и команды
По умолчанию Styli.sh работает нативно с популярными окружениями. Запустите команду, соответствующую вашему окружению:
| Desktop Environment | Команда |
|---|---|
| GNOME | ./styli.sh -g |
| XFCE | ./styli.sh -x |
| KDE | ./styli.sh -k |
| Sway | ./styli.sh -y |
Если ваше окружение не поддерживается нативно, установите feh и запускайте скрипт без флагов окружения:
# пример для случаев, когда нужно feh
./styli.shFeh — лёгкий просмотрщик изображений для X11, который умеет устанавливать фон рабочего стола.
Основные флаги и примеры использования
- -s “поиск” — поиск по Unsplash по ключевому слову. Для фраз используйте кавычки.
- -r subreddit — получить случайное изображение из указанного сабреддита.
- -w WIDTH — ширина изображения в пикселях.
- -h HEIGHT — высота изображения в пикселях.
- -g, -x, -k, -y — флаги для конкретных окружений (GNOME, XFCE, KDE, Sway).
Примеры:
# Поиск по Unsplash
./styli.sh -s space
./styli.sh -s "snowy mountain"
# Изображение из сабреддита wallpapers
./styli.sh -r wallpapers
# Установка изображения в разрешении 4K
./styli.sh -w 3840 -h 2160Примечание: можно передать только один из флагов -w или -h — скрипт автоматически подстроит изображение по соотношению сторон.
Частые сценарии: Unsplash против Reddit
- Unsplash: хороший источник качественных фотографий по ключевым словам. Подходит для художественных и тематических поисков.
- Reddit: хороший выбор, если вы хотите обои из конкретных сообществ (например, r/wallpapers, r/EarthPorn).
Когда использовать что:
- Нужен универсальный, хорошо фотографированный фон — используйте Unsplash (-s).
- Нужен специфичный стиль/сообщество — используйте сабреддит (-r).
Настройка автоматической смены: crontab
Чтобы менять обои автоматически (например, каждый час), используйте cron.
Откройте crontab для редактирования:
crontab -eДобавьте строку (обратите внимание на полный путь к скрипту):
@hourly /полный/путь/к/репозиторию/styli.shПример: если вы клонировали в /home/user/styli.sh, строка будет
@hourly /home/user/styli.sh/styli.shВы также можете задать другое расписание, например, каждый день в 9:00:
0 9 * * * /home/user/styli.sh/styli.sh -s "morning landscape"Совет: используйте абсолютные пути и, при необходимости, перенаправляйте вывод в лог для отладки:
@hourly /home/user/styli.sh/styli.sh >> /home/user/styli.log 2>&1Отладка — что делать, если не работает
- Скрипт не запускается: проверьте права на исполнение
chmod +x ./styli.sh- Ошибка клонирования: проверьте, установлен ли Git и доступен ли интернет.
- Обои не применяются: убедитесь, что вы используете правильный флаг окружения (-g/-k/-x/-y) или установили feh для других окружений.
- Изображения не загружаются: возможно, блокировка сети или API-предупреждение со стороны сайта. Попробуйте вручную открыть Unsplash/Reddit.
- Cron не меняет обои: cron запускается в минимальной среде; используйте абсолютные пути и логирование.
Критерии приёмки
- Скрипт успешно клонирован и имеет права на исполнение.
- Одно из приведённых окружений (или feh) устанавливает фон без ошибок.
- При запуске с -s или -r скачивается изображение и меняется фон.
- Cron-задание выполняется в заданное время (проверяется по логам или видимой смене обоев).
Плейбук — быстрое руководство по развёртыванию (SOP)
- Клонировать репозиторий: git clone https://github.com/thevinter/styli.sh && cd styli.sh
- Дать права: chmod +x ./styli.sh
- Запустить тестовую команду для вашего окружения, например: ./styli.sh -g
- Если всё работает, добавить cron-строку с абсолютным путём и логированием.
- Мониторинг: проверяйте логи cron и при необходимости корректируйте флаги.
Шпаргалка флагов (чит-шит)
- ./styli.sh -g — GNOME
- ./styli.sh -x — XFCE
- ./styli.sh -k — KDE
- ./styli.sh -y — Sway
- ./styli.sh -s “запрос” — Unsplash по запросу
- ./styli.sh -r subreddit — случайное изображение из сабреддита
- ./styli.sh -w WIDTH -h HEIGHT — задать разрешение
Альтернативы и когда Styli.sh не лучший выбор
- Variety — более функциональный демон для смены обоев с GUI и расширенными настройками.
- nitrogen — простой менеджер обоев для X11.
- pywal — генерирует тему из текущего изображения (если нужно согласование цветов терминала/панелей).
Когда Styli.sh не подходит:
- Вам нужен GUI-интерфейс с визуальными настройками.
- Нужна интеграция с менеджером тем и автоматическая генерация цветовых схем.
Риски и приватность
- Скрипт получает изображения из внешних сервисов; это влияет на трафик и может раскрывать IP-адрес при обращении к ресурсам.
- Для корпоративных сетей проверьте политики использования внешних ресурсов.
Краткое резюме
Styli.sh — лёгкое решение для автоматической подстановки красивых обоев из Unsplash и Reddit. Удобно для тех, кто предпочитает минималистичные инструменты и запускает их через терминал или cron. Для расширенной функциональности можно рассмотреть специализированные приложения.
Важно: тестируйте команды вручную перед автоматизацией через cron и используйте абсолютные пути в расписании.
Похожие материалы
Поиск объектов в Фото на iOS 10
Расширенный поиск Twitter: операторы и шпаргалка
Отслеживание скорости сайта в Google Analytics
Как контролировать выдачу Google по вашему имени
Включить DLNA в Windows 10 — быстрый гайд