I nogle tilfælde er det nødvendigt at udføre dit script, når systemet starter op. Det kan f.eks. være nødvendigt at ændre skærmopløsning, starte bestemte programmer og opdatere et bestemt værktøj. At køre et script kan implementeres på flere måder. Det kan gøres ved hjælp af en grafisk shell eller initialiseringssystemet systemd, som nu bruges i næsten alle distributioner.
Det første, du skal gøre, er at oprette et script et passende sted og udføre det:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Dette script vil vise "Hello world"-beskeder til brugeren. Når programmet er klar, skal det gøres eksekverbart. Til dette formål bruges følgende kommando:
$ sudo chmod ugo+x /script_path/script_name.sh
Dernæst skal du i systemets hovedmenu starte værktøjet "Automatically Run Applications".
Klik på knappen "Tilføj", og indtast den fulde sti til scriptfilen i feltet "Kommando". Du kan trykke på knappen "Gennemse", finde og vælge scriptfilen og trykke på "Tilføj".
Fra nu af vil programmet blive udført, hver gang du starter den grafiske shell i Ubuntu.
Brug en særlig kommando til at oprette en systemd-servicefil
Dette er kommandoen:
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
I linjen kaldet ExecStart skal du derefter opfylde et af følgende krav: Skriv stien til det script eller den kommando, der skal udføres. Derefter tilføjes scriptet til autoloaderen:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
Programmet vil starte efter systeminitialisering. Til dette formål kan du bruge den "gamle" metode: Du kan bruge rc.local
til at oprette filen /etc/rc.local
og skrive stien til den i ExecStart-linjen i servicefilen.