На этот вопрос уже есть ответ здесь:
Колонки моего компьютера издают ужасный звук при выключении и я все время забываю выключить их перед выключением. Я хотел бы предотвратить это с помощью напоминания «как раз вовремя». Что-то вроде всплывающего окна, которое также откладывает выключение, пока я не нажму кнопку подтверждения, было бы здорово.
Решением вашей проблемы является отключение звука перед выключением. Запишите этот сценарий в /etc/rc0.d
:
#!/bin/bash
amixer set Master mute
. Убедитесь, что этот сценарий исполняется с помощью sudo chmod +x myscript
. Обратите внимание, что сценарий каталога будет выполняться в алфавитном порядке. вашего сценария должен начинаться с k99
для запуска в нужное время
При использовании этого решения, когда вы выключаете свою систему, он автоматически отключает звук
Для отображения сообщения перед остановкой просто выполните эти шаги:
Запишите сценарий, содержащий команды, Вы хотите быть выполненными, например:
#!/bin/bash
# for zenity it might be necessary to set the DISPLAY variable first with the following line:
# DISPLAY=":0.0"
zenity --warning
~/scripts/myscript
как пример здесьсделайте это исполняемым файлом с
sudo chmod +x ~/scripts/myscript
свяжите его с использованием каталога завершения работы
sudo ln -s ~/scripts/myscript /etc/rc0.d/k01zenitywarning
Сценарий будет выполняться в следующий раз, когда Вы закрываетесь. Для выполнения его alsoon перезагрузка дополнительно свяжите его с /etc/rc6.d/
с sudo ln -s ~/scripts/myscript /etc/rc6.d/k01zenitywarning
.
Это делает то, что Вы попросили, однако я также действительно как подход omid abc для решения проблемы – вместо вручную выключаю динамики, каждый раз просто отключает звук звука с помощью его команды (замените zenity
строка в сценарии для этого).
Еще более простой путь обеспечивается upstart
пакет, после установки его просто сохраняют следующий сценарий в ~/.init/onshutdown.conf
start on starting rc RUNLEVEL=0
task
script
# for zenity it might be necessary to set the DISPLAY variable first with the following line:
# DISPLAY=":0.0"
zenity --warning
end script
Снова, zenity --warning
может быть заменен любой командой (командами). Этот сценарий не должен быть сделан исполняемым файлом, просто сохраните его, и Вы сделаны. Для получения дополнительной информации о upstart
посмотрите человека 5 init.