![X11 无法从 putty 和 XMing 转发到 centos 6.4](https://linux22.com/image/31918/X11%20%E6%97%A0%E6%B3%95%E4%BB%8E%20putty%20%E5%92%8C%20XMing%20%E8%BD%AC%E5%8F%91%E5%88%B0%20centos%206.4.png)
我在 VirtualBox 上运行 centos 6.4。我可以通过腻子连接到它。但是 X11 转发不起作用。我正在运行 Xming 6.9.0.31,并且为 X11 转发设置了 putty 0.62:
但是,当我连接时未设置 DISPLAY:
[jdearing@njlt0151 ~]$ echo $DISPLAY
[jdearing@njlt0151 ~]$
并且启动终结者失败
[jdearing@njlt0151 ~]$ terminator
Traceback (most recent call last):
File "/usr/bin/terminator", line 30, in <module>
import gtk, pango, gobject
File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
_init()
File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
_gtk.init_check()
RuntimeError: could not open display
[jdearing@njlt0151 ~]$
我究竟做错了什么?
答案1
为了让 X11 转发工作,我需要执行yum install xauth
.此时终结者没有正确渲染控制台字体。我并不是特别关心拥有最少的字体集,所以我这样做了yum -y groupinstall fonts
并重新启动了终结者。字体渲染正确。
答案2
您需要在该文本框中将 X 本地显示设置为“localhost:0”。
需要设置显示吗?
通常,您不需要在该框中设置任何内容,“启用 X11 转发”-X
与您ssh
从终端设置开关的含义相同。但某些 X 服务器(例如 Xming 和 Exceed)在某些情况下不会向前显示,因此明确设置它可以防止这种情况发生。
参考
答案3
我这样做的方式是(在 Debian 上)用于服务器(即最小的X 安装)是通过 'xvfb' 包,这是 X.Org 的“假”虚拟帧缓冲区 X 服务器。还需要安装“xauth”和“xterm”软件包。我很确定安装的其他所有内容都是为了满足这些的依赖关系。完成此操作后,可以通过 ssh 运行“xterm”(任何其他 GUI 程序也应该如此)。
我还没有尝试过通过 putty 使用 X 转发(我通常不运行 Windows),但如果我记得的话,我会在某个时候尝试这样做。
答案4
今天晚上我遇到了类似的问题。同样,我在 Microsoft Windows 主机操作系统上运行 Virtualbox。我使用的客户操作系统是 Kubuntu,但 XMing、PuTTY 和 Virtualbox 之间的配置当然是相似的。虽然我的回复有点晚了,但也许会有所帮助。
这个解决方案是用 VirtualBox 制作的虚拟设备出版一个网络地址转换键入主机操作系统的网络接口适配器。对于其他网络接口适配器,配置可能有所不同。
使用 NAT 适配器时,此配置需要 Microsoft Windows 端该适配器的 IP 地址。该地址可以在 Windows 资源管理器 shell 中通过“网络和共享中心”窗口确定,在该窗口中“单击” _Virtualbox Host-Only Network adapter_
。在出现的“状态”窗口中,选择“详细信息”按钮后,IPv4 Virtualbox 仅主机网络接口的地址(位于接口的 Microsoft Windows 端)将显示在该状态窗口中,在我的 PC 上,该地址是 192.168.50.1。
如果 IP 地址与其他网络设备发生冲突,可以通过“属性”窗口(可从同一“状态”窗口访问)更改 IP 地址,然后选择 IPv4 项目和“属性”按钮,然后输入不同的IP地址。当然,地址更改时 Virtualbox 虚拟设备不应运行,否则 Windows 可能无法正确传播该接口的地址更改。
因此,确定了适配器 Windows 端的 IP 地址后,就可以运行 VirtualBox Qt GUI,以添加转发端口Virtualbox 中同一虚拟设备的规则。我确信有一个方便的 shell 命令可用于交替使用 VBoxManage 添加端口转发规则。当然,GUI 配置也相当简单。
可以通过以下方式在相应的 Virtualbox 虚拟设备中更改端口转发'联网'虚拟设备下的页面设置对话窗口。 “端口转发”按钮显示相应虚拟设备中端口转发规则的简单配置窗口。
为 SSH 配置添加新的端口转发规则,即从适配器确定的 IP 地址,在 Microsoft Windows 来宾操作系统中,该地址将作为“主机 IP”地址输入。大于 1024 的任意端口号将作为端口转发规则的“主机端口”输入。然后,虚拟设备内的 SSH 服务器端口(通常为 22)将被添加为端口转发规则的“访客端口”。就我个人而言,我将“访客 IP”字段留空,效果也一样。
因此,这将有助于配置 Virtualbox 以允许从主机 PC 到来宾操作系统的 SSH 连接。 (当然,当选择 NAT 仅主机适配器时,人们可能希望假设这不是必需的。显然,即使使用 NAT 网络适配器类型,也需要端口转发规则)可以使用常规 Putty 会话,例如 192.168.50.1:2222
我在自己的配置中使用了 Xlaunch。显然,使用 Xlaunch 创建的配置将有助于确保 XMing 管理端口转发的 X11 部分,就像将 Xming 配置为使用 PuTTY 或 SSH 一样。在这么多的配置中,我还没有直接与 PuTTY 进行交互。
简单地说,当使用 Xlaunch 进行 Xming 配置时: 然后,在 Xlaunch 配置对话窗口的最后一页中,必须输入端口转发规则中的“主机端口”,以及 PuTTY 或的相应命令行参数SSH,例如“-P 2222”,当然不带引号。那将进入“PuTTY 或 SSH 的附加参数”Xlaunch 配置窗口中的字段。在生成的dot-xlaunch
XML 文件中,它显示为ExtraSSH="-P 2222"
然后,“它就可以了,”哈哈。当然,如果网络接口适配器不是网络地址转换如果在虚拟设备的设置中选择,则成功的配置可能与此处所示的配置有很大不同。