如何在 Linux 中以自动化的方式为多个显示器设置墙纸?
基本上,我通常的做法是打开 GIMP,然后抓取几张图片,将它们合成一张可以覆盖所有显示器的大图片。这种方法可行,但可能很耗时,所以我想知道是否有一个应用程序可以处理这个问题?
我感兴趣的一些功能:
- 例如,可以调整单个图像的大小以覆盖两个显示器。
- 调整图像大小的不同方式,例如保持或不保持纵横比
- 将多幅图像合成在一起,以便一个屏幕显示一幅图像,另一个屏幕显示另一幅图像
- 我正在使用 xinerama (真正的 Nvidia Twinview)
能够对图像做一些基本的修改,例如:
- 裁剪一张或另一张图像,使整个图像填满屏幕
- 能够移动图像以便对齐
- 如果能单独缩放每张图片就好了
我进行了一些搜索,总体而言,我发现的是:
- 单幅图像作为壁纸拉伸至两个屏幕
- 两张图片,每个屏幕一张,但无法修改图像等
- 还有其他一些,但基本上我发现大多数都无法在每个桌面上使用一张图片的多张图片,也无法独立修改每张图片以适合/在该屏幕上工作,也无法在跨整个屏幕拉伸的单张图片或多张图片之间切换。
答案1
“nitrogen”工具可能正好满足您的需求。运行该工具时,您首先添加一个或多个包含图像的目录,然后按所需方式设置背景,包括在两个屏幕上设置不同的图像。
现在,nitrogen 将此信息存储在 .config/nitrogen/bg-saved.cfg 中
您可以使用“nitrogen --restore”恢复保存的设置,但当然,您也可以先更改该文件,然后调用 nitrogen。
答案2
这是一个老话题,但看到feh
没有正确演示,我觉得有必要这样做。Nitrogen 的问题在于,一旦您拥有多个显示器,您就无法自动调整图像在每个屏幕上的显示方式。
feh --bg-fill ~/Pictures/Wallpapers/MyWallpaper.jpg
将使图像适合背景,而不会丢失纵横比。如果您放置两个文件,第一个文件将转到第一个显示器,另一个将转到第二个显示器,如下所示:
$ feh --bg-center imagePathForFirstMonitor imagePathForSecondMonitor
您还可以使用 -z 选项和 * 作为文件夹内容来随机选择图像,如下所示:
feh --bg-fill -z ~/Pictures/Wallpapers/*
# This command puts a random image for each monitor you have
feh
同时也是一个图像查看器,并且有大量其他选项,您可以通过以下方式进行探索man feh
或阅读以下资料。
资料来源: