So führen Sie Linux -Befehle und -Skripts automatisch auf einem System -Neustart aus

So führen Sie Linux -Befehle und -Skripts automatisch auf einem System -Neustart aus
Das automatische Ausführen von Apps und Skripten beim Start kann nützlich sein, um gemeinsame Startaufgaben und Ereignisse zu automatisieren. In diesem Artikel werden einige Methoden erläutert, die zum Starten von Apps und Skripten mit einem neuen Neustart oder einem neuen Login verwendet werden können.

Startanwendungen

Ubuntu und andere GNOME -basierte Verteilungen werden mit einer Anwendung geliefert, die einfach als "Start -up -Anwendungen" bezeichnet wird. Es kann zum Verwalten von Apps und Skripten verwendet werden, die auf einem neuen System neu starten oder anmelden.

Starten Sie die App „Startup -Anwendungen“ über den Anwendungsstarcher und klicken Sie auf die Schaltfläche „Hinzufügen“, um einen neuen Eintrag hinzuzufügen.

Füllen Sie die Felder "Name" und "Befehl" gemäß Ihren Anforderungen aus und klicken Sie dann auf die Schaltfläche "Hinzufügen", um das Erstellen eines neuen Eintrags zu beenden. Der im folgende Screenshot erstellte Eintrag sendet eine Erinnerung „Backup“ als Systembenachrichtigung bei jedem Neustart / Anmeldung. Sie können es durch Ihren eigenen Befehl oder durch den vollständigen Pfad Ihres Bash -Skripts ersetzen. Sie können auch alle vorhandenen Systembefehls oder ausführbaren Ausführungsfähigkeiten verwenden.

Wie oben erwähnt, wird bei jedem Neustart eine Backup -Erinnerung angezeigt.

Systemd

Systemd ist ein Daemon- und Service -Manager, der verschiedene Dienstprogramme zum Verwalten von Systemprozessen und Betriebssystemkomponenten enthält. In seiner simplen Form wird es normalerweise verwendet, um Dienste in einem frischen Bootzyklus zu starten und zu beenden.

SYSTEMD kann verwendet werden, um eine App automatisch zu starten oder ein Skript auf einem neuen Start auszuführen. Um dieselbe Backup -Reminder -Benachrichtigung zu erstellen, die oben erläutert wurde, müssen Sie zunächst die erforderlichen Ordner und Datei erstellen, indem Sie die folgenden Befehle ausführen:

$ mkdir -p ~/.config/systemd/user
$ nano ~/.config/systemd/user/backup_reminder.Service

Ersetzen Sie „Nano“ durch den Befehl Ihres bevorzugten Texteditors. Ersetzen Sie "backup_reminder" durch jeden anderen Namen, den Sie bevorzugen.

Fügen Sie den folgenden Code im Backup_Reminder ein.Dienstdatei erstellt mit dem obigen Befehl.

[Einheit]
Beschreibung = sendet eine Sicherungserinnerung bei jedem Neustart
Partof = grafische Sitzung.Ziel
[Service]
Execstart = bash -c 'schlaf 10; Benachrichtigen Sie "Make a Backup"
Typ = OneShot
[Installieren]
Shodenby = grafische Sitzung.Ziel

Der obige Code ist ziemlich einfach. Es sendet 10 Sekunden nach dem Laden der grafischen Sitzung eine Benachrichtigung mit „Backup“ (sobald jeder Neustart oder Anmeldung).

Führen Sie die folgenden Befehle aus, um den Dienst so zu aktivieren, dass er bei jedem Neustart automatisch ausgeführt werden kann.

$ chmod 644 ~/.config/systemd/user/backup_reminder.Service
$ systemCTL -Benutzer aktivieren Backup_Reminder.Service
$ systemCTL-Benutzerdämon-Reload
$ Neustart

Dies ist nur ein einfaches Beispiel für das Ausführen eines grundlegenden Befehls auf dem Boot mithilfe von SystemD. Sie können auch erweiterte Dienste mit mehreren Bedingungen und mehreren Befehlen erstellen. Weitere Informationen finden Sie auf der SystemD Man -Seite, indem Sie den folgenden Befehl ausführen:

$ MAN SYSTEMD

Beachten Sie, dass in diesem Beispiel das Erstellen eines neuen Dienstes erklärt wird. Wenn Sie Skripte automatisch starten möchten, die Root-Zugriff benötigen, müssen Sie einen neuen Systemd-Dienst im Verzeichnis „/etc/systemd/system“ anstelle von „~/.Konfigurations-/systemd/user-Ordner und Auslösen Sie den Switch "-User" in den oben genannten Befehlen.

Cron-Job

Cron ist ein Tool, das geplante Aufgaben regelmäßig gemäß den von einem Benutzer angegebenen Bedingungen ausführen kann. Diese geplanten Jobs werden in Crontab in einem vordefinierten Format erstellt. In einfachen Worten, Crontab sagt Cron, welche Jobs zu welchem ​​Zeitpunkt erledigen sollen.

Wie bei Systemd können Crontab -Jobs verwendet werden, um Apps zu starten und Skripte automatisch im Start auszuführen. Um einen neuen Cron -Job hinzuzufügen, führen Sie den folgenden Befehl aus:

$ crontab -e

Fügen Sie am Ende der Textdatei die folgenden Zeilen hinzu (startet automatisch GNOME -Terminal für jeden Neustart):

Shell =/bin/bash
@Reboot Sleep 30 && Display =: 0 Gnome-terminal

Sie können einen eigenen Befehl verwenden oder einem Shell -Skript den vollständigen Pfad angeben.

Beachten Sie, dass Cron im Gegensatz zu Systemd nicht erkennen kann, ob eine grafische Sitzung geladen wurde oder nicht. Sie müssen einen geschätzten Wartezeitraum angeben, bis der X -Server lädt und eine Anzeigekennung. Sie können Ihre Anzeige -ID kennen, indem Sie den folgenden Befehl ausführen:

$ echo $ display

Die Verzögerung vor der Ausführung des Befehls oder des Skripts hängt von Ihrer Systemkonfiguration und der Startzeit ab.

RC.lokal

Eine andere Methode, um Skripte und Befehle beim Start auszuführen, besteht darin, „RC) zu verwenden.Lokale Datei. Beachten Sie, dass ich bei meinen Tests erst in der grafischen Sitzung die Skriptausführung aufschieben konnte. Wenn Sie eine Schlafverzögerung hinzufügen, wird die Anzeige des Anmeldebildschirms selbst zu Verzögerungen führen. Aus diesem Grund hatte ich keinen Erfolg beim Ausführen grafischer Apps beim Start mit RC.Lokale Datei. Bearbeitung von RC.Lokal benötigt auch einen Root -Zugriff, im Gegensatz zu allen anderen oben erläuterten Beispielen.

Fügen Sie RC Befehle / Skripte hinzu.Lokale Datei, den Befehl unten ausführen (erstellt einen neuen RC.Lokale Datei, wenn sie nicht existiert):

$ sudo nano /etc /rc.lokal

Fügen Sie Ihre Befehle zwischen "# hinzu! /bin/bash ”und„ 0 “-Linien, wie unten gezeigt:

#! /Bin/Bash
Pfad/to/my_script.Sch
beenden 0

Rc machen.Lokale Datei ausführbar, indem der Befehl unten ausgeführt wird:

$ sudo chmod +x /etc /rc.lokal

Starten Sie einfach das Startskript neu, um wirksam zu werden.

Abschluss

Dies sind einige Methoden, mit denen automatisch Skripte und Apps beim Start ausgeführt werden können. Wenn Sie Skripte ausführen möchten, für die keinen Root -Zugriff erforderlich ist, empfehle ich die Verwendung der GUI -App „Start -up -Anwendungen“. Wenn Sie Apps und Skripte mit Root -Zugriff ausführen möchten, empfehle ich Ihnen, einen Systemstufer -System -Service zu erstellen.