W niektórych przypadkach konieczne jest wykonanie skryptu podczas uruchamiania systemu. Takie przypadki obejmują potrzebę zmiany rozdzielczości ekranu, uruchomienia niektórych aplikacji i aktualizacji określonego narzędzia. Uruchamianie skryptu można zaimplementować na wiele sposobów. Można to zrobić za pomocą powłoki graficznej lub systemu inicjalizacji systemd, który jest obecnie używany w prawie wszystkich dystrybucjach.
Pierwszą rzeczą do zrobienia jest utworzenie skryptu w dogodnym miejscu i wykonanie go:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Skrypt ten będzie wyświetlał użytkownikowi komunikaty "Hello world". Gdy program jest już gotowy, należy uczynić go wykonywalnym. Do tego celu służy poniższe polecenie:
$ sudo chmod ugo+x /script_path/script_name.sh
Następnie w menu głównym systemu należy uruchomić narzędzie "Automatycznie uruchamiaj aplikacje".
Kliknij przycisk "Dodaj" i wprowadź pełną ścieżkę do pliku skryptu w polu "Polecenie". Możesz nacisnąć przycisk "Przeglądaj", znaleźć i wybrać plik skryptu, a następnie nacisnąć przycisk "Dodaj".
Od tego momentu program będzie wykonywany przy każdym uruchomieniu powłoki graficznej Ubuntu.
Użyj specjalnego polecenia, aby utworzyć plik usługi systemd
Oto polecenie:
sudo systemctl edit --force myscript
You need to add the contents to this file:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/full/path/to/script/script_name.sh
[Install]
WantedBy=multi-user.target
Następnie w linii o nazwie ExecStart należy spełnić jeden z następujących warunków: wpisać ścieżkę do skryptu lub polecenia, które ma zostać wykonane. Następnie skrypt jest dodawany do autoloadera:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
Program uruchomi się po inicjalizacji systemu. W tym celu można użyć "starej" metody: można użyć rc.local
, aby utworzyć plik /etc/rc.local
i zapisać ścieżkę do niego w linii ExecStart pliku usługi.