升级cygwin后X无法启动

17
在升级Cygwin后,X服务器无法启动。据我所知,命令输出中仅有的错误信息是:
xinit: XFree86_VT属性意外地只有0个项目,而不是1个
/var/log/xwin/XWin.0.log没有这条消息。我已经把整个输出粘贴在底部。
最初从cygwin镜像安装后,我使用了Cygwin Ports获取了一个较新版本的git。我的最新更新来自cygwin镜像。这可能会导致问题吗?
我已经尝试从cygwin镜像重新安装所有内容,并为每个类别使用重新安装选项。除了卸载所有内容并重新安装之外,我还有其他选择吗?
$ /usr/bin/startxwin
欢迎使用XWin X服务器 供应商:Cygwin/X项目 版本:1.16.2.0 操作系统:CYGWIN_NT-6.1 OAKN00563024A 1.7.33-2(0.280/5/3) 2014-11-13 15:47 x86_64 操作系统:Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (Win64) 软件包:版本1.16.2-1,构建于2014年11月11日
XWin是通过以下命令行启动的:
/usr/bin/XWin :0 -multiwindow -nolisten tcp -auth /home/I063510/.serverauth.1328
(II)不支持xorg.conf (II)请参阅http://x.cygwin.com/docs/faq/cygwin-x-faq.html以获取更多信息 LoadPreferences:未找到/home/I063510/.XWinrc LoadPreferences:正在加载/etc/X11/system.XWinrc LoadPreferences:解析配置文件完成... winDetectSupportedEngines-DirectDraw4已安装,允许ShadowDDNL winDetectSupportedEngines-返回,支持的引擎00000015 winSetEngine-Multi Window或Rootless => ShadowGDI winScreenInit-使用每像素32位的Windows显示深度 winAllocateFBShadowGDI-创建宽度为1600高度为900深度为32的DIB winFinishScreenInitFB-掩码:00ff0000 0000ff00 000000ff winInitVisualsShadowGDI-掩码00ff0000 0000ff00 000000ff BPRGB 8 d 24 bpp 32 由于缺乏内核支持,MIT-SHM扩展被禁用 由于内核中缺少共享内存支持,XFree86-Bigfont扩展本地客户端优化被禁用 glWinSelectGLimplementation:已加载'cygnativeGLthunk.dll' GL_VERSION:4.3.0 GL_VENDOR:NVIDIA Corporation GL_RENDERER:Quadro K2100M/PCIe/SSE2 (II)AIGLX:启用GLX_SGI_make_current_read (II)AIGLX:启用GLX_MESA_copy_sub_buffer (II)AIGLX:启用GLX_SGI_swap_control和GLX_MESA_swap_control (II)AIGLX:启用GLX_SGIX_pbuffer (II)AIGLX:启用GLX_ARB_multisample和GLX_SGIS_multisample wglGetPixelFormatAttribivARB报告了1002个像素格式 (II)AIGLX:将GLX版本设置为1.4 (II)825 fbConfigs (II)忽略的像素格式:0不是OpenGL,54 RBGA float,87 RGBA unsigned float,0未知像素类型,36未加速 (II)GLX:为屏幕0初始化Win32本机WGL GL提供程序 winPointerWarpCursor-丢弃第一个warp:800 450 (-)找到8个鼠标按钮 (-)将自动重复设置为延迟= 500,速率= 31 (-)Windows键盘布局:“00000409”(00000409)“US”,类型7 (-)找到匹配的XKB配置“英语(美国)” (-)型号=“pc105” 布局=“us” 变体=“none” 选项=“none” 规则=“base” 型号=“pc105” 布局=“us” 变体=“none” 选项=“none” winInitMultiWindowWM-DISPLAY:0.0 winMultiWindowXMsgProc-DISPLAY:0.0 winProcEstablishConnection-winInitClipboard返回。 winClipboardThreadProc-DISPLAY:0.0 操作系统维护剪贴板查看器链:是的 winMultiWindowXMsgProc-XOpenDisplay()返回并成功打开显示。 winInitMultiWindowWM-XOpenDisplay(
4个回答

19

在升级CygWin后,我遇到了同样的问题。

xwin对我来说很好用,而且很干净,没有丑陋的xterm窗口。

alias runx="run xwin -multiwindow -noclipboard"

根据Daniel的说法,“-noclipboard”不是必须的,谢谢。


1
这对我解决了问题,而且不像@Miserable Variable的答案那样打开了一个丑陋的xterm窗口。出于个人偏好,我使用了“-clipboard”而不是“-noclipboard”。 - Daniel Böhmer
1
我也认为这是更好的解决方案 :) - Miserable Variable
这对我来说就像梦想成真一样。经过数月的寻找解决方案,我将别名添加到了我的~/.profile中。谢谢。 - RiggsFolly
我也可以工作。但是,startxwin曾经使用我的/.startxwinrc,而xwin没有(它使用/.XWinrc,这不等同于-它不是一个shell脚本,而是一个资源文件)。有什么办法让xwin这样做吗?谢谢。 - PonyEars
非常感谢!!你帮我节省了一天的时间!! - Anakin Tung

8

我在Cygwin-X邮件列表上找到了答案:

一旦我切换到
xinit -- -multiwindow -clipboard &
我就没问题了。

6

来自http://x.cygwin.com/docs/ug/using.html:##

  • 请注意,startxwin在~/.startxwinrc完成后不再退出,仍保留X运行状态。与startx类似,它会等待~/.startxwinrc退出后再关闭X。

    如果您希望X服务器一直运行直到显式命令停止,请在~/.startxwinrc中添加类似于exec sleep infinity的内容。

exec sleep infinity

1
我曾经遇到过这样的问题,但是发现启动xwin的快捷方式有目标。
C:\cygwin64\bin\run.exe /usr/bin/bash.exe -l -c /usr/bin/startxwin.exe

但是将这个改为
C:\cygwin64\bin\run.exe /usr/bin/bash.exe -l -c /usr/bin/startxwin

使它工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接