Fedora auto suspend

4

Estou usando o Fedora 13 e, para desligar e reinicializar automaticamente, temos os seguintes comandos:

# shutdown -h/-r now 

Da mesma forma, se eu quiser fazer meu sistema entrar no modo de suspensão depois de algum tempo, qual comando devo usar?

    
por crskhr 07.09.2010 / 22:25

2 respostas

5

A filosofia unix é ter ferramentas que executam um trabalho, além do shell para combiná-las. Então, combinaremos um comando de suspensão com um comando do-something-later. Eu não sei o que o comando padrão para suspender está no Fedora (existem vários flutuando); Vou usar pm-suspend , que é o comando usual no Ubuntu.

Para suspender após X segundos: sleep X && pm-suspend

Para suspender em um determinado momento: echo pm-suspend | at HH:MM

    
por 07.09.2010 / 23:40
1

O utilitário pm-suspend (que está contido no pacote pm-utils e provavelmente já instalado em sua máquina ) é o que é usado para enviar seu computador para o modo de suspensão. Assim, para suspender "agora", você pode executar (como root ou usando o sudo):

# pm-suspend

Infelizmente, o pm-suspend não usa um parâmetro de tempo, tanto quanto eu sei. No entanto, você pode escrever um script de wrapper que tenha um parâmetro de tempo. Salve o script em algum lugar no seu $ PATH e chmod + x-lo. Não chame de "suspender". Um simples pode ser assim:

#!/bin/sh
#change this following line to wherever pm-suspend lives
suspend="/usr/sbin/pm-suspend"

#make sure we are root
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

if [ -z "$1" ]; then
    echo "mysuspend: time in seconds expected"
    exit 1;
elif [ "$1" = "now" ]; then
    echo "Suspending now!"
    wait="0"
else
    #make sure we get a number.
    echo "$1" | grep [a-zA-Z] > /dev/null
    if [ $? -ne 0 ]; then
        echo "Suspending in $1 seconds"
        wait="$1"
    else
        echo "mysuspend: time in seconds expected"
        exit 1
    fi
fi

sleep "$wait"
$suspend

Aviso : Eu não testei isso além de "funciona para mim".

Você pode considerar alterar o comando suspender para pm-suspend-hybrid, que também salvará um arquivo de hibernação caso você fique sem energia enquanto estiver suspenso.

Outros utilitários que você pode estar interessado ou que poderiam tornar seu script mais robusto são pm-hibernate, pm-is-supported.

    
por 07.09.2010 / 23:33