私はXがプロセスがウィンドウを作成するのを妨げ、次のようなものを発声する問題にぶつかっています~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
周りを検索すると、この問題に直面している人の例がたくさんあります。また、実行しているプログラムがすべてのクライアントスロットを使い果たしていることを識別する人もいます。たとえば、LP 70872(Firefox)、 LP 263211(gnome-screensaver)を参照してください 。
GNOMEターミナル、サンダーバード、クロムブラウザ、共感、おてんば娘、virtualboxを、GNOMEデスクトップで得られる通常のものに加えて、ときどきいくつかの断片に加えて実行します。
しかし、私の質問は「どのプログラムがこの問題を引き起こしているのか」ではなく、この問題をどのように診断することができますか?
上記の(およびその他の)バグ、フォーラムレポートなどでは、いくつかのツールが推奨されています。
xlsclients
-指定されたディスプレイのクライアントアプリケーションを一覧表示しますが、「Xクライアント」に対応するとは思わないxrestop
-Xクライアントごとに1行、トップスタイルのXリソースツール。多くの ''クライアント、xlsclients
出力には表示されませんxwininfo -root -children
Xウィンドウオブジェクトをリストします
私が収集できることから、問題はクライアントが多すぎることではなく、長い間切り離されているクライアントのためにXサーバーに保持されているリソースである可能性があります。しかし、Xリソースを(簡単に?)クライアントに関連付けることもできないようです。この問題が発生し始めたら、この問題を効果的に診断できますか、または実行しているアプリの退屈な分割統治アプローチが唯一のアプローチですか?
2011年1月更新:この問題は解決したと思います。これに遭遇した人のために、ノーチラスやcompiz、あるいはそのソフトウェアチェーンの何かが、私が持っていた壁紙のためにセグメンテーション違反を起こしていました。画像の回転ギャラリーを定義するXMLファイルを壁紙として選択しました。手作りでしたが、/ usr / share / backgrounds / contest / background-1.xmlまたは類似のものに基づいています。壁紙を無効にし、それ以来クラッシュしていません。
実際の特定の問題は私の質問ではなく、それを診断する方法であったため、これをまだ回答済みとしてマークしていません。残念なことに、これはほとんど試行錯誤でした。
xrestop
起動しません-「クライアントの最大数に到達しました」と文句を言います!->ディスプレイを開けません。
xrestop
出力を確認しましたか?最初の3行から何がわかりますか?マシンにはどのくらいのメモリ/ビデオメモリがありますか?