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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.