13

我刚换了台式电脑。我以前的电脑和这台电脑都有 Windows XP。为了与我们拥有的许多 Linux 服务器一起工作,我安装了 Cygwin 及其 xterm 包。但是,我无法像以前的计算机那样运行 startx 来启动 X-window 服务器。我一直在网上寻找为什么我的安装中缺少 startx,但我还没有找到任何东西。任何帮助将不胜感激。


[做更多研究] 好吧,我刚刚安装了 xinit 包,我不记得以前必须这样做。(这可能是我上次安装 Cygwin 时对 xterm 包的要求。) startx 现在存在,但我不会说它有效。它启动的 X 窗口服务器创建了一个窗口,该窗口覆盖了我的整个显示器,其中包含三个终端,这与我习惯的旧的 25 行 x 80 列单终端窗口不同。更糟糕的是,我不能像以前那样只生成子窗口,这是将 Cygwin 与 X-windows 结合使用的真正威力。

4

5 回答 5

9

好的,经过更多研究并从我的一位同事那里获得帮助后,我找到了解决问题的方法。

发生的事情是,虽然 startx 存在,但它现在默认以全屏模式而不是多窗口模式启动 X 服务器。回想起来,我可能已经将 /etc/X11/xinit/xinitrc 复制到 ~/.xinitrc 并对其进行了自定义。然而,事实证明还有其他更容易修改的 X 服务器启动脚本。(见http://x.cygwin.com/docs/ug/using.html。)

在这种情况下,我使用了脚本 startxwin.bat。然后我对 startxwin.bat 进行了一些更改:

  • 我在 CYGWIN_ROOT 中添加了一个驱动器号,因为我的工作环境在 C 驱动器之外有我的主目录。
  • 我在 xterm 调用中添加了一个“+tb”选项来抑制 X 窗口顶部的菜单栏。

有趣的是,通过转到开始 → 程序 → Cygwin-X → Xwin Server,我可以打开 GUI Cygwin X 窗口,而无需打开标准的 Cygwin 命令行。这绝对不是我之前安装的情况。

我应该补充一点,我在扩展我的包选择后进行了这些更改。我不只是安装 X11 → xterm,而是按照http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html的第 15 步中的建议安装了:

  • X11 → X-开始菜单图标
  • X11 → 初始化
  • X11 → xorg-文档
  • X11 → xorg-服务器

(这个选择选择了 X11 → xterm 作为必需的包。)虽然我看不出上面的说明为什么不能只安装 X11 → xterm 和 X11 → xinit 的明显原因,但我没有把这个理论付诸实践,并且我不想吹掉我当前的安装并重建它来证明我的理论。

我希望这可以帮助其他人避免一些痛苦。

于 2009-02-06T01:58:43.627 回答
5

免责声明:我知道这个答案不能直接回答您的问题,但它提供了一个很好的选择。

我使用 Cygwin + XMing运行远程 X 应用程序:

  1. 启动小明
  2. 启动我最喜欢的 Cygwin shell (zsh)

    export DISPLAY=localhost:0
    ssh -X myserver.domain
    
  3. 运行 X 程序

奇迹般有效。最好的部分是 XMing 可以巧妙地将 X 窗口集成到 Windows GUI 中,即每个 X 应用程序都有自己的全权窗口。

于 2009-02-05T09:28:00.930 回答
2

谢谢,这对我有所帮助(了解如何安装xinit)。那个新的 startx 窗口真的很糟糕,一位朋友帮我用另一种方式解决了它:从startxwin.sh而不是startx开始。然后它看起来像“旧”的,并且工作得更好。

于 2009-02-07T09:28:17.480 回答
1

当您安装 Cygwin 时,您是否安装了完整的软件包集?默认情况下仅安装可能不包含 X 的软件包的基线。

再次运行 setup.exe 并确保安装了 X11 软件包。我只需单击“全部”旁边的小双箭头,直到它显示“安装”。可能是您选择了“默认”。

最好进行完整安装,因为我记得过去与 Cygwin 依赖项有问题,现在,当我运行“开始”、“所有程序”、“CygWin-X”、“XWin 服务器”时,它运行良好,打开了一个 shell,然后 'xterm &' 打开另一个 shell。

所以我真的认为你需要安装很多。您至少可以尝试整个 X11 组(不仅仅是 xinit),但您也可以尝试很多,尤其是考虑到您获得的强大命令。

于 2009-02-05T03:12:57.990 回答
1

我总是运行 Cygwin install 两次……第一次,我只安装默认软件包,第二次,我安装所有东西。下载需要很长时间,但通过这种方式,我总是拥有几乎所有我可能想要的东西。(我喜欢在 Cygwin 上我可以安装所有东西并且没有冲突,这与某些 Linux 发行版不同,其中有些软件包以不同的方式执行相同的操作,但不能同时安装。但当然 Cygwin 更容易这比完整的操作系统更重要……例如,没有 Cygwin sendmail。)

我明天必须在新机器上安装 Cygwin,所以这个问题让我很害怕。如果 startx 不工作,我会死的。我希望事实证明你只是缺少一个包裹。我强烈建议安装所有东西。

于 2009-02-05T03:27:17.913 回答