GNU/Linux >> Belajar Linux >  >> Ubuntu

Ubuntu 15.04 Suspend Tidak Menjalankan `pm-suspend`?

Setelah memutakhirkan ke Ubuntu GNOME 15.04 (dari 14.10), saya perhatikan pm-utils saya kait di /etc/pm/sleep.d tidak berjalan lagi saat ditangguhkan/dilanjutkan.

Saya memiliki skrip khusus yang menyimpan kecerahan sebelum ditangguhkan dan mengembalikannya setelah melanjutkan. Jika saya secara manual menjalankan sudo pm-suspend kait dijalankan tetapi jika saya menutup penutup laptop (yang menangguhkan Ubuntu) skrip tidak dieksekusi. Apakah saya melewatkan sesuatu?

Skrip kecerahan di /etc/pm/sleep.d adalah (berfungsi pada 14.04 dan 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

Jawaban yang Diterima:

Perbarui :Menemukan solusi yang lebih baik menggunakan systemd tanpa skrip eksternal. Buat dan aktifkan layanan berikut:

[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 Catatan :Nama perangkat lampu latar target harus diawali dengan “lampu latar:” (mis. backlight:acpi_video0 ).

Aktifkan dengan menjalankan:systemctl enable suspend-save-backlight.service (atau apapun sebutannya). Perhatikan bahwa acpi_video0 adalah nama symlink lampu latar di /sys/class/backlight yang digunakan untuk mengontrol kecerahan tampilan, mungkin berbeda pada sistem yang berbeda.

Di atas menggunakan systemd-backlight systemd dapat dieksekusi untuk menyimpan dan memuat kecerahan masing-masing sebelum ditangguhkan dan setelah dilanjutkan (terinspirasi dari /lib/systemd/system/[email protected] yang menyimpan/memuat kecerahan saat restart/boot).

Solusi Lama (menautkan systemd layanan ke kait penangguhan pm-utils saya)

Menemukan masalahnya. Menurut artikel ArchWiki ini:

systemd tidak menggunakan pm-utils untuk mematikan mesin saat menggunakan systemctl suspend, systemctl hibernate atau systemctl hybrid-sleep; kait pm-utils, termasuk kait khusus apa pun, tidak akan dijalankan. Namun, systemd menyediakan dua mekanisme serupa untuk menjalankan skrip khusus pada peristiwa ini.

Jadi cara yang tepat untuk melakukannya dengan systemd (yang digunakan secara default di 15.04) adalah membuat file layanan berikut yang menjalankan skrip kontrol kecerahan saya di /etc/pm/sleep.d/ sebagai berikut:

  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
    

Kemudian jalankan perintah berikut untuk mengaktifkan layanan ini:

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

Lihat artikel tertaut untuk detail selengkapnya.

Terkait:Dalam urutan apa perintah pipa dijalankan?
Ubuntu
  1. Instal dan Jalankan Vagrant di Ubuntu 20.04

  2. Ubuntu – Menghapus File *.run?

  3. Bagaimana Cara Menjalankan File .exe Di Ubuntu??

  1. Jalankan Sql Server Di Ubuntu?

  2. Ubuntu 16.04 Tidak Ada Wifi Setelah Ditangguhkan?

  3. Catalyst 15.7:Bisakah Ini Berjalan Di Ubuntu 15.04?

  1. Bagaimana Cara Menjalankan Wireshark Di Ubuntu 17.10?

  2. Bagaimana Cara Mengatur Layanan?

  3. Apakah Mungkin Menjalankan Ubuntu Pada Nexus 7?