Je l'ai configuré pour "suspendre lorsqu'il est inactif" après 30 minutes.
Comment détermine-t-il s'il est inactif ? S'agit-il simplement d'une saisie utilisateur via le clavier/la souris ?
Si je laisse un programme fonctionner - disons le traitement d'une vidéo, qui prend beaucoup de temps, va-t-il s'arrêter après 30 minutes et arrêter ce programme ? Même question pour les longs téléchargements, sera-t-il suspendu à mi-parcours.
Réponse acceptée :
Bonne question. Découvrons !
-
En commençant par étudier l'option "Suspendre si inactif pendant",
<property ...>Suspend when inactive for</property> ... <object ... id="combobox_sleep_ac">
nous pouvons apprendre qu'il définit une clé GSettings appelée
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");
La documentation de cette clé fournit une brève description :
La durée en secondes pendant laquelle l'ordinateur alimenté en courant alternatif doit être inactif avant de se mettre en veille. Une valeur de 0 signifie jamais.
mais n'explique toujours pas ce que "inactif" signifie.
-
Recherche de
sleep-inactive-ac-timeout
nous conduit au démon de configuration de GNOME,timeout_sleep = g_settings_get_int (..., "sleep-inactive-ac-timeout");
qui vérifie périodiquement une propriété de GNOME Session appelée
Presence.status
:result = g_dbus_proxy_get_cached_property (...->session_presence_proxy, "status");
S'il constate que l'état est inactif, il met le système en veille :
idle_set_mode (..., GSD_POWER_IDLE_MODE_SLEEP);
Nous devons donc apprendre comment GNOME Session décide si le système est "inactif".
-
Revenir en arrière à partir de l'endroit où la session GNOME met à jour la valeur de
Presence.status
,gsm_presence_set_status (presence, GSM_PRESENCE_STATUS_IDLE, ...);
nous pouvons voir qu'il utilise le
IDLETIME
compteur de Xorg :if (... && strcmp (counters[i].name, "IDLETIME") == 0) { ...->counter = counters[i].counter;
-
Le
IDLETIME
Le comportement du compteur est résumé dans un article de blog de l'auteur de GNOME Power Manager :gnome-power-manager utilise un compteur dans Xorg appelé IDLETIME. Ce compteur n'est incrémenté que lorsque l'utilisateur ne bouge pas la souris ou ne clique pas sur certaines touches. Lorsque l'utilisateur clique sur quelque chose, le IDLECOUNTER est réinitialisé.
Cela nous indique qu'Ubuntu détermine l'inactivité en mesurant le temps qui s'est écoulé depuis la dernière frappe ou le dernier mouvement de la souris. L'utilisation du processeur et l'activité du réseau ne sont pas prises en compte.
Connexes :Mac - Créer une machine virtuelle Ubuntu avec VirtualBox ?