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
salida? ¿Qué te dicen las primeras 3 líneas? ¿Cuánta memoria / memoria de video tiene en la máquina?xrestop
no se inicia, también se queja de "¡Número máximo de clientes alcanzados"! -> no se puede abrir la pantalla.Respuestas:
Me las arreglé para resolver este "punto muerto", donde ninguna de las herramientas x funcionó, ya que también necesitan conectarse al servidor X, mediante el
lsof -U
cual se enumeran los procesos que utilizan archivos de socket.En este ejemplo, fue un script de inicio incorrecto que generó nuevos procesos "badproc" fuera de los límites.
Ejemplo de salida de
lsof -U
:fuente
lsof -U | wc -l
puede ser útil.Tengo la misma pregunta, porque creo que este problema es importante para cualquiera que no reinicie su computadora con frecuencia. Una cosa que realmente me ha gustado de UNIX / Linux / Ubuntu a lo largo de los años es que puedo ejecutar mi laptop de manera confiable durante meses sin reiniciar (solo suspender), excepto cuando instalo un nuevo kernel. Desde la actualización a la "suite" que es Maverick (Ubuntu 10.10), me he encontrado con esto y solo puedo ejecutarlo durante una semana.
También probé 'xrestop'; detuvo los efectos de la ventana compiz (que ralentizó la pérdida de recursos), pero aún no puede descubrir por qué sucede esto. Es casi como estar de vuelta en una máquina WinXP ... :-(
¡Entonces sí! Las mejores herramientas de depuración de X serían buenas. Un problema con 'xrestop' es que también requiere recursos, por lo que una vez que golpeas la pared, incluso no funcionará.
Como un consejo para otros que se quedan atrapados en esto (por ejemplo: cuando se reanuda desde el modo de espera y espera la ventana de contraseña que nunca aparecerá porque no hay recursos para crearla), cambie a un terminal de frame buffer y regrese (Ctrl-Alt- F1, luego Ctrl-Alt-F7) parece liberar algunos de los recursos críticos.
Doug
fuente
IndexError: list index out of range
debido a que algunas líneas no tienePath
ennetstat -an --unix
la salida.Chromium / Chrome tiene algunos problemas conocidos que resultan en este mensaje de error. ¿Utiliza la extensión Lastpass?
ref: http://www.ngohaibac.com/how-to-solve-maximum-number-of-clients-reached-gtk-warning-cannot-open-display-in-ubuntu-9-10-64-bit/
fuente
Hago:
lsof -U
y observo muchas instancias vlc.Para resolver mi problema ejecuto:
fuente
lsof -U
muestra una gran cantidad de instancias de xcape.kill xcape
resolver el problema.Ahora puedo usar rofi y tor-browser nuevamente.
fuente
Estaba enfrentando el mismo problema con openoffice, es debido a la memoria (RAM),
intente cerrar todos los terminales (incluidas las aplicaciones), si eso no funcionó, intente
sudo reboot now
fuente