GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu 15.04 Suspend non esegue `pm-suspend`?

Dopo l'aggiornamento a Ubuntu GNOME 15.04 (da 14.10), ho notato il mio pm-utils hook in /etc/pm/sleep.d non sono più in esecuzione su sospensione/ripresa.

Ho uno script personalizzato che salva la luminosità prima della sospensione e la ripristina dopo il ripristino. Se eseguo manualmente sudo pm-suspend gli hook vengono eseguiti ma se chiudo il coperchio del laptop (che sospende Ubuntu) gli script non vengono eseguiti. Mi sono perso qualcosa?

Lo script di luminosità in /etc/pm/sleep.d è (funzionato il 14.04 e il 14.10):

#!/bin/bash

case "$1" in
    suspend|suspend_hybrid|hibernate)
        cat /sys/class/backlight/acpi_video0/brightness > /tmp/.brightness_level
        # modprobe -r nvidiabl
        ;;
    resume|thaw)
        # modprobe nvidiabl
        cat /tmp/.brightness_level > /sys/class/backlight/acpi_video0/brightness
        rm /tmp/.brightness_level
        ;;
esac

Risposta accettata:

Aggiorna :Ho trovato una soluzione migliore usando systemd senza script esterni. Crea e abilita il seguente servizio:

[Unit]
Description=Save brightness on suspend
DefaultDependencies=no
RequiresMountsFor=/var/lib/systemd/backlight
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-backlight save acpi_video0
ExecStop=/lib/systemd/systemd-backlight load acpi_video0
TimeoutSec=90s

[Install]
WantedBy=sleep.target

Ubuntu 16.04 Nota :Il nome del dispositivo di retroilluminazione di destinazione deve essere preceduto da "backlight:" (ad es. backlight:acpi_video0 ).

Abilita eseguendo:systemctl enable suspend-save-backlight.service (o come lo chiami). Nota che acpi_video0 è il nome del collegamento simbolico della retroilluminazione in /sys/class/backlight utilizzato per controllare la luminosità del display, potrebbe variare su diversi sistemi.

Quanto sopra utilizza systemd-backlight di systemd eseguibile per salvare e caricare la luminosità rispettivamente prima della sospensione e dopo la ripresa (ispirato da /lib/systemd/system/[email protected] che salva/carica la luminosità al riavvio/avvio).

Vecchia soluzione (collega un systemd servizio al mio gancio di sospensione pm-utils)

Trovato il problema. Secondo questo articolo di ArchWiki:

systemd non usa pm-utils per mettere la macchina in stato di stop quando si usa systemctl suspend, systemctl hibernate o systemctl hybrid-sleep; Gli hook pm-utils, inclusi gli hook personalizzati, non verranno eseguiti. Tuttavia, systemd fornisce due meccanismi simili per eseguire script personalizzati su questi eventi.

Quindi il modo giusto per farlo con systemd (usato per impostazione predefinita in 15.04) è creare i seguenti file di servizio che eseguono il mio script di controllo della luminosità in /etc/pm/sleep.d/ come segue:

  1. /etc/systemd/system/root-suspend.service :

    [Unit]
    Description=Local system suspend actions
    Before=sleep.target
    
    [Service]
    Type=simple
    ExecStart=-/etc/pm/sleep.d/nvidiabl_brightness suspend
    
    [Install]
    WantedBy=sleep.target
    
  2. /etc/systemd/system/root-resume.service :

    [Unit]
    Description=Local system resume actions
    After=suspend.target
    
    [Service]
    Type=simple
    ExecStart=-/etc/pm/sleep.d/nvidiabl_brightness resume
    
    [Install]
    WantedBy=suspend.target
    

Quindi esegui quanto segue per abilitare questi servizi:

systemctl enable root-suspend.service
systemctl enable root-resume.service

Fare riferimento all'articolo collegato per maggiori dettagli.

Correlati:in quale ordine vengono eseguiti i comandi reindirizzati?
Ubuntu
  1. Ubuntu – Disinstallazione del file *.run?

  2. Come eseguire Wireshark su Ubuntu 17.10?

  3. Come eseguire file .exe in Ubuntu??

  4. Ubuntu 16.04 Nessun Wifi dopo la sospensione?

  5. Catalyst 15.7:potrebbe funzionare su Ubuntu 15.04?

Come riavviare la rete in Ubuntu

Come riavviare il Bluetooth in Ubuntu 20.04

Fix Laptop non si sospende dopo la chiusura del coperchio su Ubuntu Linux

Abilita o crea un servizio in Ubuntu 20.04 LTS

Il laptop Ubuntu 17.10 non si sospende alla chiusura del coperchio?

Come eseguire Memtest in Ubuntu 22.04