Me encuentro con un problema por el cual X impide que los procesos creen ventanas, pronunciando algo como lo siguiente en ~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
Al buscar hay muchos ejemplos de personas que enfrentan este problema, y a veces las personas identifican qué programa están ejecutando y están utilizando todas las ranuras de clientes. Ver, por ejemplo, LP 70872 (Firefox), LP 263211 (gnome-screensaver).
Para lo que vale, ejecuto gnome-terminal, thunderbird, chromium-browser, empathy, tomboy y virtualbox casi todo el tiempo, además de las cosas normales que obtienes con el escritorio GNOME, y ocasionalmente algunos otros fragmentos.
Sin embargo, mi pregunta no es "cuál de mis programas está causando este problema" sino más bien, ¿cómo se puede diagnosticar este problema?
En los errores anteriores (y otros), informes de foros, etc., se sugieren varias herramientas:
xlsclients
- enumera las aplicaciones de cliente para la pantalla dada, pero no creo que corresponda a 'clientes X'xrestop
- una herramienta de recursos X de estilo superior, una fila por cliente X. Muchos '' clientes, no se muestran en laxlsclients
salidaxwininfo -root -children
enumera X objetos de ventana
De lo que puedo deducir, el problema podría no ser demasiados clientes, sino más bien recursos en el servidor X para clientes que se han separado hace mucho tiempo. Pero también parece que no puede (¿fácilmente?) Relacionar los recursos X con su cliente. ¿Se puede diagnosticar eficazmente este problema una vez que ha comenzado a ocurrir, o es un tedioso enfoque de divide y vencerás para las aplicaciones en las que ejecuto el único enfoque abierto para mí?
Actualización de enero de 2011: creo que he resuelto este problema. Para el beneficio de cualquiera que se topara con esto, nautilus y / o compiz o algo en esa cadena de software estaba fallando debido a un fondo de pantalla que tenía. Había elegido un archivo XML como fondo de pantalla, que definía una galería giratoria de imágenes. Fue hecho a mano, pero basado en /usr/share/backgrounds/contest/background-1.xml o similar. Desactivando el fondo de pantalla y no he tenido un bloqueo desde entonces.
Todavía no estoy marcando esto como respondido, ya que el problema específico real no era mi pregunta, sino cómo diagnosticarlo. Desafortunadamente, esto fue principalmente prueba y error que apesta.
xrestop
no se inicia, también se queja de "¡Número máximo de clientes alcanzados"! -> no se puede abrir la pantalla.
xrestop
salida? ¿Qué te dicen las primeras 3 líneas? ¿Cuánta memoria / memoria de video tiene en la máquina?