Suspender quando criticamente baixo poder 11.10

7

Existe uma maneira de suspender quando o Ubuntu está em baixo consumo de energia. A única opção na configuração de energia do Ubuntu 11.10 é desligar ou hibernar. Eu corro minha bateria até o fim até que ela seja suspensa, então eu a conecto. Ela fica irritante quando meu computador hiberna a um consumo criticamente baixo.

Agradecemos antecipadamente pela ajuda

    
por Ryan 03.11.2011 / 04:20

4 respostas

4

Não tenho certeza porque as configurações de energia oferecem apenas hibernação ou desligamento.
Você pode alterar a opção de suspender usando o dconf-editor:
Navegue para o org-> gnome- > settings-daemon- > plugins- > power, e altere o valor de critical-battery-action para "suspender".

    
por jpd 04.01.2012 / 21:41
2

Apenas um palpite, mas acredito que a um consumo criticamente baixo, o sistema não tem energia suficiente para sustentar o modo de suspensão - sim, o modo de suspensão, embora tenha baixo consumo de energia, consome energia para manter os dados RAM. Então, mesmo que o sistema suspenda, ele será desligado imediatamente. Provavelmente é por isso que a solução do jpd não funcionou.

Por que eu acredito assim? Eu notei que depois que o sistema é desligado devido ao baixo consumo de energia, é impossível (pelo menos no meu laptop) ligá-lo sem conectá-lo. Portanto, energia criticamente baixa deve significar 'não pode continuar' e não 'apenas 5' minutos restantes "ou algo assim.

Acho que o que você quer é que o sistema seja suspenso quando restarem 10 minutos de bateria. Eu não sei como atacar esse problema, mas acredito que o Unity o notifique sobre isso. No meu caso, esta notificação é suficiente.

    
por S Prasanth 02.12.2012 / 16:55
1

Na minha máquina, o estado atual da bateria pode ser lido em / proc / acpi / battery / BAT1 / state

Exemplo de conteúdo deste arquivo:

present:                 yes
capacity state:          ok
charging state:          charging
present rate:            749 mA
remaining capacity:      530 mAh
present voltage:         11200 mV

Você pode localizar o arquivo apropriado em sua máquina e usá-lo para suspender quando a bateria estiver em estado criticamente baixo. O seguinte script python fará isso por você:

#!/usr/bin/python
import os
import time

battery_state_file = "/proc/acpi/battery/BAT1/state"
critically_low_power = 500
suspend_command = "sudo pm-suspend"

while True:
    time.sleep(1)
    f = open(battery_state_file)
    content = f.read().split('\n')
    f.close()
    if content[2].split()[2] == "discharging":
        if int(content[4].split()[2]) < 500:
            os.system(suspend_command)

Salve isso em um arquivo (digamos) suspendscript , torne-o executável, adicione suspendscript & a .xsessionrc em sua pasta pessoal, efetue logout e login novamente.

Você precisa definir battery_state_file e critically_low_power apropriadamente. Se a capacidade restante cair abaixo de 'critically_low_power' mAh, o sistema será suspenso. Opcional: Você pode, se desejar, usar "taxa atual" e "capacidade restante" para localizar "tempo restante esperado" (= "limite restante" / "taxa atual" horas) e suspender se o tempo restante ficar abaixo de um determinado limite .

Notas:

  1. Esse código precisará ser modificado se o conteúdo do arquivo de estado não estiver no mesmo formato do conteúdo de amostra fornecido acima.
  2. sudo pm-suspend exige que o sudoer forneça sua senha. Você tem que fazer pm-suspend sudoable sem senha. Veja como: Como executo comandos sudo específicos sem uma senha? . Alternativamente, você pode alterar o suspend_command para simplesmente pm-suspend e adicionar sudo suspendscript & para .xsessionrc e tornar suspendscript sudoable sem senha.
  3. Se você usar esse script, precisará definir 'ação de energia criticamente baixa' para 'não fazer nada' nas configurações do gnome-power-manager.
por S Prasanth 10.12.2012 / 11:53
-4

Veja meu comentário sobre Touchpad parou de funcionar em um Acer AspireOne D255E - Eu acho que seu problema é com o pacote pm-utils também.

    
por waltinator 03.11.2011 / 05:46