我遇到了一个问题,即 X 阻止进程创建窗口,将如下内容发送到~/.xsession-errors:
cannot open display: :0.0
Maximum number of clients reached
Run Code Online (Sandbox Code Playgroud)
搜索周围有很多人面临这个问题的例子,有时人们会发现他们正在运行的程序正在耗尽所有客户端插槽。参见例如 LP 70872 (Firefox)、 LP 263211 (gnome-screensaver)。
就其价值而言,我几乎一直在运行 gnome-terminal、thunderbird、chromium-browser、empathy、tomboy 和 virtualbox,在您使用 GNOME 桌面获得的正常内容之上,偶尔还有其他一些零碎的东西。
然而,我的问题不是“我的哪个程序导致了这个问题”,而是如何诊断这个问题?
在上述(和其他)bug、论坛报告等中,建议使用一些工具:
xlsclients - 列出给定显示器的客户端应用程序,但我认为这不对应于“X 客户端”xrestop- 顶级X资源工具,每个X客户端一行。许多''客户端,未显示在xlsclients输出中xwininfo -root -children 列出 X 窗口对象据我所知,问题可能根本不是客户端太多,而是 X 服务器中为长期分离的客户端保留的资源。但是,您似乎也不能(很容易?)将 X 资源与他们的客户联系起来。一旦它开始发生,人们能否有效地诊断这个问题,或者对于我运行的应用程序来说,一种繁琐的分而治之的方法是唯一对我开放的方法吗?
2011 年 1 月更新:我想我已经解决了这个问题。为了任何遇到此问题的人的利益,nautilus 和/或 compiz 或该软件链中的某些东西由于我拥有的壁纸而导致段错误。我选择了一个 XML 文件作为我的墙纸,它定义了一个旋转的图像库。它是手工制作的,但基于 /usr/share/backgrounds/contest/background-1.xml 或类似的。禁用墙纸,从那以后我就没有崩溃过。
我还没有将此标记为已回答,因为实际的具体问题不是我的问题,而是如何诊断它。不幸的是,这主要是反复试验,很糟糕。
我在旧笔记本电脑上安装了 Ubuntu 10.10 i386(Compaz Evo N1015V:1.2GHz CPU,256M RAM!)。尝试登录桌面版时,除了鼠标指针外没有任何内容 - 背景与 GDM 一样,面板/鹦鹉螺不出现,键盘快捷键(例如Alt+ F2)不起作用等。“安全模式”,但是,工作正常。
我设法通过删除 compiz 来解决这个问题,这有点暴力解决方案,但为这台机器完成了这项工作。
因此,安全模式和正常模式之间的不同之处在于:compiz 未启动。
但还有什么?我在任何地方都找不到关于“安全模式”的任何文档。它还有什么不同之处?