一次 OpenClaw 可见浏览器无法启动问题的排查:systemd 用户服务、KDE 图形会话与 DISPLAY 环境变量
在 Linux 桌面环境中,有些后台服务本身运行正常,却无法启动可见窗口。这个问题表面上像是浏览器坏了,或者应用自身没有正确识别图形环境;但实际原因往往更底层:服务启动时没有继承当前图形会话的环境变量。 这次遇到的问题是:OpenClaw Gateway 作为 systemd –user 用户服务运行,终端可以正常连接 Gateway,TUI 也能启动,但让它打开可见浏览器时失败,提示当前服务环境中没有 $DISPLAY 或 $WAYLAND_DISPLAY。 问题现象 在终端中启动 OpenClaw TUI 后,输入“打开浏览器”,返回类似提示: 但此时桌面环境本身是正常的,终端也处在 KDE 图形桌面中。也就是说,问题并不是“系统没有图形界面”,而是 OpenClaw Gateway 这个后台服务进程没有拿到图形会话环境。 初步确认:这是用户服务,不是系统服务 一开始容易犯的错误是直接查系统级服务: 结果会显示: 这并不代表服务不存在,而是因为 OpenClaw Gateway 安装为用户级 systemd 服务,应使用: 用户级服务文件位于类似: 这类服务由当前用户的 systemd –user 管理,而不是系统级 systemd 管理。 检查当前终端环境与服务进程环境 问题的关键在于比较两层环境: 一层是当前终端环境: 在 KDE X11 会话中,终端里通常能看到类似: 另一层是 OpenClaw …