我在 Surface Pro 3 上运行 Windows 10。我安装了 Cygwin,还添加了一些有用的软件包(gvim、nedit、emacs、vim、g++)。但是,当我运行 gvim 时,我收到“无法打开显示”。 nedit 也会发生同样的情况。当我 echo $DISPLAY 时,我什么也没显示,所以我将 DISPLAY 设置为:0.0。我仍然收到“无法打开显示”的消息。我尝试删除 cygwin 并重新安装,但遇到了同样的问题。
答案1
Unix GUI 程序通过X服务器。 Cygwin 不会自动启动 X 服务器。你需要安装包xorg-server
和xinit
, 和跑步startxwin
。
答案2
来源 :CygwinX 常见问题解答:
从 X server 1.17 开始,默认情况下,服务器不侦听 TCP/IP 连接,仅接受 unix 域套接字上的本地连接。对于本地客户端,使用DISPLAY=:0.0
, 而不是DISPLAY=localhost:0.0
, DISPLAY=127.0.0.1:0.0
,DISPLAY=::1:0.0
等
如果它不起作用(如果您从远程连接):使用该-listen tcp
选项恢复以前的行为,允许 X 服务器也打开 TCP/IP 套接字,例如
startxwin -- -listen tcp
最后,不要忘记xhost +
在 Cygwin 终端中运行。
答案3
对我有帮助的是改变
DISPLAY=:0.0 <mycommand>
到
DISPLAY=localhost:0.0 <mycommand>
答案4
我是如何让它工作的:
- 安装软件包
xorg-server
和xinit
. 在 Cygwin shell 窗口中运行以下命令:
startxwin
DISPLAY=localhost:0.0 xterm
然而,说实话,默认的 CygWin 控制台比 XTerm 更好,所以我继续使用它。