惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
MongoDB | Blog
MongoDB | Blog
GbyAI
GbyAI
L
LangChain Blog
B
Blog
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
U
Unit 42
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿
小众软件
小众软件
I
InfoQ
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
C
Check Point Blog

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 读:AI Agent 生产化——一份从原型到上线的速查清单 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日
X11 Forwarding 排障指南 - 暗无天日
lujun9972 · 2026-04-15 · via 暗无天日

理解了原理之后,排障就变成了逐层排查:客户端 → SSH 连接 → 服务端 → 权限 → 特殊场景。

1. 本地 X Server 是否在运行?

远程的图形要显示在本地,本地得有一个 X Server 在运行。Linux 桌面用户通常不需要操心,但如果你在 Windows 上用 SSH 客户端,需要额外安装 X Server(如 VcXsrv)。

2. SSH 客户端是否开启了 X11 Forwarding?

使用 -X 参数连接后,检查 $DISPLAY 是否被设置。如果为空,说明 forwarding 没有建立成功。

如果用的是 SecureCRT 或 PuTTY 这类图形化 SSH 客户端,需要在会话设置里手动勾选 X11 Forwarding 选项。

3. 远程服务端:xauth 和 xterm 是否已安装?

xauth 是 X11 Forwarding 的必要组件,没有它 SSH 无法设置认证。 xterm 则是最好的测试工具。

which xauth
which xterm

apt install xauth xterm

yum install xorg-x11-xauth xterm

4. sshd 配置是否正确?

远程服务器上的 /etc/ssh/sshd_config 需要启用 X11 forwarding:

grep X11Forwarding /etc/ssh/sshd_config
grep AllowAgentForwarding /etc/ssh/sshd_config

systemctl restart sshd

5. HOME目录和 .Xauthority 权限是否正常?

SSH 登录时需要在家目录下创建或更新 ~/.Xauthority 文件。如果家目录不可写,forwarding 会静默失败。

ls -la ~ | head -1

rm ~/.Xauthority

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

6. IPv6 被禁用导致的隐蔽问题

这是一个极其隐蔽的坑。如果你禁用了 IPv6,OpenSSH 在某些配置下会 静默拒绝 X11 forwarding——不报错,只是 $DISPLAY 为空。

sysctl net.ipv6.conf.all.disable_ipv6

解决方法是在 /etc/ssh/sshd_config 中强制使用 IPv4:

AddressFamily inet
systemctl restart sshd

7. sudo 下运行图形程序

sudo 运行图形程序时报 X11 connection rejected because of wrong authentication ,是因为 root 用户的 ~/.Xauthority 中没有对应的认证 cookie。

cp ~/.Xauthority ~root/.Xauthority
xterm  
sudo -u username xterm

方法二更干净——避免用 sudo su - ,因为它会清空环境变量导致 $DISPLAY 丢失。