我知道有办法做到这一点,但我只是把我最喜欢的一堆壁纸文件转储到了 /usr/share/backgrouds/ 中。为了让我的 Ubutnu 17.10 使用它们,我需要编辑 artful-wallpapers.xml 文件并将每个文件名添加到如下所示的语句中:
<wallpaper>
<name>calm</name>
<filename>/usr/share/backgrounds/02488_calm_1440x900.jpg</filename>
<options>zoom</options>
<pcolor>#000000</pcolor>
<scolor>#000000</scolor>
<shade_type>solid</shade_type>
</wallpaper>
一次完成一项工作非常漫长且繁琐,我确信我以前合并过数据,但我无论如何也想不起来该怎么做。
脚本会非常有用,或者至少可以作为教程的指导。
提前致谢。
杆
答案1
通过 Bash 脚本在文件夹中使用 XML 格式的文件名
您可以使用 bash 脚本轻松完成此操作。这将输出您需要的所有 xml,以便您可以将其复制/粘贴到 artful-wallpapers.xml 中。
此脚本将获取当前文件夹中的所有文件名并将其格式化为问题中的 XML。您可以轻松修改它以满足您的需求。
BASH 脚本
#!/bin/bash
shopt -s nullglob
arr=(*)
for i in "${arr[@]}"
do
if [ "$i" != "makeXML" -a ! -d "$i" ]
then
echo "<wallpaper>
<name>$i</name>
<filename>/usr/share/backgrounds/$i</filename>
<options>zoom</options>
<pcolor>#000000</pcolor>
<scolor>#000000</scolor>
<shade_type>solid</shade_type>
</wallpaper>
"
fi
done
如何使用它
在您的主文件夹中创建一个名为“壁纸”的文件夹,并将您想要使用的所有图像放在此文件夹中。
将上述脚本放在包含照片的文件夹 (~/wallpapers) 内名为 makeXML 的纯文本文件中。从终端运行:
$ cd ~/wallpapers
$ bash makeXML
将屏幕上的输出粘贴到壁纸标签内的 x-wallpapers.xml 文件中。
最后将所有图像从 ~/wallpapers 移动到 /usr/share/backgrounds 并删除壁纸文件夹。