我有以下背景:
- 在 Windows 7 下工作
- 想要在 Linux 下开发 Ruby on Rails
- 想要使用 X-Windows(例如 Sublime Text 或其他工具)
- 已安装 Cygwin 和 X-Windows
我现在遇到以下问题:当我处于离线状态时,我的主机(Windows 7)没有 IP 地址。当我尝试启动 X-Windows(本地)时,这可以正常工作,但我没有 IP 地址来定义显示变量,例如在 VMware 映像中启动 Linux 下的 xterm。VMware 映像(Ubuntu Linux)有一个稳定的 IP 地址,无论是在线还是离线,但我的主机(Windows 7)没有。
我可以做些什么来离线使用 VMware 映像中的 X-Windows?我当然可以使用ssh
等tmux
,但我想知道是否有解决该问题的方法。
答案1
显而易见的解决方案是在 Vmware 中设置仅主机网络,Windows 将在该网络上拥有静态地址。这可以通过向 VM 添加另一个网络适配器来实现。您可能必须为 Windows 中的接口设置静态地址,但这不应干扰其他任何事情。
类似地,虚拟机的 NAT 设置包括主机的静态地址。如果您不需要桥接,这是一个选项。
另一个解决方案是运行本地 X 服务器,并使用 ssh 上的 X 作为 xterms。
答案2
最简单的方法是在服务器端启动 Xvnc 并使用任何 VNC 客户端进行连接。您的 Windows 计算机中不需要任何 X 服务器。如果您在开发过程中不需要 Windows 本身,最好将 Xvnc 显示大小设置为您在 Windows 工作站中使用的大小,并始终使用全屏模式。除了您错过音频外,它看起来就像您在 Linux 服务器后面工作一样。好消息是您不需要自己的工作站来访问它,可以使用任何可以轻松安装 VNC 客户端的 PC。为了确保安全,请使用 SSH 端口转发(也适用于 putty)并让 Xvcc 仅监听环回 IP
以下是我的使用方法。添加 /etc/X11/xdm/Xservers 行:
:1 本地 /usr/bin/Xvnc:1 -localhost -geometry 3840x1200 -depth 24 -desktop banana -wm -dpi 95
然后,您可以连接到 :1,但只能从本地主机连接。要远程连接,请先使用“LocalForward 5901 127.0.0.1:5900”通过 SSH 连接到您的服务器,然后从您的工作站打开屏幕“:1”