Bizonyos esetekben szükséges, hogy a rendszer indításakor futtassa a szkriptet. Ilyen esetek közé tartozik a képernyőfelbontás megváltoztatása, bizonyos alkalmazások elindítása és egy adott segédprogram frissítése. Egy parancsfájl futtatása többféleképpen is megvalósítható. Ez történhet grafikus shell vagy a ma már szinte minden disztribúcióban használt systemd inicializáló rendszer segítségével.
Az első teendő, hogy létrehoz egy szkriptet egy megfelelő helyen, és végrehajtja azt:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Ez a szkript "Hello world" üzeneteket fog megjeleníteni a felhasználónak. Ha a program elkészült, futtathatóvá kell tenni. Erre a célra a következő parancsot használjuk:
$ sudo chmod ugo+x /script_path/script_name.sh
Ezután a rendszer főmenüjében el kell indítani az "Alkalmazások automatikus futtatása" segédprogramot.
Kattintsunk a "Hozzáadás" gombra, és a "Parancs" mezőbe írjuk be a szkriptfájl teljes elérési útvonalát. Megnyomhatja a "Tallózás" gombot, megkeresheti és kiválaszthatja a parancsfájlt, majd megnyomhatja a "Hozzáadás" gombot.
Innentől kezdve a program minden alkalommal végrehajtásra kerül, amikor elindítja az Ubuntu grafikus héját.
A systemd szolgáltatási fájl létrehozásához egy speciális parancsot használjon
Ez a parancs:
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
Ezután az ExecStart nevű sorban teljesítenie kell az alábbi követelmények egyikét: Írja be a végrehajtandó szkript vagy parancs elérési útvonalát. Ezt követően a szkript hozzáadódik az automatikus betöltőhöz:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
A program a rendszer inicializálása után indul el. Erre a célra használhatjuk a "régi" módszert: az rc.local
segítségével létrehozhatjuk az /etc/rc.local
fájlt, és a szolgáltatásfájl ExecStart sorába beírhatjuk az elérési utat.