Когда-то давно я задался целью сделать из своей малины мультимедиа-центр, который играл бы музыку, выполнял различные фоновые процессы и выводил всякое-полезное на экран. И была у меня тогда мысль что не плохо было бы, чтобы когда играет музыка - на экране отображалась оболожка альбома того трека, что звучит. Вот здесь я создавал тему с вопросом как что-то подобное можно реализовать? Ниже я продемонстрирую что из всего этого вышло и как я этого добился... Первым делом я хотел разобраться как сменить обои рабочего стола по команде. Гуглопоиск привёл меня вот к такому решению: Запускаем терминал и вводим команду: "xfconf-query -c xfce4-desktop -m" Вносим изменения (в моём случае - меняем обои рабочего стола через графический интерфейс) и получаем вот такой вывод: "установить: /backdrop/screen0/monitorVGA-1/workspace0/last-image" Теперь, чтобы сменить обои из терминала - достаточно воспользоваться командой "xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s ~/Pictures/Background.jpeg", где ключ -p равен тому выводу, что мы получили ранее, а ключ -s - равен пути к изображению. Далее - нужно получить список изображений, которые я хочу видеть в качестве обоев. По задумке - это должны быть обложки альбомов. При помощи утилиты Mp3Tag и Wine импортирую обложки альбомов: Действия-быстро --> Импортировать обложку из файла --> Формат-строка: "$validate($trim(%artist%)' - '$trim(%ALBUM%),%DUMMY%)" Таким образом я получаю изображения, вшитые в файл в формате Исполнитель - альбом.jpg. А теперь - магия. Пишу сценарий на смену обоев. В моём случае он вот такой: Код (Bash): #!/bin/bash # Задаю переменные: mocp_artist=`mocp -Q %artist` mocp_album=`mocp -Q %album` albumartist="${mocp_artist} - ${mocp_album}" # Условие выполнения сценария: Если существует файл, имя которого совпадает с форматом "Исполнитель - альбом" трека, который воспроизводится при помощи MOCP, тогда... if [ -f ~/Рабочий\ стол/covers/"${albumartist}".* ]; then # Установить этот файл в качестве обоев рабочего стола xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorVGA-1/workspace0/last-image -s ~/Рабочий\ стол/covers/"${albumartist}".* # В противном случае - установить в качестве обоев конкретное изображение else xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorVGA-1/workspace0/last-image -s /usr/share/backgrounds/Artist/default.jpg fi Теперь, если запущен какой нибудь трек в MOCP, обложка этого трека находится в указанной в скрипте директории и я выполняю этот сценарий - обоина изменяется. Сначала я хотел выполнять этот скрипт зацикленно с интервалом в несколько секунд, но потом нашёл ещё более элегантное решение. Оказывается MOCP умеет выполнять сценарии при смене трека. Это - как раз то, что мне нужно. Открываю файл "~/.moc/config", нахожу параметр "OnSongChange =" и указываю путь до моего скрипта. Таким образом - каждый раз, когда плеер запускает новый трек - срабатывает сценарий и обоина либо меняется на обложку альбома, либо нет. Кстати, музыка, которую играет моя малина ещё и транслируется на Last.fm, что помогает мне в поиске похожих по стрилю исполнителей.