OK, existe o programa de hibernação, que pode enviar seu computador para suspender ou hibernar a partir da linha de comando. Determinar se o seu computador está "inativo" será mais complicado.
Em uma área de trabalho gráfica, você usa a entrada do mouse e do teclado. Obviamente, neste cenário, isso está fora de questão.
Você deve começar escrevendo um shellscript, fazendo algumas verificações ociosas. Você pode chamar esse script por meio de um cron job a cada 5 minutos ou mais.
Você pode considerar seu servidor inativo, se nenhum usuário estiver conectado (verifique isso com who
) ou se não houver conexões de rede em uso (verifique com netstat
) ou se o carregamento da CPU estiver baixo (verifique exemplo com top -n 1 -b
). Você terá que encontrar sua própria heurística.