web-dev-qa-db-ja.com

非アクティブなユーザーセッションで自動一時停止プロセスを防ぐ方法

しばらくの間、2つのユーザーセッションを切り替えると、非アクティブなセッションがGUIプロセスの実行を停止する場合があります。この方法では、別のセッションがロードされるのを強制的に待たされ、別のセッションで何かを行うことができません。しばらくしてから切り替えて戻ると、それはまだ同じポイントにあります。影響を受けるソフトウェアには、rsync、rdiff-backup、KDEバックグラウンドプロセス、Openboxセッションで起動されたSteam(ダウンロードの停止も含む)、および少なくともいくつかのゲームが含まれます。 VLCは影響を受けません。少なくとも切り替えた後、必要な時間にスキップしますが、しばらくの間、古いフレームと時間がウィンドウに表示されます。

そのような振る舞いにはどのプロセスが関与していますか?なんとか再構成できますか?

更新: メモリおよびスワップ使用量

いくつかの追加のコンテキスト:皮肉なことに、古いbrainstorm.ubuntu.comでこの正確な動作を提案しました(現在は機能していません)。

15
int_ua

コンソールとグラフィカル仮想端末を定期的に切り替えるため、この問題も発生します。 Xorgは設計上、VT切り替え中にクライアントを一時停止します。そのため、XorgのVTがアクティブでなくなると、クライアントは「フリーズ」するように見えます。 Waylandはサポートしていないため、バックグラウンドVTで実行し続ける必要があるプログラムが新しい表示プロトコルをサポートしている場合は、Xorgの代わりにWaylandコンポジターを使用します。

この問題を回避する1つの方法は、ローカルVNCサーバーでグラフィカルプログラムを実行して、一時停止しないようにすることです。これは、私が最も頻繁に使用する回避策です。

1
dsstorefile1

CLIからbashを使用してscreenセッションを起動でき、このセッション内でアプリケーションを起動できます。そして今、あなたは問題なくこのターミナルを閉じて、screen -rコマンドを使用して回復することができます。多かれ少なかれこれです:

screen bash
rsync -V xxx yyy

そして、CLIを閉じて、必要なものを返して実行することができます。

screen -r

ジョブが完了したことを確認します。これが次のようなコマンドを使用してGUIアプリで動作するかどうかわかりません:

Nohup your-X-application &
0
manuti

そのような動作の原因はどのプロセスですか?

ディスプレイマネージャー(DM)は、あなたが探しているものです。誰でも:lightdmgdmkdm(古いkde)、sddm(新しいkde)、xdm ...

なんとか再構成できますか?

私の知る限り、それはXサーバーでそのようにする必要があります。ただし、以下を使用してその動作をスキップしていました。

  • 別の仮想コンソールTTYのCLIツール
  • initserviceとしてのCLIツール

2006年にGNU/Linuxを使い始めたときのオーディオストリームについて。オーディオデバイスはディスプレイとは別に管理されていました。現在、HDMIなどの新しい統合デバイス/ポートにより、状況は大きく変わりました。したがって、PulseサーバーはいくつかのX表示イベントを認識する必要があります。私が覚えているように(これを再確認します)、Pulseサーバーはユーザープロセスとして実行されます。

0
user.dz