În unele cazuri, este necesar să vă executați scriptul la pornirea sistemului. Astfel de cazuri includ necesitatea de a schimba rezoluția ecranului, de a lansa anumite aplicații și de a actualiza un anumit utilitar. Executarea unui script poate fi implementată în mai multe moduri. Aceasta poate fi realizată prin utilizarea unui shell grafic sau a sistemului de inițializare systemd, care este utilizat acum în aproape toate distribuțiile.
Primul lucru de făcut este să creați un script într-un loc convenabil și să îl executați:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Acest script va afișa utilizatorului mesaje "Hello world". Odată ce programul este gata, trebuie să fie făcut executabil. În acest scop se utilizează următoarea comandă:
$ sudo chmod ugo+x /script_path/script_name.sh
În continuare, în meniul principal al sistemului, trebuie să lansați utilitarul "Automatically Run Applications".
Faceți clic pe butonul "Add" și introduceți calea completă către fișierul script în câmpul "Command". Puteți apăsa butonul "Browse", găsiți și selectați fișierul script și apăsați "Add".
De acum înainte, programul va fi executat de fiecare dată când porniți shell-ul grafic Ubuntu.
Utilizați o comandă specială pentru a crea un fișier de serviciu Systemd
Aceasta este comanda:
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
În continuare, în linia numită ExecStart trebuie să îndepliniți una dintre următoarele cerințe: scrieți calea către scriptul sau comanda care urmează să fie executată. După aceea, scriptul este adăugat la autoloader:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
Programul va porni după inițializarea sistemului. În acest scop, puteți utiliza metoda "veche": puteți utiliza rc.local
pentru a crea fișierul /etc/rc.local
și puteți scrie calea către acesta în linia ExecStart din fișierul de serviciu.