Я написал сценарий для изменения фонового файла в Mate 17.04:
Сначала я однажды выполнил эту команду:
gsettings set org.gnome.desktop.background picture-uri file:///home/me/temp/background.jpg
Затем я запустил этот сценарий:
#/bin/bash
find -L ~/Pictures -name '*.jpg'>~/jpegs.text
while true ; do
convert `shuf -n 1 jpegs.text` -resize 1920x1080 ~/temp/background.jpg
sleep 60
done
Работал прекрасно до ??? Через 20 минут система зависает. Довольно неоднократно. Пропорционально быстрее, если сократить время сна.
Итак, я подумал, что запись в фоновый файл, когда система хотела что-то с ним сделать, может быть проблемой. Итак, я придумал следующее:
#/bin/bash
find -L ~/Pictures -name '*.jpg'>~/jpegs.text
while true ; do
convert `shuf -n 1 jpegs.text` -resize 1920x1080 ~/temp/backgroundtemp.jpg
gsettings set org.gnome.desktop.background picture-uri file:///home/john/temp/backgroundtemp.jpg
cp ~/temp/backgroundtemp.jpg ~/temp/background.jpg
gsettings set org.gnome.desktop.background picture-uri file:///home/john/temp/background.jpg
sleep 60
done
Эта версия помещает новое изображение во временный файл, а затем сообщает gsettings использовать этот файл. Затем он копирует его в «настоящий» файл и перенаправляет gsettings в «настоящий» файл, чтобы в следующий раз он не записывал в файл, который использует gsettings. Работал часами! Чудесно! Потом система снова зависла.
Обратите внимание: если сценарий не запущен, система не зависает.
Я что-то не так делаю? Если так, то. Думаю, дело не в сценарии. Возможно взаимодействие повторяющихся команд gsettings.
Edit: Забыл упомянуть. Freeze включает в себя все, кроме мыши.
Обновите до 17,10, зафиксировал его. Больше замораживания, не запуская скрипт.