网络专业的网站建设价格低建设网站门户
网络专业的网站建设价格低,建设网站门户,商城类网站总体功能策划,成都住房和城乡建设部网站查询SSH X11 转发排查与解决指南#xff08;Windows Xming Ubuntu#xff09;
前言
这部分是这样的。我们大家都知道#xff0c;有时候在Ubuntu上写Qt贼不方便#xff0c;需要开一个虚拟机的窗口不说#xff0c;有时候虚拟机卡住了#xff0c;开发进度也会耽误。
笔者之前就…SSH X11 转发排查与解决指南Windows Xming Ubuntu前言这部分是这样的。我们大家都知道有时候在Ubuntu上写Qt贼不方便需要开一个虚拟机的窗口不说有时候虚拟机卡住了开发进度也会耽误。笔者之前就深受此事的困扰——而且现在大家都在用VSCode写东西还有ClaudeCode插件玩那干啥不考虑SSH远程转发过来窗口呢所以如何配置前提是桌面GUI用的XServer要不然这篇博客不好解决你的问题。我们的诉求是——在 Windows我自己是Xming托管不太熟悉的朋友可以自行检索啥是XMing上通过 SSH 登录到 Ubuntu 虚拟机 / 服务器希望通过 X11 转发在本地显示 GUI例如xeyes、xclock、Qt 应用。step 1确认一下有没有XMing如果没有记得在Windows上下一个然后开启——开启的时候不会有任何提示看看右下角有没有XMing的图标就好有就是拉起来了。然后我们的虚拟机上要安装了 X11 测试工具——# 在 Ubuntu 上sudoaptupdatesudoaptinstallx11-apps xauth -y注意的是服务器端 SSH 服务允许 X11 转发/etc/ssh/sshd_config中应包含且未注释X11Forwarding yesWindows 与服务器之间网络连通且没有被防火墙阻断通常 X11 转发走的是 SSH 隧道不额外开放端口。先使用交互式 SSH 连线并查看$DISPLAY在使用VSCode之前先看看日志对不对我们可以在 Windows PowerShell或 CMD里# 暂时性设置如果未设置 DISPLAY$env:DISPLAY localhost:0# 或在 cmd 中 set DISPLAYlocalhost:0# 再连接ssh-Y-v charliechen192.168.60.152# 改成自己的用户名和IP连接成功后在服务器端运行echo$DISPLAY# 预期输出类似 localhost:10.0xeyes# 或 xclock如果$DISPLAY为空说明 X11 转发没有建立。看下面那就在客户端Windows OpenSSH观察 verbose 日志好如果发现$DISPLAY为空退出去在 Windows 端用-v或-vvvssh-Y-vvv charliechen192.168.60.152 21|grep-i x11# 改成自己的用户名和IP关注关键行X11 forwarding requested but DISPLAY not set—— 表示客户端希望请求 X11但本地环境 (DISPLAY) 没有设置客户端不知道把转发隧道映射到哪个本地 X server。X11 forwarding request failed或xauth not found—— 表示服务端或客户端缺少必要组件或绑定失败。确认服务器端存在xauthwhichxauth||sudoaptinstallxauth -y如果服务端没有 xauthsshd 无法创建 X11 授权记录X11 转发会失败或$DISPLAY不会被设置。检查服务器端 SSH 日志sudotail-n200/var/log/auth.log|grep-i x11# 或 systemd 日志 journalctl -u ssh -e | grep -i x11查看是否有类似的错误信息bind failure、cannot create X11 cookie 等。对 VSCode Remote-SSH 的特殊检查VSCode 使用内部 SSH 客户端连接会读取~/.ssh/config默认不会强制开启 X11 转发。请在C:\Users\你下的\.ssh\config或服务器上~/.ssh/config添加Host 192.168.60.152 User charliechen ForwardX11 yes ForwardX11Trusted yes断开 VSCode 远程连接并完全重新连接确保新的 SSH 配置生效。注意VSCode Remote-SSH 的终端有时不会继承你在本地 PowerShell 里临时设置的DISPLAY因此建议做永久设置见下。