背景
我有一个小脚本可以将我的壁纸更改为随机图像:
#!/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 脚本,因为它更精致。