Bagaimana cara menjalankan skrip saat menangguhkan / melanjutkan? - Sony VAIO Ubuntu 12.04

12

Pertanyaan: Bagaimana cara menetapkan skrip untuk dijalankan ketika memilih opsi menangguhkan pada menu daya?

Konteks:
Saya memiliki laptop Sony VAIO dengan kartu grafis AMD Radeon. Saya ingin dapat menonaktifkan / mengaktifkan kartu grafis diskrit. Saya tidak memiliki masalah dalam melakukan ini tetapi itu menyebabkan masalah ketika menangguhkan & melanjutkan dari menangguhkan.

Ketika sesi dilanjutkan dari penangguhan (dengan DPU diskrit dinonaktifkan), kipas akan berputar tanpa terkendali, yang ingin saya lakukan adalah mengedit skrip penangguhan atau menetapkan skrip baru ke opsi penangguhan pada menu daya. Ini agar saya dapat mengaktifkan kembali GPU sebelum menangguhkan. Menu Daya

EDIT: Setelah beberapa penelitian saya pikir itu ada hubungannya dengan file dalam /etc/pm/sleep.d/?

Jika saya memasukkan skrip khusus di sana, apakah skrip tersebut akan dijalankan saat menangguhkan dan melanjutkan dari penangguhan?

Bagaimana saya membedakan dalam skrip antara penangguhan / melanjutkan?

danielcooperxyz
sumber

Jawaban:

16

Kamu benar. Anda harus menulis skrip dan menyimpannya /lib/systemd/system-sleep/(sejak 2015 systemd mengurus itu, sebelumnya adalah /etc/pm/sleep.d/). Perbedaan antara menangguhkan dan melanjutkan diberikan sebagai parameter untuk skrip:

#!/bin/bash

case "$1" in
    suspend)
        # executed on suspend
        ;;
    resume) 
        # executed on resume
        ;;
    *)
        ;;
esac

Jika Anda juga ingin melakukannya untuk hibernate, argumennya adalah hibernatedan thaw.

André Stannek
sumber
Saya pernah melihat ini di skrip lain dan bertanya-tanya tentang persyaratan khusus untuk skrip semacam itu. Terima kasih :)
danielcooperxyz
Hai, coba ini pada Dell 5570 saya menjalankan ubuntu 14.04 untuk mengaktifkannya touchpad saya, jika saya mematikan jika sebelum menangguhkan. untuk beberapa alasan, perintah tp_id=( )xinput list | grep -i touchpad | awk '{ print $7 }' | sed 's/id=//'() tidak mengembalikan id, sementara perintah ini berfungsi dari baris perintah. Bisakah Anda melihat alasan mengapa tidak? Untuk keperluan lain skrip Anda berfungsi dengan baik. Terima kasih!
Leo Simon
Maaf, dalam komentar sebelumnya, saya mencoba memasukkan backtick ke dalam fragmen skrip, tetapi bahasa minimark mengalahkan saya. the () dimaksudkan untuk digantikan oleh backticks
Leo Simon
@LeoSimon Hei Leo, komentarnya bukan tempat yang tepat untuk membahas pertanyaan tindak lanjut seperti itu. Saya sarankan Anda mengajukan pertanyaan yang sama sekali baru. Dengan cara ini, lebih banyak orang akan melihatnya dan dapat membantu Anda :-)
André Stannek
2
Anda mungkin perlu menggunakannya /lib/systemd/system-sleep/.
SimonT