从 Windows 服务器远程运行 X windows 应用程序
这似乎是一个奇怪的问题,但它对我目前正在进行的项目有一定的价值。
我有一台运行 XMing(或 Cygwinx)的 Windows 2003 服务器。 我使用启用了 X11 转发的 ssh 从 Ubunutu 连接到服务器。 当我在 Windows 2003 服务器上启动任何 X 应用程序(例如 xeyes)时,该应用程序会显示在 Windows 服务器上,而不是本地 Ubuntu 计算机上。
Xming 是一个完全实现的 X 服务器,因此我假设它将支持为远程客户端提供 X 应用程序。 有什么建议为什么这不起作用吗?
This may seem like a strange question but it has some value for the project I am currently working on.
I have a Windows 2003 server running XMing (or Cygwinx). I am connecting to the server from Ubunutu using ssh with X11 forwarding enabled. When I launch any X application on the Windows 2003 server (such as xeyes) the application displays on the Windows server and not on the local Ubuntu machine.
Xming is a fully implemented X Server so I assumed it would support serving X applications to remote clients. Any suggestions why this is not working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正在发生的事情是正确的行为。 X Server (XMing) 在 Windows 2003 上运行
并向您提供 Xeyes 应用程序(客户端)。
来自 Wikipedia 的一些编辑...
X 服务器接受图形输出请求(您的 W2003 服务器的显示器)并发回用户输入(来自键盘、鼠标或触摸屏)。
X Window 系统的客户端-服务器术语(用户的终端是服务器,应用程序是客户端)经常使新用户感到困惑,因为这些术语看起来颠倒了。 但X站在应用程序的角度,而不是最终用户的角度:X为应用程序提供显示和I/O服务,因此它是一个服务器; 应用程序使用这些服务,因此它们是客户端。
What is happening is the correct behaviour. The X Server (XMing) is running on Windows 2003
and serving the Xeyes application (a client) to you.
From Wikipedia with some edits ...
The X server accepts requests for graphical output (your W2003 server's display) and sends back user input (from your keyboard, mouse, or touchscreen).
X Window System's client-server terminology — the user's terminal being the server and the applications being the clients — often confuses new users, because the terms appear reversed. But X takes the perspective of the application, rather than that of the end-user: X provides display and I/O services to applications, so it is a server; applications use these services, thus they are clients.
听起来 ssh 服务器没有确认 X 转发请求。 登录后,检查环境,您应该看到 DISPLAY 变量集,指示主机和显示(例如 localhost:10); 如果缺少该选项,X 客户端将使用默认(例如 localhost:0)显示。
此外,远程计算机上的 X 服务器(通过 ssh 进入的计算机)与此无关,只有安装在那里的 X 客户端。 当您 ssh 到远程计算机时,您的本地 Ubuntu 主机是 X 服务器,接受来自远程 X 客户端的连接。
Sounds like the ssh server is not acknowledging the X forwarding request. After you login, check the environment and you should see the DISPLAY variable set, indicating host and display (e.g. localhost:10); if that is missing, the X clients will use the default (e.g localhost:0) DISPLAY.
Also, the X server on the remote machine (the one ssh'd into) has no bearing on this, only the X clients installed there. When you ssh to the remote machine, your local Ubuntu host is the X server, accepting connections from the remote X clients.