Como meu computador suspende?

9

Tentando entender como a suspensão funciona na 10.10.

http://git.webconverger.org/?p=home.git;a=blob;f=.bashrc;h=8ba57b877e31a03c5f0b1675b42f747d81dd31ad;hb=HEAD#l31

Eu uso um alias suspend='sudo /etc/acpi/sleep.sh && sudo alsactl init 0

A parte alsactlé reiniciar minha placa de som, que às vezes não sai da suspensão corretamente.

E depois:

/etc/acpi/sleep.sh-> /usr/sbin/pm-suspend-> /usr/lib/pm-utils/bin/pm-action->/usr/lib/pm-utils/pm-functions

Ironia é /usr/lib/pm-utils/bin/pm-actionreivindicada como "Simples script de suspensão".

Ainda não sei como funciona. Eu acho que usei diretamente s2ramantes.

Hendry
fonte
Eu sei que não estou explicando muito, mas você pode colocar seu alsactlcomando em seu próprio script /etc/acpi/resume.d/e ele será executado na esteira.
Oli
Atualização: eu simplesmente uso sudo systemctl suspendagora.
hendry

Respostas:

10

A gnome-power-managerferramenta escuta eventos de botão de suspensão e gera pm-suspend. Detalhes detalhados sobre como as pm-suspendoperações podem ser encontrados na man pm-suspendsaída do comando. A versão rápida:

  1. /etc/pm/config.d é verificado em busca de arquivos que definem variáveis ​​de ambiente.
  2. Cada um dos scripts /etc/pm/sleep.de /usr/lib/pm-utils/sleep.dé chamado em ordem com o argumento "suspend".
  3. O sistema é colocado em suspensão através do módulo de interface definido. Por padrão, essa é a interface do kernel suspender: echo -n "mem" >/sys/power/state. Veja /usr/lib/pm-utils/pm-functionsonde do_suspendestá definido.
  4. O sistema acorda.
  5. Cada um dos scripts /etc/pm/sleep.de /usr/lib/pm-utils/sleep.dé chamado em ordem inversa com o argumento "resume".

Se você precisar adicionar um script à pilha, sugiro adicioná-lo /etc/pm/sleep.de nomeá-lo como algo que não entre em conflito com outros scripts e verifique se ele processa o argumento "suspend" / "resume".

Para depuração, consulte /var/log/pm-suspend.loga página de manual, que possui mais informações sobre como fazer testes.

Kees Cook
fonte
Obrigado kees, apesar de que por interesse, qual é exatamente o comando para acionar a "suspensão do kernel" na etapa 3?
quer
Atualizei para incluir esses detalhes também agora.
Kees Cozinhe