Ich stoße auf ein Problem, bei dem X verhindert, dass Prozesse Fenster erstellen, und Folgendes aussagt ~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
Beim Durchsuchen gibt es viele Beispiele für Personen, die mit diesem Problem konfrontiert sind, und manchmal wird festgestellt, dass das von ihnen ausgeführte Programm alle Client-Slots belegt. Siehe zB LP 70872 (Firefox), LP 263211 (Gnome-Bildschirmschoner).
Für das, was es wert ist, starte ich fast immer Gnome-Terminal, Thunderbird, Chrom-Browser, Empathie, Tomboy und Virtualbox, zusätzlich zu dem normalen Zeug, das man mit dem GNOME-Desktop bekommt, und gelegentlich ein paar andere Dinge.
Meine Frage ist jedoch nicht "welches meiner Programme dieses Problem verursacht", sondern wie kann man dieses Problem diagnostizieren?
In den obigen (und anderen) Bugs, Forenberichten usw. wird eine Reihe von Tools vorgeschlagen:
xlsclients
- listet die Client-Anwendungen für die angegebene Anzeige auf, aber ich glaube nicht, dass dies 'X-Clients' entsprichtxrestop
- Ein X-Ressourcen-Tool der Spitzenklasse, eine Zeile pro X-Client. Viele '' Clients, die in derxlsclients
Ausgabe nicht angezeigt werdenxwininfo -root -children
listet X-Fensterobjekte auf
Soweit ich weiß, liegt das Problem möglicherweise nicht an zu vielen Clients, sondern an Ressourcen, die auf dem X-Server für Clients verfügbar sind, die sich seit langem getrennt haben. Es scheint aber auch, dass Sie X-Ressourcen nicht (einfach?) Mit ihrem Client verknüpfen können. Kann man dieses Problem effektiv diagnostizieren, wenn es einmal aufgetreten ist, oder ist ein langwieriger Divide-and-Conquer-Ansatz für die von mir ausgeführten Apps der einzige Ansatz, der mir offensteht?
Update Jan 2011: Ich glaube, ich habe dieses Problem behoben. Zum Wohle aller, die darüber stolpern, war Nautilus und / oder Compiz oder etwas in dieser Softwarekette aufgrund eines Hintergrundbilds, das ich hatte, fehlerhaft. Ich hatte eine XML-Datei als Hintergrund gewählt, die eine rotierende Bildergalerie definierte. Es war handgemacht, basierte aber auf /usr/share/backgrounds/contest/background-1.xml oder ähnlichem. Wenn ich das Hintergrundbild deaktiviere, ist es seitdem nicht mehr abgestürzt.
Ich markiere dies noch nicht als beantwortet, da das eigentliche spezifische Problem nicht meine Frage war, sondern wie es zu diagnostizieren war. Leider war dies meistens Versuch und Irrtum, der scheiße ist.
xrestop
Ausgabe überprüft ? Was sagen dir die ersten 3 Zeilen? Wie viel Speicher / Videospeicher haben Sie im Gerät?xrestop
startet nicht - es klagt auch "Maximale Anzahl von Kunden erreicht"! -> Anzeige kann nicht geöffnet werden.Antworten:
Ich habe es geschafft, diesen "Deadlock" zu beheben, bei dem keines der x-tools funktioniert, da auch sie eine Verbindung zum X-Server herstellen müssen, indem sie
lsof -U
die Prozesse auflisten, die Socket-Dateien verwenden.In diesem Beispiel war es ein fehlerhaftes Startskript, das neue "badproc" -Prozesse außerhalb der Grenzen hervorgebracht hat.
Beispielausgabe von
lsof -U
:quelle
lsof -U | wc -l
könnte nützlich sein.Ich habe die gleiche Frage, weil ich denke, dass dieses Problem für jeden von Bedeutung ist, der seinen Computer nicht oft neu startet. Eine Sache, die ich über die Jahre an UNIX / Linux / Ubuntu sehr gemocht habe, ist, dass ich meinen Laptop monatelang zuverlässig laufen lassen kann, ohne neu zu starten (nur Suspending), außer wenn ich einen neuen Kernel installiere. Seit dem Upgrade auf die "Suite", die Maverick (Ubuntu 10.10) ist, bin ich auf dieses Problem gestoßen und kann nur eine Woche lang ausgeführt werden.
Ich habe auch 'xrestop' ausprobiert. hat die Auswirkungen des Compiz-Fensters gestoppt (wodurch das Ressourcenleck verlangsamt wurde), kann jedoch immer noch nicht herausfinden, warum dies geschieht. Es ist fast so, als wäre man wieder auf einem WinXP-Rechner ... :-(
Also ja! Bessere X-Debugging-Tools wären gut. Ein Problem mit 'xrestop' ist, dass es auch Ressourcen benötigt. Wenn Sie also erst einmal gegen die Wand stoßen, läuft es nicht mehr.
Ein Tipp für andere, die daran hängen bleiben (z. B. wenn sie aus dem Standby-Modus zurückkehren und auf das Kennwortfenster warten, das nie angezeigt wird, weil keine Ressourcen zum Erstellen vorhanden sind), indem Sie zu einem Frame-Buffer-Terminal und zurück wechseln (Strg-Alt-Taste). F1, dann Strg-Alt-F7) scheint einige der kritischen Ressourcen freizugeben.
Doug
quelle
IndexError: list index out of range
weil einige Linien nicht hatPath
innetstat -an --unix
Ausgabe.Chromium / Chrome weist einige bekannte Probleme auf, die zu dieser Fehlermeldung führen. Verwenden Sie die Lastpass-Erweiterung?
ref: http://www.ngohaibac.com/how-to-solve-maximum-number-of-clients-reached-gtk-warning-cannot-open-display-in-ubuntu-9-10-64-bit/
quelle
Ich mache:
lsof -U
und ich beobachte viele VLC-Instanzen.Zur Lösung meines Problems führe ich Folgendes aus:
quelle
lsof -U
zeige eine große Anzahl von xcape-Instanzen.kill xcape
das Problem lösen.Jetzt kann ich wieder rofi und tor-browser benutzen.
quelle
War mit openoffice mit demselben Problem konfrontiert, es liegt am Arbeitsspeicher (RAM).
Versuchen Sie, alle Terminals (einschließlich Apps) zu schließen. Wenn das nicht funktioniert hat, versuchen Sie es
sudo reboot now
quelle