X11 环境错误修复——一键重置 X Server
常见报错表现
| 表现 | 可能原因 |
|---|---|
| GUI 程序启动报「No protocol specified」或 connect :1 失败 | DISPLAY 环境变量没设或 X Server 没启动 |
| 黑屏 / GUI 窗口不刷新 | X Server 卡死,需要重启 |
| pulseaudio 相关错误 | 声音服务没装或 PULSE_SERVER 没设 |
| 发行版里 GUI 连不上 | 发行版的 DISPLAY 映射没配好 |
修复步骤
第一步:用 ZeroTermux 内置修复入口
X11 功能 → 修复环境错误
ZeroTermux 会自动做以下事情:
- 检查 termux-x11 包是否完整
- 重置 X Server 的配置文件
- 重新设置 DISPLAY 和 PULSE_SERVER 环境变量
- 清理可能损坏的 socket 文件
第二步:手动清理残留
如果内置修复不行,在终端里手动来:
# 关掉正在运行的 X Server 进程
pkill termux-x11
# 清理旧 socket
rm -rf $TMPDIR/.X*
rm -rf /tmp/.X11-unix
# 重新启动
termux-x11 :0 &
export DISPLAY=:0
export PULSE_SERVER=127.0.0.1
第三步:重装(最后手段)
pkg remove termux-x11-nightly
pkg install termux-x11-nightly
发行版里的特殊问题
如果 GUI 程序跑在发行版(proot 里),问题可能出在 DISPLAY 路径映射。典型解决方式:
# 发行版内
export DISPLAY=127.0.0.1:10
export PULSE_SERVER=127.0.0.1
确认 ZeroTermux 原生容器的 X Server 在运行。