我想用我自己的一组图像创建一个桌面壁纸幻灯片,如此处所述回答使用 Shotwell 但遇到一些问题
从 Shotwell 选择照片进行幻灯片放映后;选择照片后,它甚至会继续使用那些已从指定文件夹中手动删除的图像
同样,添加照片时不会自动选取它们进行幻灯片放映
简而言之,如何以自动选取或删除照片的方式设置幻灯片?如果可能的话,我会更喜欢脚本而不是任何额外的应用程序,或者如果它们来自众所周知的真实来源,我会更喜欢脚本。
答案1
肖特韦尔可能不是这方面的最佳实用工具。据我所知,Ubuntu 使用 Xorg,因此我们可以使用名为feh
.
手册页摘录 ( man feh
):
feh 是一个基于模式的图像查看器。它特别针对需要快速图像查看器而无需大量 GUI 依赖性的命令行用户,尽管它也可以通过(图形)文件管理器启动来查看图像。默认情况下(除非指定参数或文件列表)feh 显示当前目录中的所有文件。
基于 Debian 的系统上的安装通常如下所示:
~# apt install feh
要设置壁纸,让我们再次查看联机帮助页。
feh 也可以用作背景设置器。除非你传递 --no-fehbg 选项,否则它将编写一个脚本将当前背景设置为 ~/.fehbg。因此,要在每次启动 X 时恢复背景,您可以将“sh ~/.fehbg &”添加到 X 启动脚本(例如 ~/.xinitrc)中。从 feh 2.13 开始,该脚本是可执行的,因此“~/.fehbg &”也可以工作。
稍后在联机帮助页中:
--背景中心
将文件置于背景中央。如果太小,就会被黑色边框包围
--背景填充
与 --bg-scale 类似,但通过缩放图像直至适合来保留纵横比。图像的水平或垂直部分将被切除
--bg-最大
与 --bg-fill 类似,但将图像缩放到适合屏幕的最大尺寸,一侧有黑色边框。
--bg-规模
将文件放入背景中,不要重复、剪掉内容或使用边框。但纵横比也没有保留
--bg-tile 平铺(重复)图像,以防图像对于屏幕来说太小
因此,您可以在某种重复脚本中使用它:
(只是概念证明,不是真正的编程)
#!/usr/bin/env python
import os
import time
files = [
'1.jpg', // Perhaps you could have a listing of ls here, and parse that.
'2.jpg',
'file.jpg'
]
while True:
for i in files:
os.system('feh ' + files[i] + ' --bg-fill')
time.sleep(120)
我希望这有助于为您指明正确的方向。
PS:请注意,我是一名i3
用户,这就是我设置壁纸的方式。我希望我能帮助别人。