如何使X11转发能够在PuTTY和Xming的Windows上运行?


16

我一直想让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转发整体上起作用?


如何解决呢?
— user568109

您应该创建一个帐户,提出一个新问题,然后在此处链接它,以便我可以看到它。
— NobleUplift

Answers:


9

复制自:http : //www.math.umn.edu/systems_guide/putty_xwin32.html

配置腻子

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

<img src ='putty_xwin32 / default_putty_rev-sm.png'/>

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

<img src ='putty_xwin32 / xfwd_putty_rev-sm.png'/>

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

在Windows上启动X Server

配置Xming

只需运行“所有程序> Xming Xming”,如果您配置了PuTTY,它应该可以工作。

连接中

  • 开始Xming
  • 开始腻子
  • 双击要保存的会话

<img src ='putty_xwin32 / session_putty_rev-sm.png'/>

  • 根据要求输入用户名和密码
  • 您现在应该能够从本地桌面上的主机运行X应用程序

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


我从字面上读了完全相同的指南(这是我发现Xming的方式),但是发现它完全没用,因为它告诉了我我已经知道的事情,或者仅通过运行这两个程序就可以知道。
— NobleUplift

我有点能够使X11转发正常工作,但是我想这个答案是您可以做什么的极限。我不知道为什么我的问题为何为-1 ...
— NobleUplift

它是如何解决问题的。这只是在ssh上配置x的教程。
— user568109

@ user568109如果您遵循这些指示,然后尝试调用任何基于GUI的程序,它将在本地显示。
— 克鲁格2013年

7
ForwardX11Trusted我们是客户端设置。将这些放在sshd_config将在最好的没有影响,防止SSH服务器从最坏的启动。-1。这是sshd_config对ssh_config,如果你正在寻找man的页面。
— 0xC0000022L

16

我遇到了2个问题,发现这个问题与我的问题最接近,因此认为我的解决方案对那些来这里解决与我相同的问题的其他人会有所帮助。我的系统具有Cygwin / X(xinit 1.3.4-5)和PuTTY(0.64)。通过在本地startxbin上设置--listen tcp并将.Xauthority的路径传递到腻子,我设法做到了底线。

首先,参考“ PuTTY X11代理:无法连接到转发的X服务器:网络错误:连接被拒绝”错误,您需要使X会话侦听连接:打开cygwin终端并编辑/ usr / bin / startxwin找到线...

defaultserverargs="-multiwindow"

并将其更改为...

defaultserverargs="-multiwindow -listen tcp"

其次,为了响应“需要授权,但未指定授权协议”错误,您需要使腻子使用正确的xauth令牌(在腻子内部似乎发生了一些奇怪的事情,因此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配置中)并保存会话。然后,您可以单击打开。

现在,它应该允许您连接。


3
我还需要将设置X authority file for local display为指向.Xauthority我的cygwin主目录中的文件夹。谢谢!
— HeatfanJohn

0

您可以

xauth list

然后

xauth add <your display>

2
命令行是xauth add dpyname protoname hexkey。
— NobleUplift 2013年

奇怪的是,这不适用于我转发的腻子连接。
— sibaz '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.