GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿La suspensión de Ubuntu 15.04 no ejecuta `pm-suspend`?

Después de actualizar a Ubuntu GNOME 15.04 (desde 14.10), noté que mi pm-utils ganchos en /etc/pm/sleep.d ya no se ejecutan en suspender/reanudar.

Tengo un script personalizado que guarda el brillo antes de suspenderlo y lo restaura después de reanudarlo. Si ejecuto manualmente sudo pm-suspend los ganchos se ejecutan, pero si cierro la tapa de la computadora portátil (que suspende Ubuntu), los scripts no se ejecutan. ¿Me estoy perdiendo algo?

El script de brillo en /etc/pm/sleep.d es (funciona en 14.04 y 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

Respuesta aceptada:

Actualizar :Encontré una mejor solución usando systemd sin guiones externos. Cree y habilite el siguiente servicio:

[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

Nota de Ubuntu 16.04 :El nombre del dispositivo de retroiluminación de destino debe tener el prefijo "backlight:" (por ejemplo, backlight:acpi_video0 ).

Habilite ejecutando:systemctl enable suspend-save-backlight.service (o como lo llames). Tenga en cuenta que acpi_video0 es el nombre del enlace simbólico de retroiluminación en /sys/class/backlight que se utiliza para controlar el brillo de la pantalla, puede variar en diferentes sistemas.

Lo anterior usa systemd-backlight de systemd ejecutable para guardar y cargar el brillo antes de suspender y después de reanudar respectivamente (inspirado en /lib/systemd/system/[email protected] que guarda/carga el brillo al reiniciar/arrancar).

Solución antigua (enlaza un systemd servicio a mi gancho de suspensión pm-utils)

Encontré el problema. Según este artículo de ArchWiki:

systemd no usa pm-utils para poner la máquina en suspensión cuando usa systemctl suspend, systemctl hibernate o systemctl hybrid-sleep; Los ganchos pm-utils, incluidos los ganchos personalizados, no se ejecutarán. Sin embargo, systemd proporciona dos mecanismos similares para ejecutar scripts personalizados en estos eventos.

Entonces, la forma correcta de hacerlo con systemd (que se usa de forma predeterminada en 15.04) es crear los siguientes archivos de servicio que ejecutan mi secuencia de comandos de control de brillo en /etc/pm/sleep.d/ de la siguiente manera:

  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
    

Luego ejecute lo siguiente para habilitar estos servicios:

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

Consulte el artículo vinculado para obtener más detalles.

Relacionado:¿En qué orden se ejecutan los comandos canalizados?
Ubuntu
  1. Ubuntu – ¿Desinstalando el archivo *.run?

  2. ¿Cómo ejecutar Wireshark en Ubuntu 17.10?

  3. ¿Cómo ejecutar archivos .exe en Ubuntu?

  4. Ubuntu 16.04 ¿No hay wifi después de suspender?

  5. ¿Es posible ejecutar Ubuntu en un Nexus 7?

Cómo reiniciar la red en Ubuntu

Cómo reiniciar Bluetooth en Ubuntu 20.04

Arreglar la computadora portátil no se suspende después de cerrar la tapa en Ubuntu Linux

Habilitar o crear un servicio en Ubuntu 20.04 LTS

¿La computadora portátil Ubuntu 17.10 no se suspende al cerrar la tapa?

Cómo ejecutar Memtest en Ubuntu 22.04