Каждый раз, когда я выключаю или перезагружаю свой ноутбук (Ubuntu 14.04), я хотел бы запустить скрипт, который проверяет, внедрил ли я свой самый новый код в мой удаленный репозиторий git. Если я забуду это, то он откроет терминал, попросит пользователя ввести сообщение фиксации и отбросит изменения. У меня уже есть скрипт.
Теперь я ищу способ заставить этот скрипт запускаться автоматически, когда я завершаю или перезагружаюсь, но до выхода из графического интерфейса.
Мой подход до сих пор с System V Init (да , Я знаю, что это немного устарело):
Я копирую сценарий инициализации с заголовком LSB в /etc/init.d:
sudo cp ~/git_checker /etc/init.d/
, изменить права доступа:
sudo chmod a+x /etc/init.d/git_checker
и настроить сценарии выполнения:
sudo update-rc.d /etc/init.d/git_checker defaults
Когда я тестирую этот скрипт с помощью sudo service git_checker start, Я получаю сообщение об ошибке: «Не удалось разобрать аргументы: не удается открыть отображение:«
. Узнав об этом, я обнаружил, что сценарии инициализации не должны использоваться для открытия терминалов (например: su user -c 'x-terminal-emulator -e /home/user/git_check.sh'), поскольку сервер X не гарантированно запускается при выполнении сценариев инициализации.
Таким образом, сценарии инициализации выглядят неправильно. Есть ли другой способ? Может быть, с upstart или systemd?
В случае запуска скрипта при запуске системы я могу просто поместить его в загрузочные приложения. Существует ли что-то подобное, например, выключение приложений?