29.10.2021

Автоматическая смена обоев в MATE

Главная Форумы ОС, сети, софт, настройка, hack *nix системы Автоматическая смена обоев в MATE

  • Эта тема пуста.
Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #1182
    Аноним
    Неактивированный

    [center:e9l7w57x]Автоматическая смена обоев в MATE[/center:e9l7w57x]

    Как-то не особо давно супруга попросила сделать так, чтоб при запуске системы на рабочем столе каждый раз были бы новые обои. У неё MATE стоит в качестве окружения, и справляется с этой задачей на «отлично». Я написал скрипт, а сегодня нечаянно взял и пришиб его. Хочу в этом посте решить две проблемы:
    1.Сбекапить скрипт.
    2.Поделиться скриптом с читателем, вдруг кому пригодится.

    Настройки MATE представляют собой иерархическую структуру, которая закоренелому пользователю Windows будет напоминать Редактор реестра. Примечательно, что как и в случае с редактором реестра, для управления параметрами среды есть две утилиты — консольная и графическая: dconf работает в консоли, dconf-editor — графическая утилита. Ни дать, ни взять reg.exe и regedit.
    Но довольно аналогий. Нас интересует раздел

    /org/mate/desktop/background

    В нем есть строковый параметр picture-file, в который записывается путь к фоновому рисунку. Воспользуемся этим, и напишем скрипт, который:
    1.найдет в заданной папке случайный файл;
    2.запишет его в указанный выше параметр при помощи dconf.

    Результат:

    #!/bin/sh
    SAVEIFS=$IFS
    IFS=$(echo -en "nb")
    file=$(find ~/wallpapers -type f|shuf -n1)
    dconf write /org/mate/desktop/background/picture-filename "'$file'"
    IFS=$SAVEIFS

    $IFS нужно потрогать, чтобы скрипт корректно работал с файлами с кучей пробелов в названии.
    Сочетание find и shuf выдаёт нам в переменную $file случайный файл из /home/ваш логин/wallpapers.
    Как по мне, довольно элегантное и простое решение.
    Полученный скрипт надо сделать исполняемым (chmod +x) и добавить в автозагрузку. Ну или на cron повесить, чтобы обои менялись не только при перезагрузке.

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.