Występuję problem polegający na tym, że X uniemożliwia procesom tworzenia okien, wypowiadając coś takiego ~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
W poszukiwaniu jest wiele przykładów osób borykających się z tym problemem, a czasem ludzie identyfikują, który program, który uruchamiają, zużywa wszystkie gniazda klientów. Patrz np. LP 70872 (Firefox), LP 263211 (gnome-wygaszacz ekranu).
Za to, co jest warte, prawie przez cały czas uruchamiam gnome-terminal, thunderbird, przeglądarkę chromową, empatię, tomboy i virtualbox, oprócz normalnych rzeczy, które dostajesz z pulpitem GNOME, a czasami kilka innych drobiazgów.
Jednak moje pytanie nie brzmi „który z moich programów powoduje ten problem”, ale raczej, jak można przystąpić do diagnozowania tego problemu?
W powyższych (i innych) błędach, raportach na forum itp. Sugerowanych jest szereg narzędzi:
xlsclients
- wyświetla listę aplikacji klienckich dla danego ekranu, ale nie sądzę, że odpowiada to „klientom X”xrestop
- najwyższej klasy narzędzie zasobów X, jeden wiersz na X klienta. Dużo „” klientów, nie pokazanych wxlsclients
danych wyjściowychxwininfo -root -children
wyświetla X obiektów okien
Z tego, co mogę zebrać, problemem może nie być wcale zbyt wielu klientów, ale raczej zasoby przechowywane na serwerze X dla klientów, którzy już dawno się odłączyli. Ale wydaje się również, że nie możesz (łatwo?) Powiązać zasobów X z powrotem z ich klientem. Czy można skutecznie zdiagnozować ten problem, gdy tylko zacznie on występować, czy też żmudne podejście typu „dziel i rządź” w przypadku aplikacji, które uruchamiam jako jedyne dostępne dla mnie?
Aktualizacja, styczeń 2011 r .: Myślę, że rozwiązałem ten problem. Z korzyścią dla każdego, kto natknie się na to, nautilus i / lub compiz lub coś w tym łańcuchu oprogramowania działa niepoprawnie z powodu mojej tapety. Jako tapetę wybrałem plik XML, który definiował obracającą się galerię zdjęć. Zostało wykonane ręcznie, ale oparte na /usr/share/backgrounds/contest/background-1.xml lub podobnym. Wyłączenie tapety i od tego czasu nie miałem awarii.
Nie zaznaczam tego jako odpowiedzi, ponieważ konkretny konkretny problem nie był moim pytaniem, ale jak go zdiagnozować. Niestety było to w większości prób i błędów, które są do kitu.
xrestop
wynik? Co mówią ci pierwsze 3 linie? Ile pamięci / pamięci wideo masz w urządzeniu?xrestop
nie chce się uruchomić - narzeka także na „Osiągnięto maksymalną liczbę klientów”! -> nie można otworzyć wyświetlacza.Odpowiedzi:
Udało mi się rozwiązać ten „zakleszczenie”, w którym żadne z narzędzi X nie działało, ponieważ one także muszą połączyć się z serwerem X, używając
lsof -U
listy, która korzysta z procesów korzystających z plików gniazd.W tym przykładzie był to zły skrypt startowy, który odrodził nowe procesy „badproc” poza granicami.
Przykładowe dane wyjściowe z
lsof -U
:źródło
lsof -U | wc -l
może być użyteczne.Mam to samo pytanie, ponieważ uważam, że ten problem jest istotny dla każdego, kto często nie restartuje komputera. Jedną z rzeczy, które bardzo mi się podobały w UNIX / Linux / Ubuntu, jest to, że mogę niezawodnie uruchamiać mój laptop przez wiele miesięcy bez ponownego uruchamiania (tylko zawieszanie), z wyjątkiem sytuacji, gdy instaluję nowe jądro. Od czasu aktualizacji do „pakietu”, jakim jest Maverick (Ubuntu 10.10), zetknąłem się z tym i mogę działać tylko przez tydzień.
Próbowałem też „xrestop”; zatrzymał efekty okna compiz (które spowolniły wyciek zasobów), ale nadal nie może dowiedzieć się, dlaczego tak się dzieje. To prawie jak powrót na maszynę WinXP ... :-(
Więc tak! Lepsze byłyby narzędzia do debugowania X. Jednym z problemów związanych z „xrestopem” jest to, że wymaga on również zasobów, więc kiedy uderzysz w ścianę, nawet nie będzie działać.
Jako wskazówka dla innych, którzy utknęli w tym (np. Przy wznawianiu ze stanu wstrzymania i czekaniu na okno hasła, które nigdy się nie pojawi, ponieważ nie ma zasobów do jego utworzenia), przejście na terminal bufora ramek iz powrotem (Ctrl-Alt- F1, a następnie Ctrl-Alt-F7) wydaje się uwalniać kilka krytycznych zasobów.
Doug
źródło
IndexError: list index out of range
ponieważ niektóre linie nie maPath
wnetstat -an --unix
produkcji.W Chromium / Chrome występują znane problemy, które powodują wyświetlenie tego komunikatu o błędzie. Czy korzystasz z rozszerzenia 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/
źródło
Robię:
lsof -U
i obserwuję wiele instancji VLC.Aby rozwiązać mój problem, wykonuję:
źródło
lsof -U
pokaż ogromną liczbę instancji Xcape.kill xcape
Rozwiąż problem.Teraz mogę ponownie użyć Rofi i przeglądarki Tor.
źródło
Napotkał ten sam problem z openoffice, to z powodu pamięci (RAM),
Spróbuj zamknąć wszystkie terminale (w tym aplikacje), Jeśli to nie zadziałało Spróbuj
sudo reboot now
źródło