CPUとI / Oの面でXアプリケーションの優先順位に集中する方法はありますか?
すべてのXアプリケーションと同様に、優先順位は低くなりますが、フォーカスを取得すると通常のレベルに戻ります。
私は車輪を再発明したくないので、誰かがすでにこれを行うアプリを開発したいと思います。
答え1
あなたの要求を実行するためにPerlで小さなスクリプトを書いています。 http://pastie.org/3460943
"xlsclients -l"コマンドを使用して現在のすべてのX11ウィンドウIDを取得し、xpropを使用してウィンドウのPIDを取得するように動作します。次に、xprop -rootを使用して現在のフォーカスされたウィンドウを取得し、すべてのPIDを繰り返してnice値を5に変更します(現在のフォーカスされたウィンドウはゼロのまま)。
次に無限ループに入り、2秒ごとにフォーカスウィンドウを再確認します。ウィンドウのフォーカスが変わると、前のウィンドウの良い値が5に変わり、新しいウィンドウの良い値が0に変わります。また、新しいプロセスの優先順位を指定するために、40秒ごとに最初のセグメントで実行されたタスクを再実行します。
このスクリプトにはいくつかの欠陥があり、その中で最も明白なのは、xpropが時々現在焦点を当てているウィンドウを見つけることができないということです(これはウィンドウ間を非常に迅速に切り替える場合にのみ発生するようです)。実行している場合、PIDがシステムの実際のPIDと関連していない可能性があります。つまり、平均してスクリプトは機能します(Perlはいくつかのエラーを処理して実行を続けることができます)。
私もcで書くともっと速いようですが、X11ライブラリを使用する能力がなく、bashで埋められたperlです!