如何防止 Cygwin 的 XWin 服务器自动启动 xterm?

me_*_*and 12 windows cygwin xterm cygwin-x

每当我使用“开始”菜单中的“XWin 服务器”链接启动 Cygwin 的 X 服务器时,或通过startxwin从 Cygwin shell运行时,我都会自动出现一个 xterm 窗口,我既不需要也不需要它。

我该如何避免?

(问题灵感此评论斯泰恩Vanpoucke在堆栈溢出)

me_*_*and 17

更新:这个答案现在已经过时了。有关最新答案,请参阅下面 user551570 的答案

来自man startxwin

如果命令行上没有给出特定的客户端程序,startxwin将在用户的主目录中查找一个文件,该文件被调用.startxwinrc作为 shell 脚本运行以启动客户端程序。如果不存在这样的文件,startxwin将使用以下作为默认值:

xterm  -geometry  +1+1  -n  login  -display  :0
Run Code Online (Sandbox Code Playgroud)

因此,为了避免在启动 X 服务器时启动任何程序,您需要一个空白.startxwinrc文件。只需从 Cygwin 提示符运行以下命令:

touch ~/.startxwinrc
Run Code Online (Sandbox Code Playgroud)


小智 5

自从@me_and 最初回答这个问题以来,startxwin 的行为似乎发生了变化,所以简单地在您的主目录中创建一个空的 .startxwinrc 将不再起作用。

我在这里找到了答案。本质上,当 .startxwinrc 中的最后一个命令退出时,服务器将退出。如果你想防止这种情况,你可以把它作为 .startxwinrc 的最后一行:

sleep inf
Run Code Online (Sandbox Code Playgroud)

这不会启动任何客户端程序,但也会阻止 .startxwinrc 退出。