壁纸幻灯片无需人工干预

壁纸幻灯片无需人工干预

我想用我自己的一组图像创建一个桌面壁纸幻灯片,如此处所述回答使用 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用户,这就是我设置壁纸的方式。我希望我能帮助别人。

相关内容