更改背景文件可能会冻结 17.04。这有什么问题?

更改背景文件可能会冻结 17.04。这有什么问题?

我编写了一个脚本来更改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 命令的交互。

编辑:忘了提了。冻结包括除鼠标之外的所有内容。

答案1

升级到 17.10 解决了这个问题。运行脚本时不再冻结。

相关内容