5

我在运行 Windows XP 的笔记本电脑上安装了 Xming X Window Server 以连接到一些 UNIX 开发服务器。

当我直接连接到办公室的公司网络时,它工作正常。但是,当我通过 VPN 远程连接到网络时,它不起作用。

当我在远程连接时启动 Xming 时,我的终端窗口都没有显示。

我认为这可能与连接时未将 DISPLAY 环境变量正确设置为笔记本电脑的 IP 地址有关。

我注意到,当我在远程连接时执行 ipconfig 时,我的笔记本电脑有两个 IP 地址,一个是从公司网络分配给它的,另一个是我在我的“本地网络”上为它设置的本地 IP 地址。调制解调器/路由器。

我需要在 Xming 中进行一些配置更改以支持通过 VPN 使用它吗?

4

9 回答 9

5

可能是 X 身份验证、X 服务器绑定到接口或您的 DISPLAY 变量。我自己不使用 Xming,但有一些一般现象需要检查。您可以手动验证 DISPLAY 变量是否正确的一项测试是:

  1. 启动您的 VPN。运行 ipconfig 以确保您拥有您提到的两个 IP 地址(您的本地 IP 和您的 VPN IP)。
  2. 开始小明。运行“netstat -n”以查看它是如何绑定到接口的。您应该会看到显示 localIP:6000 或 VPNIP:6000 的内容。它可能不是 6000,但很可能会是这样。如果没有 VPNIP:6000,它可能只绑定到您的本地 IP 甚至 127.0.0.1。这可能不适用于 VPN。检查是否有一些 Xming 设置使其绑定到其他或所有接口。
  3. 如果您看到 VPNIP:6000 或类似的东西,请记下它所说的内容并远程 shell 进入您的 UNIX 主机(希望类似于 ssh,如果不是您必须获得文本终端的话)。
  4. 在 UNIX 终端上输入“echo $DISPLAY”。如果没有显示任何内容,请尝试“export DISPLAY=VPNIP:0.0”,其中 VPNIP 是您的 VPN IP 地址,0.0 是您在步骤 3 中看到的端口减去 6000,末尾为 .0(即 6000 = 0.0, 6010 = 10.0)。
  5. 在 UNIX 主机上运行类似 'xclock' 或 'xterm' 来查看它是否运行。错误消息应该提供信息。它会告诉您它无法连接到主机(连接问题)或身份验证失败(您需要协调主机和本地机器上的 Xauth 或本地机器上的 Xhosts)。

如果您有一个本地受保护的网络并且您要通过 VPN,那么打开 Xhosts(对所有主机使用 + 或类似的东西)并不算太糟糕。希望这将使您开始追踪问题。由于它通过 VPN 或简单的 ssh 连接工作,因此通常有用的另一个选项是 ssh 隧道或通过 ssh 的 X11 转发。这通过将 UNIX 主机上的端口重定向到 X 服务器机器上的本地端口来模拟与本地机器上的 X 服务器的连接。对于本地 6010 端口,您的显示通常类似于 localhost:10.0。

X 的设置可能很麻烦,但一旦你掌握了它,它通常会很好用。

于 2008-08-07T13:11:03.067 回答
5

感谢@Stephen 和@Greg Castle 的帮助,使用它我设法解决了我的问题。

为他人提供基本指南(从头开始):

在 Windows PC 上使用 Xwindows 通过 VPN 连接到 UNIX 服务器

你需要从什么开始:

该怎么办:

  1. 在您的 Windows PC 上安装上述两个

  2. 从 Windows 开始菜单中选择:程序 -> Xming -> Xming

  3. 在您下载到的位置运行 Putty.exe 程序

  4. 在 PuTTY 配置屏幕中,执行以下操作:

    • 将 IP 地址设置为 UNIX 服务器的 IP 地址

    • 选择 SSH 协议单选按钮

    • 单击配置屏幕左侧窗格中的 SSH : Tunnels 类别

    • 单击启用 X11 转发复选框

    • 单击打开按钮

    • 像往常一样登录到您的 UNIX 服务器

    • 检查包含 X windows 实用程序的目录是否在您的路径中,例如 Solaris 上的 /usr/X/bin

    • 在您的 putty 窗口中运行您的 X Windows 命令,它们将在您的桌面上生成新窗口

于 2008-08-20T11:53:57.940 回答
3

Connection > SSH > X11 > X display location通过将,中的 PuTTY 配置替换localhost:0.0VPNIP:0.0. VPNIP可以VPN statistics client address information通过左键单击VPN client锁定图标并选择来看到Statistics...

我没有搞砸远程主机上的 DISPLAY 环境变量。但是,和其他人一样,我修改了远程主机上的 sshd_config,添加了以下几行:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet
于 2015-01-09T01:16:43.000 回答
1

除了 Xming 的问题,我什么都没有。当我可以让它工作时它非常慢(这是通过VPN)。IMO X 并非旨在通过慢速连接运行,因为它太健谈了。我所说的慢速连接是指任何低于 LAN 连接的东西。

我的解决方案是使用 x11vnc。它允许您通过 VNC 访问现有的 X11 会话。我只是通过 VPN SSH 进入我的盒子并启动:

$ x11vnc -display :0

这样我就可以访问白天打开的所有内容。然后,当我不这样做时,我只是在终端中退出(Ctrl- C)以关闭 x11vnc。

于 2008-08-07T13:05:26.993 回答
1

我在 Windows 10 机器上遇到了与 Xming 和 Putty 相同的问题,并在此处找到了解决方案。我已经克服了将隧道添加到 PuTTY 中的会话的问题。但首先你需要检查;

  • /etc/ssh 下的sshd_config(在 rhel7 中)。
  • 在左侧导航窗格中启用 X11 转发Connections > SSH > X11
  • /etc/sysconfig/ 下的iptables (在 rhel7 中)。如果端口被阻止并且您有权限,请打开 6000 的端口。我在第一个拒绝行之前添加了以下行,以打开从 6000 到 6003 的端口。在您的情况下可能更具体。

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

然后;

  • 进入Connections > SSH > TunnelsPuTTY 并添加一个带有 的隧道Source Port=6000Destination=127.0.0.1:6000然后选中Remote单选按钮。然后单击Add按钮。
  • 建立 SSH 连接后,使用以下命令手动设置 DISPLAY 变量:
    export DISPLAY=127.0.0.1:0.0

更多信息;
如果将DISPLAY变量设置为127.0.0.1:1.0,它将通过 6001 端口进行通信。在这种情况下,您需要为端口号 6001 添加另一个隧道。

于 2017-08-31T10:20:18.557 回答
0

没有确切的问题,但我认为您需要查看 xhost 并确保允许 vpn 远程向 x 服务器发送数据。

此链接可能会有所帮助: http: //www.straightrunning.com/XmingNotes/trouble.php

于 2008-08-07T10:45:04.517 回答
0

通过 SSH 进行X11 转发而不是直接摆弄 DISPLAY 变量可能会更好。使用 SSH 进行 X11 转发是安全的,并且使用现有的 SSH 连接来建立隧道,因此通过 VPN 工作应该没问题。

幸运的是,这对 Xming 来说相当简单。如果您从 Xming 中打开您的连接(例如 plink 选项),我相信它会默认设置 X11 转发。如果您使用另一个 SSH 客户端(例如 PuTTY)进行连接,那么您只需启用 X11 转发(例如 'ssh -X user@host')。在 PuTTY 中,选项位于 Connection -> SSH -> X11 -> 单击“Enable X11 Forwarding”。

确保 Xming 在您的笔记本电脑的后台运行并执行标准 X 测试“xclock”。如果您收到类似“与 localhost:19.0 的 X 连接断开(显式终止或服务器关闭)”之类的消息。那么Xming很可能没有运行。

另外,请确保您没有在任何启动脚本中明确设置 DISPLAY 变量;SSH 将为 X11 隧道设置一个别名(类似于 localhost:10 或在上面的示例中为 localhost:19),并自动将 DISPLAY 设置为该值。覆盖 DISPLAY 显然意味着您将不再指向正确的 X11 隧道。另一方面,其他没有设置 SSH X11 Forwarding 的终端可以使用相同的 DISPLAY 值并利用隧道。

我更喜欢 PuTTY 选项,但我的几个同事在 Xming 中使用 plink。

于 2008-08-07T14:31:09.207 回答
0

putty + XMing - 我必须手动设置 DISPLAY 环境变量才能运行(同时在 putty - Connection/SSH/X11 中检查“启用 X11 转发”)

导出显示=0:10.0

(它被设置为“localhost:10.0”,这不起作用)

于 2009-02-15T20:57:10.417 回答
0

您必须将 Linux 机器的 DNS 名称和 IP 地址添加到 C:\Program Files\xming\X0.hosts 文件中。文件应包含:

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

这是正确的答案:https ://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming

于 2018-11-16T01:55:06.553 回答