中断する前に、ubuntuはどのように非アクティブを判断しますか?


14

30分後に「非アクティブ時にサスペンド」に設定しました。

非アクティブかどうかをどのように判断しますか?キーボード/マウスを介したユーザー入力ですか?

プログラムを終了した場合、たとえばビデオの処理には時間がかかりますが、30分後に停止し、そのプログラムを停止しますか?長いダウンロードについても同じ質問がありますが、途中で中断されますか。


を検索してくださいwake up calls
リンツウィンド

Askubuntuでは?試してみたところ、すべての答えは、システムのサスペンドまたは類似の状態からの復帰に関するもののようです。
ジャズ

回答:


19

良い質問。確認してみましょう!

  1. 「非アクティブの場合に一時停止」オプションの調査から始めて、

    <property ...>Suspend when inactive for</property> ...
    <object ... id="combobox_sleep_ac">

    我々はそれがあることを学ぶことができる設定と呼ばれるGSettingsキーをsleep-inactive-ac-timeout

    widget = GTK_WIDGET (gtk_builder_get_object (..., "combobox_sleep_ac")); ...
    g_object_set_data (G_OBJECT(widget), "_gsettings_key", "sleep-inactive-ac-timeout");

    このキーのドキュメントには、簡単な説明が記載されています。

    AC電源のコンピューターがスリープ状態になるまで非アクティブである必要がある時間(秒単位)。値0は、決してしないことを意味します。

    しかし、「非アクティブ」の意味についてはまだ説明していません。

  2. を検索するsleep-inactive-ac-timeoutと、GNOME Settings Daemonに移動します。

    timeout_sleep = g_settings_get_int (..., "sleep-inactive-ac-timeout");

    次のGNOMEセッションのプロパティを定期的にチェックしますPresence.status

    result = g_dbus_proxy_get_cached_property (...->session_presence_proxy, "status");

    ステータスがアイドル状態であることが検出されると、システムがスリープ状態になります。

    idle_set_mode (..., GSD_POWER_IDLE_MODE_SLEEP);

    そのため、システムが「アイドル」かどうかをGNOMEセッションがどのように決定するかを学習する必要があります。

  3. GNOMEセッションの値を更新する場所から逆方向に追跡するPresence.status

    gsm_presence_set_status (presence, GSM_PRESENCE_STATUS_IDLE, ...);

    Xorg のカウンターを使用していることがわかりますIDLETIME

    if (... && strcmp (counters[i].name, "IDLETIME") == 0) {
        ...->counter = counters[i].counter;
  4. IDLETIMEカウンタの動作は、に要約されているブログの記事 GNOME電源マネージャの著者によって:

    gnome-power-managerは、IDLETIMEと呼ばれるXorg内のカウンターを使用します。このカウンターは、ユーザーがマウスを動かさないか、いくつかのキーをクリックしない場合にのみ増加します。ユーザーが何かをクリックすると、IDLECOUNTERがリセットされます。

これは、Ubuntuが最後のキーストロークまたはマウスの動きから経過した時間を測定することで非アクティブを決定することを示しています。CPU使用率とネットワークアクティビティは考慮されません。


あなたが最後の行で言ったように、なぜCPU使用率はそれほど大きくないのですか?私の疑問はaskubuntu.com/questions/215870/…から来たということです。なぜなら、1GBのファイルをダウンロードすると、かなり時間がかかるからです。私のPCでさえ、そのファイルのダウンロードを行っています。それは私のPCがアクティブであることを意味しますか?:D
rɑːdʒɑ

優れた調査と内訳のために+1。そして、@ AgentCool、いいえ。アクティビティは、キーボードまたはマウスを押すことで決定されます。ダウンロードによってキーが押されてPCがスリープ状態になることはありません。
オックスウィビ14

@Oxwivi thatsは1年前にコメントしました。編集後ではありません。:)
rɑːdʒɑ

@AgentCool私の悪い、私は気づかなかった。昨日の編集が原因で投稿が最近バンプされました。興味のある質問だったので、チェックしてみました。
Oxwivi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.