Я сталкиваюсь с проблемой, когда X препятствует процессам создавать окна, произнося что-то вроде следующего ~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
При поиске существует множество примеров людей, сталкивающихся с этой проблемой, и иногда люди определяют, какая программа, на которой они работают, использует все клиентские слоты. См., Например, LP 70872 (Firefox), LP 263211 (заставка гнома).
Что бы это ни стоило, я почти все время использую gnome-терминал, thunderbird, chromium-browser, empathy, tomboy и virtualbox, помимо обычных вещей, которые вы получаете с рабочего стола GNOME, и иногда некоторые другие мелочи.
Однако мой вопрос не в том, «какая из моих программ вызывает эту проблему», а в том, как можно диагностировать эту проблему?
В вышеупомянутых (и других) ошибках, отчетах на форуме и т. Д. Предлагается ряд инструментов:
xlsclients
- перечисляет клиентские приложения для данного дисплея, но я не думаю, что это соответствует «X клиентам»xrestop
- инструмент X-ресурсов высшего уровня, по одной строке на X-клиента. Много клиентов, не показанных вxlsclients
выводеxwininfo -root -children
списки X оконных объектов
Из того, что я могу понять, проблема может быть не в слишком большом количестве клиентов, а в ресурсах, которые хранятся на X-сервере для клиентов, которые давно отсоединились. Но также может показаться, что вы не можете (легко?) Связать ресурсы X обратно с их клиентом. Можно ли эффективно диагностировать эту проблему, как только она начала возникать, или это утомительный подход «разделяй и властвуй» для приложений, которые я использую, единственный открытый мне подход?
Обновление январь 2011: я думаю, что я решил эту проблему. Для того, чтобы кто-нибудь наткнулся на это, nautilus и / или compiz или что-то в этой цепочке программного обеспечения были сбои из-за обоев, которые у меня были. В качестве обоев я выбрал XML-файл, который определял вращающуюся галерею изображений. Это было сделано вручную, но на основе /usr/share/backgrounds/contest/background-1.xml или подобного. Отключение обоев и с тех пор у меня не было сбоев.
Я пока не отмечаю это как ответ, поскольку конкретная проблема была не в моем вопросе, а в том, как ее диагностировать. К сожалению, это было в основном методом проб и ошибок, отстой.
xrestop
вывод? О чем говорят первые 3 строки? Сколько памяти / видеопамяти у вас в машине?xrestop
не запускается - тоже жалуется "Максимальное количество клиентов достигло"! -> невозможно открыть дисплей.Ответы:
Мне удалось устранить эту «тупиковую ситуацию», когда ни один из x-инструментов не работал, поскольку им тоже нужно подключиться к X-серверу, используя
lsof -U
список процессов, использующих файлы сокетов.В этом примере это был плохой сценарий запуска, который порождал новые процессы "badproc" за пределы.
Пример вывода из
lsof -U
:источник
lsof -U | wc -l
может быть полезнымУ меня тот же вопрос, потому что я думаю, что эта проблема важна для тех, кто не часто перезагружает свой компьютер. Одна вещь, которая мне действительно понравилась в UNIX / Linux / Ubuntu на протяжении многих лет, это то, что я могу месяцами надежно работать на своем ноутбуке без перезагрузки (только с приостановкой), за исключением случаев, когда я устанавливаю новое ядро. После обновления до "пакета", который является Maverick (Ubuntu 10.10), я столкнулся с этим и могу работать только в течение недели.
Я тоже попробовал xrestop; остановил эффекты окна compiz (что замедлило утечку ресурсов), но все еще не может выяснить, почему это происходит. Это почти как вернуться на компьютер с WinXP ... :-(
Так да! Лучше бы отладочные инструменты X Одна из проблем, связанных с «xrestop», заключается в том, что для этого также требуются ресурсы, поэтому, как только вы врежетесь в стену, даже она не запустится.
В качестве подсказки для других, кто застрял в этом (например: при выходе из режима ожидания и ожидании окна пароля, которое никогда не появится, потому что нет ресурсов для его создания), переключение на терминал буфера кадров и обратно (Ctrl-Alt- F1, затем Ctrl-Alt-F7), кажется, освобождает несколько критических ресурсов.
Doug
источник
IndexError: list index out of range
потому что некоторые линии не имеетPath
вnetstat -an --unix
выходе.Chromium / Chrome имеет некоторые известные проблемы, которые приводят к появлению этого сообщения об ошибке. Вы используете расширение Lastpass?
ссылка: http://www.ngohaibac.com/how-to-solve-maximum-number-of-clients-reached-gtk-warning-cannot-open-display-in-ubuntu-9-10-64-bit/
источник
Я делаю:
lsof -U
и я наблюдаю много случаев VLC.Для решения моей проблемы я выполняю:
источник
lsof -U
показать огромное количество экземпляров xcape.kill xcape
решать проблему.Теперь я могу снова использовать rofi и tor-browser.
источник
Столкнулся с той же проблемой с openoffice, из-за памяти (RAM),
попробуйте закрыть все терминалы (включая приложения), если это не помогло, попробуйте
sudo reboot now
источник