Ubuntu 在启动时替换壁纸

Ubuntu 在启动时替换壁纸

背景

我有一个小脚本可以将我的壁纸更改为随机图像:

#!/bin/bash
feh --randomize --bg-fill /home/USERNAME/Pictures/wallpapers/*

它非常有效,所以我决定将它添加到启动应用程序中,就像这个问题一样:

问题

除了一个问题外,一切工作正常:

  • 启动时,壁纸会通过脚本更改,正如预期的那样。然后,几秒钟后,Ubuntu 接管并用默认壁纸替换该壁纸。

问题

我怎样才能防止这种情况发生?

答案1

为什么要更换壁纸

长话短说,当你启用桌面图标时,这实际上使 Nautilus 能够创建包含所有文件和文件夹图标的桌面“窗口”并管理背景.feh适用于原始X11桌面,即没有图标的裸机。因此,有两种可能的解决方案:一种是依靠 Ubuntu 的背景设置,另一种是禁用桌面图标。也可以编写一个脚本来启动两者feh并更改 Ubuntu 桌面设置,但我认为这是多余的。无论你决定采用哪种方式,都取决于你

禁用/启用图标

可以通过gsettings org.gnome.desktop.background show-desktop-icons false禁用和org.gnome.desktop.background show-desktop-icons true启用来完成。完成后,Nautilus 将不会管理您的桌面,因此不会设置背景图片

Ubuntu 壁纸设置

除了明显的 GUI 方法之外,还可以使用gsettings命令来设置壁纸。

gsettings set org.gnome.desktop.background picture-uri file:///home/my_user/Pictures/cool_wallpaper.png

当然,前面提到的警告适用——必须启用桌面图标。

脚本的替代方案

我注意到你正在尝试从文件夹中设置随机壁纸。你不必依赖feh它。过去,我编写了两个脚本来完成此任务。一个写成bash 脚本另一个Python 脚本。这两个脚本都适用于 Ubuntu gsettings,并且可以更改桌面壁纸而不会禁用图标。就我个人而言,我建议使用 Python 脚本,因为它更精致。

相关内容