In einigen Fällen ist es notwendig, Ihr Skript beim Hochfahren des Systems auszuführen. Dies ist beispielsweise der Fall, wenn Sie die Bildschirmauflösung ändern, bestimmte Anwendungen starten oder ein bestimmtes Dienstprogramm aktualisieren müssen. Die Ausführung eines Skripts kann auf verschiedene Weise erfolgen. Dies kann über eine grafische Shell oder das systemd-Initialisierungssystem erfolgen, das inzwischen in fast allen Distributionen verwendet wird.
Als Erstes müssen Sie ein Skript an einem geeigneten Ort erstellen und es ausführen:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Dieses Skript wird dem Benutzer "Hello world"-Nachrichten anzeigen. Sobald das Programm fertig ist, muss es ausführbar gemacht werden. Zu diesem Zweck wird der folgende Befehl verwendet:
$ sudo chmod ugo+x /script_path/script_name.sh
Als Nächstes müssen Sie im Hauptmenü des Systems das Dienstprogramm "Automatisch ausgeführte Anwendungen" aufrufen.
Klicken Sie auf die Schaltfläche "Hinzufügen" und geben Sie den vollständigen Pfad zur Skriptdatei in das Feld "Befehl" ein. Sie können auf die Schaltfläche "Durchsuchen" klicken, die Skriptdatei suchen und auswählen und auf "Hinzufügen" klicken.
Von nun an wird das Programm jedes Mal ausgeführt, wenn Sie die grafische Ubuntu-Shell starten.
Verwenden Sie einen speziellen Befehl, um eine systemd-Dienstdatei zu erstellen
Dies ist der Befehl:
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
Als Nächstes müssen Sie in der Zeile mit dem Namen ExecStart eine der folgenden Anforderungen erfüllen: Schreiben Sie den Pfad zu dem auszuführenden Skript oder Befehl. Danach wird das Skript dem Autoloader hinzugefügt:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
Das Programm wird nach der Systeminitialisierung gestartet. Zu diesem Zweck können Sie die "alte" Methode verwenden: Sie können rc.local
verwenden, um die Datei /etc/rc.local
zu erstellen, und den Pfad dazu in die ExecStart-Zeile der Servicedatei schreiben.