我用 Linux 当主力系统也有一段时间了,简述下遇到的问题
两个 waybar
我目前使用 niri 作为日常使用的桌面环境,但 niri 默认啥也没有,包括状态蓝,于是在互联网搜寻一番之后找出了使用最广泛的状态栏 waybar ,在安装之后我看着顶部的状态栏关掉了电脑,想着下次再配置,但当我第二次打开电脑时却看到了两个 waybar
原因就是 waybar 被启动了两次
systemd 用户服务: /usr/lib/systemd/user/waybar.service 由 graphical-session.target 自动拉起了一次,niri 配置: ~/.config/niri/config.kdl:271 的 spawn-at-startup “waybar” 又拉起了一次
解决方法就是将 systemd 用户服务 waybar.service 停掉
设置:我不想启动
设置作为一个能更方便管理系统设定的软件,我却无法打开她
原因是 niri 桌面环境下 gnome-control-center 会拒绝启动(只支持 GNOME/Unity)
解决办法就是创建 ~/.local/share/applications/org.gnome.Settings.desktop 覆盖项,用 env XDG_CURRENT_DESKTOP=GNOME 启动
不是壁纸呢
以前每次开机背景都是灰的,需要我手动打开 waypaper 才可以启动
原因是 niri 开机自启运行时 compositor 还没就绪,awww-daemon 连接失败直接退出了,所以壁纸没设置成功(手动打开时 compositor 已就绪所以正常)
用 ~/.config/waypaper/scripts/wallpaper-startup.sh 替代原来的单次自启,它会:
- 启动 awww-daemon
- 执行 waypaper –restore(跳过主题生成)
- 用 awww query 确认壁纸真设置了;失败则重整重试最多 20 秒
HMCL:我也不想启动
在 GNOME 下可以打开 HMCL 但 niri 不行
HMCL(JavaFX)需要 X11(DISPLAY),而 niri 没有 XWayland,导致 Unable to open DISPLAY
解决方案:
- 安装了 xwayland-run,它会为每个 X11 应用启动一个专用的 Xwayland
- 创建了包装脚本 ~/.local/bin/hmcl,通过 xwayland-run 启动 HMCL
- 覆盖了桌面入口 ~/.local/share/applications/hmcl-stable.desktop
那 GNOME 为什么可以呢?因为 GNOME 自带 X11 啊