L'ho impostato su "sospendi quando inattivo" dopo 30 minuti.
Come determina se è inattivo? È solo un input dell'utente tramite tastiera/mouse?
Se lascio un programma in funzione, ad esempio l'elaborazione di un video, che richiede molto tempo, si interromperà dopo 30 minuti e interromperà quel programma? Stessa domanda per download lunghi, verrà sospeso a metà.
Risposta accettata:
Buona domanda. Scopriamolo!
-
Iniziando esaminando l'opzione "Sospendi quando inattivo per",
<property ...>Suspend when inactive for</property> ... <object ... id="combobox_sleep_ac">
possiamo apprendere che imposta una chiave GSettings chiamata
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 documentazione per questa chiave fornisce una breve descrizione:
La quantità di tempo in secondi in cui il computer con alimentazione CA deve essere inattivo prima di andare in modalità di sospensione. Un valore di 0 significa mai.
ma ancora non spiega cosa significa "inattivo".
-
Ricerca di
sleep-inactive-ac-timeout
ci porta a GNOME Settings Daemon,timeout_sleep = g_settings_get_int (..., "sleep-inactive-ac-timeout");
che verifica periodicamente una proprietà di GNOME Session chiamata
Presence.status
:result = g_dbus_proxy_get_cached_property (...->session_presence_proxy, "status");
Se rileva che lo stato è inattivo, mette il sistema in stato di sospensione:
idle_set_mode (..., GSD_POWER_IDLE_MODE_SLEEP);
Quindi dobbiamo imparare come GNOME Session decide se il sistema è "inattivo".
-
Seguendo all'indietro da dove GNOME Session aggiorna il valore di
Presence.status
,gsm_presence_set_status (presence, GSM_PRESENCE_STATUS_IDLE, ...);
possiamo vedere che utilizza il
IDLETIME
contatore da Xorg:if (... && strcmp (counters[i].name, "IDLETIME") == 0) { ...->counter = counters[i].counter;
-
Il
IDLETIME
il comportamento di counter è riassunto in un post sul blog dell'autore di GNOME Power Manager:gnome-power-manager usa un contatore all'interno di Xorg chiamato IDLETIME. Questo contatore viene incrementato solo quando l'utente non sposta il mouse o non fa clic su alcuni tasti. Quando l'utente fa clic su qualcosa, IDLECOUNTER viene reimpostato.
Questo ci dice che Ubuntu determina l'inattività misurando la quantità di tempo che è trascorso dall'ultimo tasto o movimento del mouse. L'utilizzo della CPU e l'attività di rete non vengono presi in considerazione.
Correlati:Mac – Creazione di una VM Ubuntu con VirtualBox?