Як запустити сценарій при призупиненні / поновленні? - Sony VAIO Ubuntu 12.04


12

Запитання: Як призначити сценарій для запуску при виборі опції призупинення в меню живлення?

Контекст:
У мене ноутбук Sony VAIO з графічною карткою AMD Radeon. Я хотів би мати можливість відключити / включити дискретну відеокарту. Я не маю жодних проблем у цьому, але це спричиняє проблеми при призупиненні та поновленні з призупинення.

Коли сеанс відновлюється з призупинення (при відключенні дискретного DPU), вентилятор буде безконтрольно крутитися, що я хотів би зробити, це відредагувати сценарій призупинення або призначити новий сценарій для призупинення опції в меню живлення. Це так, що я можу повторно включити GPU перед тим, як призупинити. Меню живлення

EDIT: Після деяких досліджень я думаю, що це має щось спільне з файлами в /etc/pm/sleep.d/?

Якби я помістив там спеціальний скрипт, чи буде він запускатися при призупиненні та поновленні з призупинення?

Як розрізняти сценарій між тимчасовим призупиненням та відновленням роботи?

Відповіді:


16

Ти правий. Ви повинні написати сценарій і зберегти його /lib/systemd/system-sleep/(з 2015 року системний подбає про це, раніше був /etc/pm/sleep.d/). Різниця між призупиненням та відновленням задається як параметр сценарію:

#!/bin/bash

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

Якщо ви також хочете зробити це в сплячку, аргументами були б hibernateі thaw.


Я бачив це в інших сценаріях і цікавився конкретним вимогам до такого сценарію. Дякую :)
danielcooperxyz

Привіт, спробував це на моєму Dell 5570 під керуванням ubuntu 14.04, щоб увімкнути тачпад, якби я його відключив перед тим, як призупинити. чомусь команда tp_id=( )xinput list | grep -i touchpad | awk '{ print $7 }' | sed 's/id=//'() не повертає ідентифікатор, тоді як ця команда працює з командного рядка. Чи можете ви бачити якусь причину, чому б цього не сталося? Для інших цілей сценарій чудово працює. Дякую!
Лев Саймон

Вибачте, у цьому попередньому коментарі я спробував вкласти зворотні фрагменти у фрагмент сценарію, але мова мінімального проключення перемогла мене. в () 'и призначений бути замінений зворотними лапками
Leo Simon

@LeoSimon Ей Лео, коментарі не є правильним місцем для обговорення такого подальшого питання. Я пропоную вам задати абсолютно нове запитання. Таким чином набагато більше людей побачать це і зможуть вам допомогти :-)
Андре Станек

2
Можливо, вам доведеться використовувати /lib/systemd/system-sleep/замість цього.
SimonT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.