Come sapere quando un computer è inattivo?


8

Ho un computer che viene usato solo un po 'di tempo e mi chiedevo se c'era un modo per spegnerlo da solo dopo un periodo di inattività.

Ecco la parte difficile, se stavo solo pensando di disattivarlo quando la GUI è inattiva, penso che sarebbe significativamente più semplice, ma sto cercando di assicurarmi di non escludere nessuno che sta attivamente usando il macchina anche tramite SSH. Il computer in questione è Debian 5.0.

Esiste un modo per rilevare se la macchina è inattiva, come in nessuno usa la GUI e nessuno sta usando la macchina tramite SSH? Se una connessione SSH è aperta, ma non viene utilizzata attivamente, il computer dovrebbe considerarlo inattivo.


Questo dovrebbe forse essere spostato su StackOverflow?
Jeff Welling,

la domanda non è particolarmente programmatica e potrebbero esserci risposte adeguate che non lo sono neanche.
jmtd,

Un amico ha suggerito DBUS, ma nei miei brevi 5 minuti di ricerca su Google non sembrava che avrebbe prestato attenzione a connessioni ssh, inattive o meno. Sarei carino se fossi disinformato però ... devo continuare a cercare quando mi sveglio.
Jeff Welling,

1
Perché vorresti comunque spegnere un computer Linux? :-)
anfetamachina

@amphetamachine Risparmio energetico. Riduzione della potenza termica in una grande stanza del cluster. Abbiamo due cluster Linux dove lavoro; una 69 macchine, un'altra 43: abilitare la gestione dell'energia ha fatto una differenza misurabile per il calore degli ambienti (che erano troppo caldi) e la bolletta della luce.
jmtd,

Risposte:


2
who -q

Mostrerà chi e quanti utenti hanno un tty aperto (cioè su console, via X, ssh, telent) ma non mostrerà agli utenti che si connettono tramite pop, http ecc.


Esiste un modo per dire quale sia stato l'ultimo comando eseguito (PID, per verificare se è ancora in esecuzione) e quando è stato eseguito? Pensi che potrebbe essere realizzato con alcune modifiche al prompt di bash?
Jeff Welling,

Dovresti essere molto più specifico su cosa intendi. E se avessero avviato un programma setsid prima di disconnettersi - considereresti la loro sessione ancora attiva? Cosa non puoi ottenere dalla storia di Bash?
symcbean,

1

gdm/ gnome-power-managerpuò rilevare questo e sospendere la macchina in modo appropriato. per GNOME2 Try

gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s --type=int /apps/gnome-power-manager/timeout/sleep_computer_ac 600

e

gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s --type=int /apps/gnome-power-manager/timeout/sleep_computer_ac 600

come radice. Potrebbe essere necessario riavviare gdmper rendere effettive le impostazioni. (il numero è secondi quindi 600 è 10 minuti).

sotto GNOME3, esiste una coppia simile di gsettingschiavi (la precedente non funziona in modo silenzioso).

Se non stai eseguendo GNOME, puoi ispezionare la fonte gnome-power-managerper capire come stabilisce il minimo.


1
gdm / gnome-power-managerè in grado di rilevare connessioni ssh inattive?
Jeff Welling,

quelli inattivi? No. Quelli attivi? Credo di sì. La tua domanda suggeriva che non volevi tagliare attivamente le persone che usano la macchina tramite ssh . Se non vuoi che vengano sospesi anche con connessioni ssh inattive, ti preghiamo di rivedere la tua domanda.
jmtd,

In realtà sembra esattamente quello che voglio! Lo controllerò, grazie! Una volta verificato che funzionerà per i miei scopi, sceglierò la tua risposta :)
Jeff Welling,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.