Xorg

使用 ImageMagick 在根視窗上顯示多個圖像

  • May 30, 2021

我不執行桌面環境,而是使用裸視窗管理器 ( StumpWM )。因此,我設置桌面背景的常用方法是display -window root <image file>從 WM 啟動腳本執行,它可以滿足我的要求。

當使用多台顯示器時,X 根視窗會跨越兩者並包括死區。因此,執行該命令行會導致圖像在整個視窗中被拉伸或平鋪,這是沒有用的。我可以使用-geometry在任一監視器上顯示圖像,但如果我再次執行它(在兩個監視器上查看)它會覆蓋另一個。似乎沒有任何能力display在一次呼叫中顯示兩個圖像。

如何display在兩台顯示器上顯示不同的圖像?或者,在沒有桌面環境的情況下,我還能如何獲得“桌面背景圖像”效果?

您可以使用montage生成包含整個顯示的單個圖像,並呼叫display -window root生成的圖像。

或者,您可以使用xloadimage它來平鋪多個圖像。它不知道單獨的顯示器,因此如果您的圖像不是全屏或您有不同尺寸的顯示器,您可能需要手動使用-at-geometry調整圖像位置。

xloadimage -onroot -at 1680,0 image1.jpg -at 0,0 image2.png

這就是我最終使用的:

DIR=$HOME/Pictures/Desktop
IMG1="$(ls $DIR/*jpg | shuf | head -1)"
IMG2="$(ls $DIR/*jpg | shuf | head -1)"
montage  -background "#000000" -geometry 1920x1080 $IMG1 $IMG2 jpg:- | display  -foreground "#000000" -backdrop  -window root jpg:-

在根視窗上顯示 2 個隨機圖像,幸運的是我的顯示器以相同的解析度執行。

引用自:https://unix.stackexchange.com/questions/269586