На этот вопрос уже есть ответ здесь:
] В предыдущем вопросе я узнал, как закрыть все экземпляры запущенных виртуальных машин, запущенных через бродягу . Я хотел бы вызвать этот сценарий при выходе из моего Desktop Manager, который в настоящее время является Cinnamon.
Некоторые указали на другое подобное, но я недостаточно понял выбранные ответы, чтобы решить мою проблему и применить что-либо к действию. Комментарии ниже указывают на запуск при остановке lightdm
. Это похоже на то, что я ищу. Вот как я могу запустить сценарий для остановки всех виртуальных машин (называемый: stop-vagrant.sh), когда я выхожу из диспетчера рабочего стола ( запускается при остановке lightdm
)?
То, что необходимо сделать, создают Новомодное задание . Давайте скажем, что Ваш сценарий для остановки 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
Выскочка автоматически выполнит это, когда Вы выйдете из системы.