Как я могу запустить сценарий оболочки по окончании сеанса? [дубликат]

На этот вопрос уже есть ответ здесь:

] В предыдущем вопросе я узнал, как закрыть все экземпляры запущенных виртуальных машин, запущенных через бродягу . Я хотел бы вызвать этот сценарий при выходе из моего Desktop Manager, который в настоящее время является Cinnamon.

Некоторые указали на другое подобное, но я недостаточно понял выбранные ответы, чтобы решить мою проблему и применить что-либо к действию. Комментарии ниже указывают на запуск при остановке lightdm . Это похоже на то, что я ищу. Вот как я могу запустить сценарий для остановки всех виртуальных машин (называемый: stop-vagrant.sh), когда я выхожу из диспетчера рабочего стола ( запускается при остановке lightdm )?

3
задан 13 April 2017 в 15:23

1 ответ

То, что необходимо сделать, создают Новомодное задание . Давайте скажем, что Ваш сценарий для остановки VMs доступен по телефону /some/path/vagrant-stop.sh.

В зависимости от точного характера Вашего VMs (они работают только, когда Вы зарегистрированы в GUI или являетесь ими выполненный, когда система запускает, и т.д.), Вы могли использовать или Системное задание или задание Сессии. Для случая, куда VMs выполняются только, когда Вы зарегистрированы в GUI, можно использовать задание сессии, простой пример которого я представлю здесь:

Создают файл в ~/.config/upstart с .conf расширение (используйте своего любимого редактора):

vim ~/.config/upstart/stop-vms.conf

содержание было бы:

description "Give your task a description"
start on session-end

task

exec /some/path/vagrant-stop.sh

Выполнение initctl check-config, чтобы видеть, существуют ли какие-либо ошибки.

Теперь, можно остановиться VMs с (простите формулировку):

start stop-vms

Выскочка автоматически выполнит это, когда Вы выйдете из системы.

3
ответ дан 1 December 2019 в 16:29

Другие вопросы по тегам:

Похожие вопросы: