任何操作系统的任何新用户都喜欢做的第一个自定义之一必须是设置他或她自己的墙纸!是的,这也可以在 Ubuntu 中完成。只要用户坚持使用 Ubuntu 内置的少数壁纸,就不会有问题。所以用户必须在沙盒中玩,以避免不必要的麻烦。因为一旦用户开始选择他或她自己的图片或从 Web 上免费获得的壁纸之一,事情就开始变得复杂。
问题#1:
/home/user/Desktop./home/user/Desktop到
/home/user/Pictures/Wallpapers,并将文件设置为桌面墙纸。为什么需要复制文件?为了安全?如果原始文件被移动或删除?
问题#2:
/home/user/Pictures/Wallpapers。为什么需要创建dupes才能将某个文件设置为墙纸?
问题#3:
/home/user/Pictures/Wallpapers并删除其中的所有文件。/home/user/Desktop,选择bird.jpg 并单击打开按钮。/home/user/Pictures/并找到一个空文件夹(一个子文件夹除外)。/home/user/Pictures/Wallpapers并找到一个空文件夹。为什么图片文件添加到“图片文件夹”列表而不是“壁纸”列表?
如果文件被添加到“图片文件夹”列表中,为什么/home/user/Pictures文件夹是空的?如果“图片文件夹”代表文件夹名称,它的搜索路径是什么?
问题#4:
我想要做的是指定一个特定的文件夹,我将在其中保存我希望能够从中选择并用作桌面墙纸的所有图片。
我将自己限制在一个文件夹中的原因是因为我上面描述的问题。为了避免被骗,我愿意这样做,因为我通常通过找到我想要使用的文件来更改墙纸。我不会先寻找正确的设置对话框,然后再寻找文件。(从 Ubuntu 布道者的角度来看,我想我做错了。)然后我使用鼠标单击上下文菜单来做我想做的事情,Ubuntu 确实有这个选项,但它的实现很差。
所以我愿意解决这个缺点并使用外观对话框(“正确”的方式)和一个特定的文件夹,我可以使用对话框从中选择壁纸。但即使要使其工作,我也需要摆脱问题 4,其中外观对话框不想显示我之前选择的文件或位置,以便将其显示为列表。
大家是怎么处理这件事的?只是坚持默认壁纸???...
有不同的力量在起作用。更改壁纸的规范方法是使用org.gnome.desktop.background picture-uri架构和密钥。重要的是图片必须是本地文件。
在问题#4 的情况下,模式被直接更改;请注意,外观设置中的所有可用选项均来自本地文件夹。
如果出现您指定的其他问题,这是通过 nautilus 完成的,并且 nautilus 可以访问网络共享驱动器,这意味着用户可以尝试从那里设置背景图像。好吧,还记得我说过的话 - 图片必须是本地的吗?这就是 nautilus 复制该文件的原因。
nautilus-view.c确切的代码在文件中设置
static void
action_set_as_wallpaper_callback (GtkAction *action,
NautilusView *view)
{
GList *selection;
/* Copy the item to Pictures/Wallpaper since it may be
remote. Then set it as the current wallpaper. */
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?确实没有办法,因为它被硬编码到 nautilus 中。您可能想向开发人员提出功能请求或自己更改源。