如何增加 11.10 中菜单上显示的壁纸数量,以便使用背景自定义桌面?
我以根用户身份向相应文件夹添加了更多图像/usr/share/background
,但列表并未保留。
11:10 中的图像单独更改。所以我想添加资金来增强环境。当我将图像复制到文件夹时,/usr/share/backgrounds
列表会更新和增加。但仅限于第一次。此后,系统会忽略其他图像,资金列表将恢复为原始状态。
有什么帮助吗?
答案1
答案2
好吧,我想我找到了答案。首先,你应该拥有/usr/share/backgrounds
并/usr/share/backgrounds/contest/precise.xml
使用chown
命令。然后您可以将您喜欢的图像复制到/usr/share/backgrounds
。然后您可以修改它precise.xml
以完成您想要的工作。
在文本编辑器中打开precise.xml
。假设您要添加的图像名为ABSTRACT-AnotherBlue_1024x768.png
。那么您应该复制正文程序的一部分并对其进行如下修改:
<static><duration>1795.0</duration>
<file>/usr/share/backgrounds/ABSTRACT-AnotherBlue_1024x768.png</file></static
<transition><duration>5.0</duration>
<from>/usr/share/backgrounds/Twilight_Frost_by_Phil_Jackson.jpg</from>
<to>/usr/share/backgrounds/Twilight_Frost_by_Phil_Jackson.jpg</to></transition>
请注意,下一个图像名称是Twilight_Frost_by_Phil_Jackson.jpg
,因此您应该在之前复制此部分:
<static><duration>1795.0</duration>
<file>/usr/share/backgrounds/Twilight_Frost_by_Phil_Jackson.jpg</file></static>
<transition><duration>5.0</duration
<from>/usr/share/backgrounds/Twilight_Frost_by_Phil_Jackson.jpg</from>
<to>/usr/share/backgrounds/Precise_Pangolin_by_Vlad_Gerasimov.jpg</to></transition>
现在保存并退出。然后重新启动计算机。您就完成了!
答案3
我编写了一个 perl 脚本来构建 xml 文件。因此,如果您的目录中有大量图像,并且您想将它们用作全天变化的背景,您只需运行一次即可构建列表。
#! /usr/bin/perl
use strict;
use warnings;
# Change the value below to the directory where you images are stored!
my $dir = "/~/Pictures/backgrounds";
my $transition_duration = '5.0';
my $duration = '1795.0';
# Change the value below to the xml file to build.
my $bg_list_file = "/usr/share/backgrounds/contest/saucy.xml";
my @pictures;
opendir(DIR, $dir) or die $!;
while (my $file = readdir(DIR)){
next unless (-f "$dir/$file");
push @pictures, $file;
}
my $last_file;
open (my $fh, '>', $bg_list_file) or die "Could not open file '$bg_list_file' $1";
print $fh " <background>\n\t<starttime>\n\t\t<year>2009</year>\n\t\t<month>08</month>\n\t\t<day>04</day>\n\t\t<hour>00</hour>\n\t\t<minute>00</minute>\n\t\t<second>00</second>\n\t</starttime>\n";
foreach my $pic (@pictures){
my $xml = "\t<static>\n\t\t<duration>$duration</duration>\n\t\t<file>$dir/$pic</file>\n\t</static>";
if (defined $last_file and length $last_file){
$xml = "\t<transition>\n\t\t<duration>$transition_duration</duration>\n\t\t<from>$dir/$last_file</from>\n\t\t<to>$dir/$pic</to>\n\t</transition>\n$xml";
}
$last_file = $pic;
print $fh "$xml\n";
}
print $fh "</background>";
close $fh;
exit;
希望能帮助到你!
答案4
您可以安装gnome-backgrounds
软件包以获取上游 GNOME 附带的软件包。如果您想在控制中心的主“壁纸”列表中添加更多内容,而不是只让它们显示在下拉列表中的“图片”选项下,您可以将它们打包并在目录中创建一个 XML 文件$XDG_DATA_HOME/gnome-background-properties
,例如bjnobrega-wallpapers.xml
,类似于 中存在的其他 XML 文件/usr/share/gnome-background-properties
。如果您查看一个文件,您应该很清楚您需要做什么。图像本身可以位于文件系统上的任何位置,只要您可以读取它们即可。
为了让它们出现在“图片”列表下,您可以将它们放入“图片”文件夹的任意位置(我认为通常是 ~/Pictures),它们就会显示出来。或者您可以单击列表下的 [+] 图标,然后选择多张图片,它们都会显示在“图片”标题下。