希望有人能帮忙。我一直在网上搜索,但找不到有用的解决方案。我最近将我的 Ubuntu VM 从 20.04 版更新到了 22.04 版。更新完成后,我无法再使用 winxserver 在本地笔记本电脑屏幕上打开服务器的浏览器。幸运的是,我有一个 VMWare 快照,可以轻松地在两个版本的服务器之间切换。Ubuntu 20.04 可以使用以下步骤运行,但 22.04 不行。
我遵循了在线找到的一些提示:
/etc/ssh/sshd_config -> X11Forwarding yes
echo $DISPLAY -> localhost:11.0
cat /etc/hosts -> 127.0.0.1 localhost
127.0.1.1 server_name
我尝试删除我正在使用 ssh 的用户主目录中的 .Xauthority 文件,并让它在下次登录时重新创建,但错误仍然存在。已确认 x11-apps 是最新版本
sudo apt install x11-apps
x11-apps is already the newest version (7.7+8build2).
重现步骤:
在 Windows 11 笔记本电脑上安装了带有 Xserver 的 cygwin
打开 cygwin,在提示符下使用命令启动 Xserver
startxwin -- -listen tcp
在 cygwin 中打开第二个窗口
在第二个终端屏幕上设置显示变量 ->
export DISPLAY=11.0
尝试 ssh ->
ssh -Y -C user@IP firefox
提示输入密码。输入密码后出现错误:
Could not find ':' in DISPLAY: 11.0 Error: Can't open display: localhost:13.0
然后我使用命令“$ export DISPLAY=13.0”将我的 cygwin 显示更改为 13.0,然后出现错误。
警告:无 xauth 数据;使用虚假身份验证数据进行 X11 转发。在 DISPLAY: 13.0 中找不到“:”错误:无法打开显示:localhost:14.0
有趣的是,如果我仅使用 PuTTy 并以同一用户身份 ssh 到服务器。尝试从命令提示符在后台打开 Firefox,使用命令时
firefox &
出现错误:
server_name:~$ MoTTY X11 proxy: Unsupported authorisation protocol Error: cannot open display: localhost:11.0
有想法该怎么解决这个吗?
嗨,Jos 我试了一下你的建议,但仍然出现错误。在 cygwin 中启动 Xserver 时,我看到它将显示导出为 0:0 -> winClipboardThreadProc - DISPLAY=:0.0。我已按照你的建议导出显示:$ export DISPLAY=:0 建立 ssh 连接 $ ssh -Y -C user@IP user@IP 的密码:连接到 Ubuntu 服务器尝试启动 firefox kw@kpmg-apicup:~$ firefox & [1] 21635 user@server_name:~$ X11 连接因身份验证错误而被拒绝。错误:无法打开显示:localhost:12.0
我似乎通过继续在 Google 上搜索找到了解决方案。为了防止将来其他人遇到此问题,以下是我所做的。
- 在 Windows 11 笔记本电脑上打开 cygwin 会话
- 从那里启动 xserver 运行命令 #startxwin ---listen tcp
- 检查 cygwin 导出的内容,在我的例子中是 0:0
- 在 cygwin 上打开一个新窗口并导出显示#export DISPLAY=0.0
- 在与 Ubuntu VM 的 ssh 连接上,我输入以下命令来启动 Firefox,应以您想要连接的用户身份执行 #XAUTHORITY=$HOME/.Xauthority /snap/bin/firefox (在 Google 上找到)
- 几秒钟后,虚拟机中的 Firefox 浏览器出现在我的笔记本电脑屏幕上。
答案1
我似乎通过继续在 Google 上搜索找到了解决方案。为了防止将来其他人遇到此问题,以下是我所做的。
- 在 Windows 11 笔记本电脑上打开 cygwin 会话
- 从那里启动 xserver 运行命令
# startxwin -- -listen tcp
- 检查 cygwin 导出的内容,在我的例子中是 0:0
- 在 cygwin 上打开一个新窗口并导出 Display
# export DISPLAY=0.0
- 在与 Ubuntu VM 的 ssh 连接上,我输入以下命令来启动 Firefox,应该以您想要连接的用户身份完成
# XAUTHORITY=$HOME/.Xauthority /snap/bin/firefox
(在 Google 上找到此命令) - 几秒钟后,虚拟机中的 Firefox 浏览器出现在我的笔记本电脑屏幕上。