Come sospende il mio computer?


9

Cercare di capire come funziona la sospensione in 10.10.

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

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

Il alsactlbit è di riavviare la mia scheda audio che a volte non esce correttamente dalla sospensione.

E poi:

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

L'ironia /usr/lib/pm-utils/bin/pm-actionafferma di essere "Script di sospensione semplice".

Ancora non so come funziona. Penso di aver usato direttamente s2ramprima.


So che non sto spiegando molto, ma potresti inserire il tuo alsactlcomando nel suo script /etc/acpi/resume.d/e verrà eseguito di nuovo.
Oli

Aggiornamento: lo uso semplicemente sudo systemctl suspendora.
Hendry,

Risposte:


10

Lo gnome-power-managerstrumento è in attesa di eventi del pulsante di sospensione e genera pm-suspend. È possibile trovare dettagli dettagliati su come pm-suspendopera man pm-suspendnell'output del comando. La versione rapida:

  1. /etc/pm/config.d viene sottoposto a scansione per i file che definiscono le variabili di ambiente.
  2. Ciascuno degli script in /etc/pm/sleep.de /usr/lib/pm-utils/sleep.dviene chiamato in ordine con l'argomento "suspend".
  3. Il sistema viene messo in sospensione tramite il modulo di interfaccia definito. Per impostazione predefinita, questa è l'interfaccia del kernel di sospensione: echo -n "mem" >/sys/power/state. Vedi /usr/lib/pm-utils/pm-functionsdove do_suspendè definito.
  4. Il sistema si sveglia.
  5. Ciascuno degli script in /etc/pm/sleep.de /usr/lib/pm-utils/sleep.dviene chiamato in ordine inverso con l'argomento "resume".

Se è necessario aggiungere uno script allo stack, suggerirei di aggiungerlo /etc/pm/sleep.de nominarlo come qualcosa che non sia in conflitto con altri script e di assicurarsi che elabori l'argomento "sospendi" / "riprendi".

Per il debug, vedere /var/log/pm-suspend.loganche la pagina man che contiene ulteriori informazioni su come eseguire i test.


Grazie kees, anche se cosa per interesse, qual è esattamente il comando per innescare la "sospensione del kernel" nel passaggio 3?
hendry,

Ho aggiornato per includere anche questi dettagli ora.
Kees Cook,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.