XFCE でランダムな競合が発生します。何が起こっているのかを診断する方法は?

XFCE でランダムな競合が発生します。何が起こっているのかを診断する方法は?

私はParabola(Archのフォーク)を使用してXFCEデスクトップ環境を実行しています。ただし、定期的にデスクトップ全体がハングする奇妙な衝突が発生します。カーソルを移動できません(実際のカーソルも移動できません)。バラより私のカーソル)、私のコンピュータが応答しないどのキーボード入力(他のttyに切り替えることもできません)、デフォルトでは電源ボタンのみが機能します。ただし、同時に(たとえば)バックグラウンドで音楽を再生すると、問題なく再生され続けます。

問題の原因を診断する方法がわからない。この種の動作を引き起こす原因を検出するには、どこで何を見つけるべきですか?

答え1

音楽が数秒以上再生され続けると、システムは正常に動作しますが、Xサーバーが停止してコンソール入力に応答できないことを意味します。 tty間の切り替えにはXサーバーの協力が必要であり、これにはキーの組み合わせ処理とグラフィックカードのリセットの両方が必要です。

コンピュータにログインする他の方法がある場合は、コマンドを実行して問題をデバッグするか、少なくとも完全にシャットダウンを実行できます。ほとんどの人がコンピュータにログインする1つの方法は、他のコンピュータ(スマートフォンなど)でSSHを使用することです。主なスマートフォンオペレーティングシステムには、ターミナルエミュレータとSSHクライアントがあります。

コマンドラインからchvt 1rootとして実行して、他のテキストコンソールに切り替えることができます。ただし、これはXサーバーが実行する操作に応じて機能する場合があります。 X サーバーが応答しない場合、スイッチが失敗したり、テキストコンソールのグラフィックモードが正しく設定されていないため、ブラインドタイピングが発生する可能性があります。

もう一つの有用な点は魔法システムリクエスト:を長押ししてから(解除可能)をAlt押し、ニーモニック文字を押してからすべてのキーを放します。SysRqこれはカーネルによって直接処理されるため、カーネルが完全にロックされていない限り動作し続けます。 SSHアクセス権がない場合は、Alt+を押してキーボードをrawモードで切り替え、SysRq+を押してテキストコンソールに切り替えます。キーボードがネイティブモードになっていない場合、キーバインディングはカーネルによって直接処理されるため、これが機能する可能性があります。実行と同様に、実際のVTスイッチはXサーバーによって破損する可能性があります。RCtrlAltF1chvt

コマンドラインにアクセスすると、最初のレベルの調査で次のいずれかを実行できます。

  • htopまたはを実行して、topどのプロセスがCPUを使用しているかを確認します。
  • stdoutとstderr(またはディストリビューションがカーネルログを保存する場所)または(またはセッションマネージャがstdoutとstderrを表す場所)でメッセージを/var/log/Xorg.0.log確認してください。/var/log/kern.log~/.xsession-errors

XプロセスがCPU時間の100%を占めている場合、またはXサーバーと共有している場合は、そのプロセスを終了してみてください。 Compizは一般的な犯罪者です。

++の後に++を使用して、XサーバーとXセッションのすべてのプロセスをAlt終了できます。これにより、グラフィックカードの状態が悪くなる可能性があります。その後、新しいXサーバーを実行してみることができます。おそらくグラフィックカードを再初期化できます。SysRqKAltSysRqR

ロックを引き起こす一般的な問題は次のとおりです。

  • バギー3Dグラフィックドライバ。 3Dドライバは2Dドライバよりもバグが多いです(より新しくて複雑で、ハードウェアメーカーのサポートが悪いので理解できます)。 3Dコンテンツへの依存度を下げます。特に、compizを避けてください。
  • グラフィックドライバに欠陥があります。 GPU用のフリードライバを使用する場合、独自ドライバを試してみて、その逆の場合も同様です。最新バージョンまたは以前のバージョンをお試しください。
  • 悪い記憶。実行する記憶力テスト

関連情報