两个具有高CPU消耗的xwin-xdg菜单进程

时间:2018-01-16 15:17:39

标签: cygwin x11

我有一台带有intel i7的Windows 7计算机,其中包含2个内核和超线程以及云中的Linux虚拟机。我不喜欢VNC(它是滞后的)所以我使用X窗口。

我使用以下命令启动我的Cygwin XWin:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/xinit /etc/X11/xinit/startxwinrc -- /usr/bin/XWin :0 -multiwindow -listen tcp"

它正常工作,但由于某种原因,它产生了两个xwin-xdg菜单进程,另一个正在消耗我的CPU的25%。当我杀了它时,CPU使用率恢复正常,一切正常,包括其他xwin-xdg-menu进程。

我也尝试了这个:

C:\cygwin64\bin\XWin.exe :0 -multiwindow -listen tcp

但它会使应用程序运行缓慢且分辨率不佳。

有没有办法用listen-tcp启动X,并且我的多个屏幕具有适应的分辨率,而且不必每次都手动杀死额外的进程?

似乎我不是唯一一个有这个问题的人,但是现在我还没有找到任何解决方案。 https://cygwin.com/ml/cygwin/2017-05/msg00345.html https://superuser.com/questions/1210325/cygwin-at-spi-bus-launcher-and-xwin-xdg-menu-high-cpu(我对at-spi-bus-launcher没有问题)

1 个答案:

答案 0 :(得分:0)

<强>解决方案:
创建〜/ .startxwinrc 文件,并添加一行:

exec sleep infinity

通过运行chmod +x ~/.startxwinrc使〜/ .startxwinrc可执行。

我怀疑这有效的原因:
startxwin搜索要在启动时执行的〜/ .startxwinrc文件。如果startxwin没有找到〜/ .startxwinrc文件,startxwin将遵循/etc/X11/xinit/startxwinrc中列出的默认例程。

默认例程启动/ usr / bin / xwin-xdg-menu,不知何故导致我有两个xwin-xdg-menu进程,其中一个进程具有非常高的cpu。创建〜/ .startxwinrc会绕过默认例程,禁止/ usr / bin / xwin-xdg-menu完全启动。

启动后,

exec sleep infinity使x服务器保持活动状态。