2013-05-04 06:02:20 +0000 2013-05-04 06:02:20 +0000
16
16

如何让X11转发在Windows上使用PuTTY和Xming?

我一直想让X11转发与PuTTY一起工作,我使用的X Window系统是Xming。当我运行Xming并建立一个新的连接到我的服务器时,我在一个命令后收到以下信息。

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
**(gedit:6990): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
**(gnome-system-monitor:7024): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

我该如何解决这些错误,让X11转发整体工作?

答案 (2)

16
16
16
2015-06-01 13:27:12 +0000

我有2个问题,发现这个问题和我的问题最接近,所以我想我的解决方案会对其他来到这里,试图解决和我同样问题的人有帮助。我的系统有Cygwin/X (xinit 1.3.4-5), 和PuTTY (0.64). 我通过在本地startxbin上设置–listen tcp和把.Xauthority的路径传给putty来解决这个问题。

首先,关于 “PuTTY X11代理:无法连接到转发的X服务器。网络错误。Connection refused "错误,你需要让X会话监听连接。打开cygwin终端,编辑/usr/bin/startxwin,找到这行… …

defaultserverargs="-multiwindow"

并将其改为……

defaultserverargs="-multiwindow -listen tcp"

其次,针对 "Authorization required, but no authorization protocol specified "的错误,你需要让putty使用正确的xauth令牌(似乎putty内部发生了一些奇怪的事情,所以xauth list本地并没有给出令牌,转发的连接可以通过在xauth add <token>中传递令牌来使用,它们似乎需要由PuTTY在连接时设置,以使它们工作)。
在windows域中找到你的 ~/.Xauthority文件所在的路径,运行(在cygwin终端中)

cd ~
explorer .

查看.Xauthority文件的属性,并记下它的位置(选择它并按CTRL+C把它放到剪贴板中)。

像上面的例子一样启动PuTTY (复制自 http://www.math.umn.edu/systems/guide/putty/_xwin32.html )

在 "控制SSH X11转发的选项 "页面,你应该勾选 "启用X11转发",并将 "MIT-Magic-Cookie-1 "设置为协议。
在'本地显示的X授权文件'字段下,点击浏览,使用位置到你之前记下的.Xauthority文件,找到.Xauthority文件。点击打开填充该字段,然后回到会话(在PuTTY配置中)并保存会话。然后你就可以点击打开了。

现在应该允许你连接了。

9
9
9
2013-05-06 18:23:38 +0000

复制自: http://www.math.umn.edu/systems/guide/putty/xwin32. html

配置Putty

  • 添加Unix主机名
  • 将协议切换到SSH
  • 在保存的会话中键入会话名称
  • 点击 “保存”

  • 从 “类别 "列表中展开 "SSH "选项卡
  • 从 "SSH "列表中选择 "X11”
  • 在 “SSH "列表中选择 "X11"。勾选 "启用X11转发 ”

  • 从 “类别 "列表中选择 "会话 ”
  • 点击 “保存 ”

在Windows上启动X服务器

配置Xming

只要运行 “All Programs > Xming Xming",如果你已经配置了PuTTY,它应该可以工作。

连接

-启动Xming -启动Putty -双击你想要的已保存的会话

-按要求输入用户名和密码 -现在你应该可以在本地桌面上从主机运行X应用程序了

编辑。要修复wrong authentication protocol attempted错误,请尝试在/etc/ssh/sshd/sshd_config文件中启用 "ForwardX11Trusted yes",然后重新启动OpenSSH服务器。