杰瑞科技汇

vwallpaper2教程怎么用?新手必看指南?

vwallaper2 教程:为你的终端穿上动态外衣

vwallaper2 是一个轻量级、高性能的动态壁纸工具,专为终端模拟器(如 Alacritty, Kitty, WezTerm 等)设计,它通过在你的终端背景上播放视频或展示静态图片,让你的终端界面变得生动有趣,极具个性化。


核心概念:它是如何工作的?

理解 vwallaper2 的工作原理能帮助你更好地配置它。

  1. 终端模拟器:如 Alacritty, Kitty,它们负责显示文本、光标和处理输入。
  2. 合成器:如 picom (Compton), xcompmgr,它们负责管理窗口的透明、模糊和混合效果。这是动态壁纸能够显示的关键!
  3. vwallaper2:它是一个独立的程序,它不会直接“注入”图像到终端里,相反,它会创建一个全屏的、无边框的窗口,并将视频或图片作为该窗口的内容。
  4. 工作流程
    • vwallpaper2 启动,播放视频,并创建一个全屏窗口。
    • 你配置你的终端模拟器,使其背景完全透明
    • 你运行合成器,使其能够将终端窗口的透明部分“穿透”下去,显示出下面一层的窗口(也就是 vwallaper2 的窗口)。
    • 最终效果:你看到的是终端文本浮在动态视频之上。

安装

vwallaper2 通常使用 Rust 语言编写,通过 cargo (Rust 的包管理器) 安装是最简单的方式。

安装依赖

在安装 vwallaper2 之前,你需要确保系统已安装必要的依赖:

  • Rust 和 Cargovwallaper2 的构建工具。
  • FFmpeg:用于视频解码和处理。
  • 一个合成器:用于处理透明效果,推荐 picom (或其分支 picom-jonabergpicom-next,后者功能更强大)。

在基于 Debian/Ubuntu 的系统上:

# 安装 Rust 和 Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# 安装 FFmpeg 和 picom
sudo apt update
sudo apt install ffmpeg picom

在基于 Arch Linux 的系统上:

# 安装 Rust 和 Cargo (通常已包含在 base-devel 组中)
sudo pacman -S rust ffmpeg picom

安装 vwallaper2

安装完依赖后,使用 cargo 安装 vwallaper2

cargo install vwallaper2

安装完成后,vwallaper2 命令应该就可以在终端中使用了。


基本配置与使用

准备你的壁纸素材

将你想要用作壁纸的视频(如 .mp4, .webm)或图片(如 .jpg, .png)放在一个固定的目录,~/Pictures/Wallpapers/

启动 vwallaper2

最简单的启动方式:

# 播放视频
vwallaper2 -p /path/to/your/video.mp4
# 播放图片
vwallpaper2 -i /path/to/your/image.png

当你运行这个命令时,你应该能看到你的视频或图片在全屏播放,但可能被其他窗口覆盖,这是正常的,因为我们还没有配置终端和合成器。

配置终端模拟器

你需要修改你的终端配置文件,使其背景变为透明,这里以几个流行的终端为例:

Alacritty (推荐)

编辑 ~/.config/alacritty/alacritty.yml (或 .toml 文件),添加或修改以下配置:

window:
  opacity: 0.8 # 设置终端窗口的整体透明度,0.0 全透明, 1.0 不透明
  decorations: none # 可选:去掉窗口边框和标题栏,获得更沉浸的体验
background_opacity: 0.6 # 设置背景内容的透明度,通常和 window.opacity 保持一致

Kitty

编辑 ~/.config/kitty/kitty.conf,添加或修改以下配置:

background_opacity 0.8
hide_window_decorations yes # 可选:隐藏窗口装饰

修改完配置后,重启你的终端模拟器,使其生效,现在你应该能看到终端的背景是透明的,并透出了你桌面或下面的窗口。

配置合成器

这是最关键的一步,编辑你的合成器配置文件,通常是 ~/.config/picom/picom.conf

重要配置项:

  1. 启用模糊:模糊效果能让壁纸更好地作为背景,而不是抢夺焦点。
  2. 排除规则:你必须告诉合成器不要处理 vwallaper2 的窗口,否则它也会被模糊,导致终端和壁纸之间界限不清。

打开 ~/.config/picom/picom.conf,找到并确保以下配置被正确设置:

# 启用背景模糊
blur {
    # 方法
    method       = "kawase"
    # 强度,值越大越模糊,可以自己调整
    strength     = 8
    # 对哪些窗口应用模糊
    # 排除规则是关键!
    exclude = [
        "class_g = 'vwallpaper2'", # 这是重点!排除 vwallaper2 的窗口
        "class_g = 'Alacritty'",   # 可选:排除终端本身,让终端的模糊由终端配置控制
    ]
}
# 设置窗口透明度规则(可选,但推荐)
# 这可以让你在聚焦/失焦时改变窗口透明度
inactive-opacity = 0.9
active-opacity = 1.0
# 排除窗口的阴影(可选,让界面更简洁)
shadow-exclude = [
    "class_g = 'vwallaper2'",
    "class_g = 'Alacritty'",
    "name = 'Polybar'",
    "name = 'Conky'"
]

配置完成后,重启 picom

# picom 正在运行,先杀掉它
pkill picom
# 然后重新启动
picom --config ~/.config/picom/picom.conf --backend glx --vsync &

完整流程与进阶技巧

所有组件都已配置完毕,让我们把它们串起来:

自动启动脚本

每次手动启动很麻烦,最好的方式是把它加入你的自动启动项(在 ~/.xprofile 或你桌面环境的自启动设置中)。

创建一个启动脚本,~/.config/vwallpaper2/start.sh

#!/bin/bash
# 1. 启动合成器 (如果还没启动的话)
# --no-fork 让它在前台运行,适合放入自启动
picom --config ~/.config/picom/picom.conf --backend glx --vsync --no-fork &
# 2. 启动 vwallpaper2
# -p 指定视频路径
# -s 设置视频缩放模式,常用 'fit' (适应屏幕) 或 'fill' (填充屏幕)
# -d 设置桌面输出,'DP-1',可以避免在多显示器上重复播放
vwallpaper2 -p ~/Pictures/Wallpapers/my-awesome-video.mp4 -s fit

给脚本执行权限:

chmod +x ~/.config/vwallpaper2/start.sh

~/.config/vwallpaper2/start.sh 添加到你桌面环境的“自启动”应用程序列表中。

常用命令行参数

  • -p, --path <PATH>: 指定视频文件路径。
  • -i, --image <PATH>: 指定图片文件路径。
  • -s, --scaling <MODE>: 缩放模式。
    • fit: 保持宽高比,适应屏幕(可能有黑边)。
    • fill: 保持宽高比,填充屏幕(可能裁剪)。
    • stretch: 拉伸以填满屏幕(可能变形)。
  • -d, --desktop <OUTPUT>: 指定在哪个桌面输出上显示。
  • -a, --audio: 播放视频的音频(需要你的合成器支持音频透传,通常不推荐,因为会干扰系统声音)。
  • -h, --help: 显示帮助信息。

动态切换壁纸

vwallaper2 本身不提供动态切换功能,但你可以通过 killrestart 的方式实现。

  1. 创建一个切换脚本 ~/.config/vwallpaper2/switch.sh:

    #!/bin/bash
    # Wallpapers array
    wallpapers=(
        "~/Pictures/Wallpapers/video1.mp4"
        "~/Pictures/Wallpapers/video2.mp4"
        "~/Pictures/Wallpapers/image1.png"
    )
    # Find the current vwallpaper2 process and kill it
    pkill vwallpaper2
    # Pick a random wallpaper from the array
    new_wallpaper=${wallpapers[$RANDOM % ${#wallpapers[@]}]}
    # Start vwallpaper2 with the new wallpaper
    # 注意:这里需要确保你的合成器一直在运行
    vwallpaper2 -p "$new_wallpaper" -s fit
    echo "Switched to: $new_wallpaper"
  2. 给脚本执行权限:

    chmod +x ~/.config/vwallpaper2/switch.sh
  3. 绑定快捷键: 在你的桌面环境(如 GNOME, KDE, i3wm)的快捷键设置中,将这个脚本绑定到一个你喜欢的组合键(如 Super+Shift+W)上。


常见问题与排查

  1. Q: 我的终端背景是黑色的,没有显示壁纸。

    • A: 检查两点:
      1. 终端配置文件中的 background_opacitywindow.opacity 是否设置且小于 1。
      2. picom 是否正在运行?可以使用 ps aux | grep picom 检查。
  2. Q: 壁纸显示出来了,但终端文本看不清楚,或者和壁纸混在一起。

    • A: 这是模糊效果没生效或配置错误。
      1. 检查 picom.conf 中的 blur 部分是否被注释掉了。
      2. 检查 blur.exclude 列表,确保 class_g = 'vwallaper2' 在其中,这样 vwallaper2 窗口本身不会被模糊。
      3. 调整 blur.strength 的值,找到最合适的模糊程度。
  3. Q: 终端闪烁或性能很差。

    • A: 性能问题通常与视频解码和模糊效果有关。
      1. 确保你使用了 picomglx 后端(--backend glx)。
      2. 降低 blur.strength 的值。
      3. 尝试使用硬件加速解码视频,这通常需要更复杂的配置,但对于 vwallaper2,一个简单的高效视频格式(如 H.264 编码的 .mp4)通常就足够了。
      4. 关闭 picom 中不必要的特效,如阴影、淡入淡出等。
  4. Q: 我想在多个显示器上设置不同的壁纸怎么办?

    • A: vwallaper2 本身不支持多输出,一个变通方法是使用 xdotoolydotool 来移动窗口,但这比较复杂,更推荐使用专门的动态壁纸工具,如 hyprpaper (适用于 Hyprland) 或 swaybg (适用于 Sway/i3),它们原生支持多输出。

vwallaper2 是一个极其灵活且强大的终端美化工具,虽然它的配置涉及多个组件,但一旦你理解了“透明终端 + 合成器 + vwallaper2”这个核心模式,并成功配置一次,之后的使用和维护就会变得非常简单。

祝你玩得开心,打造出独一无二的酷炫终端!

分享:
扫描分享到社交APP
上一篇
下一篇