一点背景知识:我们的商店传统上运行 Microsoft 软件堆栈,但现在我们计划使用嵌入式 Linux,我发现自己扮演着哥伦布的角色:征服新世界。我提到这一点是因为这意味着我缺乏上下文来解释您可能认为的简单答案。如果您可以通过与 Windows 的工作原理进行比较来解释事物,这将极大地帮助理解。
如果我正确理解了 X-Windows 的概念,那么应用程序就是 X 客户端,窗口 API 通过 TCP 套接字向 X 服务器发送/接收 UI 消息(向 X 服务器发送窗口绘制命令并接收鼠标)以及来自其中的键盘活动消息)。
据我了解,使用套接字意味着应用程序代码可以在一个 Unix 机器上运行,而 UI 则在 X 服务器上运行(例如)
- 同一台电脑
- 另一个在同一网络上运行 X-server 的 Unix 机器
- 在同一网络上运行 X-server 的 Windows 机器“W”
- 任何在互联网上任何地方运行 X 服务器的机器,只要防火墙和路由都经过适当配置,以允许所需的套接字。
在我的办公桌上,我有一个使用 Cinnamon 桌面的 Linux Mint13 主机,名为奔向黎明。它以35连接到我的192.168.174网络,我的Win7和11在同一网络。他们可以相互ping通,并且SAMBA允许他们之间的文件共享。我已经在 ForwardUntoDawn 上安装了 telnetd 和 sshd,我可以从 Win7 建立 telnet 和 ssh 会话,并进行身份验证以获取命令行。
在我的 Win7 系统上,我安装了 Xming,并带有 Xming 和 Xlaunch 桌面图标。运行 Xlaunch 我会这样回答提示:
- 多个窗口/显示器 0
- 启动程序: gimp 使用 SSH (C:\Cygwin\bin\SSH.exe)
- 剪贴板是,没有字体服务器或参数
这会暂时导致一个黑色的命令窗口,但在我可以阅读消息之前它就消失了。
谁能指导我下一步,或者更适合 Xming 的需求? (我选择 gimp 只是因为我知道它已经安装并且可以工作。)
请注意,要使用下面的答案,请阅读注释并注意,您必须使用 cygwin\bin\startxwin.exe 启动 cygwin xserver 才能使其正常工作,我想这会初始化一些环境变量。
我最终没有使用Xming。在我在 Linux 机器上正确设置 ssh 设置并成功使用 Cygwin 工具后,我再次尝试使用 Xming。使用 Xlaunch 启动的应用程序会启动,但随后会突然消失。严格使用 Cygwin 工具不会出现该问题。
答案1
我不知道 cygwin 的 SSH.EXE 的默认值是什么,但对于 openssh 来说,默认值是不启用 X11 转发。
可以通过修改 ssh 客户端的配置文件(例如 unix/linux 机器上的 ~/.ssh/config)或使用-X
ssh 命令行上的选项来覆盖该默认设置 - 例如ssh -X remotehost gimp
可能值得检查 cygwin SSH.exe 是否具有相同的默认值和/或相同或相似的选项。
顺便说一句,当您 ssh 到 Mint 框然后gimp
从命令行运行时会发生什么?如果不起作用,请使用 重试-X
。
最后,你可能想尝试一下油灰作为 Windows 上的 ssh 客户端。