5 min read

我用 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 啊