在 Ubuntu 中如何设置壁纸?

在 Ubuntu 中如何设置壁纸?

任何操作系统的新用户最喜欢做的定制之一就是设置自己的壁纸!是的,Ubuntu 也可以做到这一点。只要用户坚持使用 Ubuntu 内置的少数壁纸,就不会有问题。因此,用户必须在沙盒中操作,以避免不必要的麻烦。因为一旦用户开始选择自己的图片或从 Web 上免费获取的壁纸之一,事情就会变得复杂起来。

问题#1:

桌面

  1. 用户在 中存储了一个名为 bird.jpg 的 JPEG 图片文件 /home/user/Desktop
  2. 用户右键单击文件图标并选择“设置为壁纸”。
  3. 将文件从 复制到/home/user/Desktop/home/user/Pictures/Wallpapers并将 设置为桌面壁纸。

为什么需要复制文件?为了安全吗?万一原始文件被移动或删除?

问题 #2:

鸟

  1. 用户打开/home/user/Pictures/Wallpapers
  2. 用户右键单击 bird.jpg 的文件图标并选择“设置为壁纸”。
  3. 该文件在当前文件夹中被复制为bird(copy).jpg,并将该文件设置为桌面壁纸。
  4. 用户再次右键单击bird.jpg并再次选择“设置为壁纸”。
  5. 该文件在当前文件夹中被复制为bird(另一份).jpg,并将该文件设置为桌面壁纸。

为什么为了将某个文件设置为壁纸必须创建重复项?

问题#3:

外貌 外观2 壁纸

  1. 用户打开/home/user/Pictures/Wallpapers并删除其中的所有文件。
  2. 用户打开外观对话框。
  3. 用户点击加号按钮将图片添加到“壁纸”列表。
  4. 用户导航到/home/user/Desktop,选择bird.jpg并点击打开按钮。
  5. 图片已添加,但未添加到“壁纸”列表中。它已添加到“图片文件夹”列表中。
  6. 用户导航到/home/user/Pictures/并找到一个空文件夹(除了一个子文件夹)。
  7. 用户导航/home/user/Pictures/Wallpapers并找到一个空文件夹。

为什么图片文件被添加到“图片文件夹”列表而不是“壁纸”列表?

如果将文件添加到“图片文件夹”列表,为什么该/home/user/Pictures文件夹是空的?如果“图片文件夹”代表文件夹名称,那么它的搜索路径是什么?

问题#4:

外观2 外观3

  1. 用户按照前面的问题描述执行步骤 2 到 4。
  2. 用户关闭外观对话框。
  3. 用户打开外观对话框。
  4. “图片文件夹”列表现在神奇地变空了。

我想要做的是指定一个特定的文件夹,其中保存我想要选择的所有图片并用作桌面壁纸。

我把自己限制在一个文件夹中的原因是我上面描述的问题。我愿意这样做是为了避免重复,因为我通常通过找到我想要使用的文件来更改壁纸。我不会先寻找正确的设置对话框,然后再寻找文件。(我想我是做错了从 Ubuntu 布道者的角度来看。)然后我使用鼠标单击上下文菜单来执行我想要的操作,Ubuntu 确实有这个选项,但实现得很差。

因此,我愿意解决这个缺点,使用“外观”对话框(“正确”的方式),以及一个特定的文件夹,我可以使用对话框从中选择壁纸。但即使要做到这一点,我也需要摆脱问题 4,即“外观”对话框不想显示我之前挑选的文件或位置,以便将其显示为列表。

你们是怎么处理的?就只用默认壁纸吗?...

答案1

有不同的力量在起作用。改变壁纸的规范方法是使用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. */

如何解决这个问题?实际上没有办法,因为它被硬编码到 nautilus 中。您可能需要向开发人员提交功能请求或自行更改源代码。

相关内容