快轉到主要內容

i3wm、Hyprland視窗管理器適用的動態桌面,Linux Wallpaper Engine用法

分類   Linux系統 Linux好用軟體
標籤   Wallpaper Engine Dynamic Wallpaper I3wm Hyprland
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

這是一款把您的Linux桌面變成動態桌布(dynamic wallpaper)的命令行程式。

Github開發者Alexis Maiquez以教育程式的名義,製作了Linux版的「Linux Wallpaper Engine」。靠著這款開源程式,我們就能夠讀取Steam工作坊上的Wallpaper Engine桌布,藉此將其作為Linux桌面的背景。

可以播放部份帶有3D特效的動態桌布,光點、水波紋的特效的支援程度還不賴。

或是播放影片類桌布

經測試,本程式適用i3wm、awesome、dwm、Sway、Hyprland、Wayfire、KDE、XFCE、Cinammon、Deepin、LXQT、Mate桌面。X11與Wayland皆可。

但是GNOME不支援。別太灰心,有開發者製作了相容GNOME的改進版本。

考慮到本程式需要打指令,比較適合給視窗管理器的用戶使用。你只要在登入啟動的exec處加入linux-wallpaperengine指令就可以了。

本文將簡介Linux Wallpaper Engine的指令用法。如果要圖形化程式請參閱文末的其他動態桌布方案,那些方案多半有用到本程式的程式碼。

1. 安裝linux-wallpaperengine
#

參照作者的 Github

Ubuntu 22.04要手動編譯。編譯後會得到linux-wallpaperengine執行檔,執行指令為./linux-wallpaperengine

sudo apt-get update
sudo apt-get install build-essential cmake libxrandr-dev libfreeimage-dev libxinerama-dev libxcursor-dev libxi-dev libgl-dev libglew-dev freeglut3-dev libsdl2-dev liblz4-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libxxf86vm-dev libglm-dev libglfw3-dev libmpv-dev mpv libmpv1 libpulse-dev libpulse0
git clone https://github.com/Almamu/linux-wallpaperengine.git
cd linux-wallpaperengine
mkdir build
cd build
cmake ..
make

Arch Linux可以從AUR裝,執行指令為linux-wallpaperengine

yay -S linux-wallpaperengine-git

2. 取得Wallpaper Engine桌布
#

  1. 於Linux安裝 Steam,至Steam商店購買 Wallpaper Engine:桌布引擎,以Proton執行。

  2. 如果你不是使用KDE,那大機率Wallpaper Engine主界面叫不出來。若要繞過Wallpaper Engine下載桌布的話,在Steam收藏庫對Wallpaper Engine按右鍵 → 內容 → 工作坊,點選「造訪工作坊」,從Steam工作坊網頁訂閱桌布下載。

  3. 查找Wallpaper Engine程式資料的位置,我們需要它assets目錄下的檔案。Flatpak版Steam預設應該會放在/home/使用者名稱/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/

  4. 接著找到Steam下載桌布的路徑,從下圖可看到,每個桌布目錄都會有一組數字代表。他們都位於目錄/home/使用者名稱/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/

3. linux-wallpaperengine指令用法
#

有二個必要參數:--assets-dir指定Wallpaper Engine的assets目錄的絕對路徑。接著最後面接上你要用的桌布路徑+數字。

比如執行以下指令

linux-wallpaperengine \
--assets-dir "/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/" \
"/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418"

預設模式下,會跳出檢視該桌布的獨立視窗。從這裡可以確定該桌布是否有正常運作。目前一些3D場景、應用程式類的桌布無法顯示,但影片是絕對沒問題的。

如果要將其設定為Linux桌布,先執行xrandr指令取得所有螢幕的名稱(Wayland也可以用xrandr呦)

再用--screenroot指定該螢幕要顯示哪個桌布。如果有多個螢幕得寫二次--screenroot,分開指定桌布。

linux-wallpaperengine \
--assets-dir "/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/" \
"/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418" \
--screen-root eDP-1

加上--fps 60參數可提高桌布幀率,--noautomute --volume 100讓桌布播放聲音,--slient靜音。--scaling fit調整縮放方式。


linux-wallpaperengine還可以讀取桌布的數值,藉此開關某些效果。

linux-wallpaperengine \
--list-properties \
--assets-dir "/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/" \
"/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418"

不過沒有圖形界面,只能看文字瞎猜了。

以上面的為例,使用--set-property調整該桌布的設定

linux-wallpaperengine \
--set-property newproperty1=1 \
--assets-dir "/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/" \
"/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418"

其他Linux動態桌布方案
#

圖形化Wallpaper Engine程式:

Linux上各種Wallpaper Engine程式的價值在於利用Steam工作坊的大量現成Wallpaper Engine桌布。但若只是想播影片當動態桌布的話,那麼 swww mpvpaper會是更輕量的選擇。

相關文章

Fantascene:在Linux跑Wallpaper Engine動態桌布引擎,適用GNOME、KDE、XFCE
分類   Linux系統 Linux好用軟體
標籤   Wallpaper Engine Dynamic Wallpaper GNOME KDE Plasma Steam
讓Linux GNOME桌面動起來 ~ 使用Hidamari安裝動態桌布
分類   Linux系統 Linux好用軟體
標籤   Dynamic Wallpaper GNOME KDE Plasma Ubuntu
Kdenlive剪4K影片很卡?用代理剪輯與轉碼提昇效能
分類   Linux系統 Linux好用軟體
標籤   Kdenlive

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。