Я сталкиваюсь с проблемой, когда 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
не запускается - тоже жалуется "Максимальное количество клиентов достигло"! -> невозможно открыть дисплей.
xrestop
вывод? О чем говорят первые 3 строки? Сколько памяти / видеопамяти у вас в машине?