В некоторых случаях при загрузке системы возникает необходимость выполнить свой скрипт. К таким случаям относится потребность в изменении разрешения экрана, запуске определенных приложений и обновлении конкретной утилиты.
Запуск скрипта можно реализовать различными способами. Сделать это можно путем использования графической оболочки или системы инициализации systemd, используемая сейчас практически во всех дистрибутивах.
Первое, что следует сделать, это в удобном месте создать скрипт и выполнить его:
$ sudo gedit /путь_к_скрипту/имя_скрипта.sh
#!/bin/bash
echo "Hello world"
Этот скрипт выведет на экран пользователя сообщения «Hello world». Когда программа готова, ее необходимо сделать исполняемой. Для этого используется следующая команда:
$ sudo chmod ugo+x /путь_к_скрипту/имя_скрипта.sh
Дальше в главном меню системы необходимо запустить утилиту «Автоматически запускаемые приложения».
Жмем кнопку «Добавить» и вводом полный путь к файлу скрипта в поле «Команда». Можно нажать кнопку «Обзор», найти, выбрать файл скрипта и нажать «Добавить».
В дальнейшем программа будет исполняться каждый раз при запуске графической оболочки Ubuntu.
Воспользуйтесь специальной командой, чтобы создать файл сервиса system
Это команда:
sudo systemctl edit --force myscript
В этот файл необходимо добавить содержимое:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/полный/путь/к/скрипту/имя_скрипта.sh
[Install]
WantedBy=multi-user.target
Дальше в строчке под названием ExecStart нужно выполнить одно из следующих требований: прописать путь у выполняемому скрипту или команду. После чего скрипт добавляется в автозагрузку:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
Программа запустится после инициализации системы. С этой целью можно пользоваться «старым» способом: с помощью rc.local. сощдается файл /etc/rc.local и прописывается путь к нему в строке ExecStart сервис-файла.