Ubuntu - Wie führe ich beim Booten einen Terminalbefehl aus?

12

Ich möchte einen Befehl ausführen, wenn Ubuntu startet. Die Befehle sind insbesondere:

sudo shutdown +m
sudo shutdown +1

Ich möchte, dass der Computer heruntergefahren wird, sobald er zu Testzwecken gestartet wird. Ich habe vor, den Computer mit ein paar Schaltkreisen, die ich teste, wieder einzuschalten.

Wie kann ich diesen Befehl beim Systemstart automatisch ausführen?

Twigg
quelle
9
"Auto Shutdown beim Booten" klingt böse. :)
Ankit

Antworten:

15

Legen Sie es in /etc/rc.local. (Es wird als root ausgeführt und sudowird dort nicht benötigt.)

Möglicherweise möchten Sie auch zusätzliche Informationen zu Runlevels lesen: http://en.wikipedia.org/wiki/Runlevel

Eugene Demidov
quelle
Sie können auch zu System / Einstellungen / Startanwendungen gehen und dort das Skript hinzufügen.
SaintWacko
Funktioniert nicht für mich unter Ubuntu Server 18.04 - Ich möchte alssudo swapon /swapfile
Nam G VU
Verwenden Sie crontab mit der @ reboot-Syntax, die für mich funktioniert. superuser.com/a/586078/34893
Nam G VU
6

Es gibt verschiedene Möglichkeiten, Befehle automatisch auszuführen:

  1. Das Upstart- System führt alle Skripts aus, für die es eine Konfiguration im Verzeichnis findet /etc/init. Diese Skripte werden während des Systemstarts (oder als Reaktion auf bestimmte Ereignisse, z. B. eine Anforderung zum Herunterfahren) ausgeführt und sind daher der Ort, an dem Befehle ausgeführt werden können, die nicht mit dem Benutzer interagieren. Alle Server werden mit diesem Mechanismus gestartet. : Sie können eine lesbare Einführung in bei finden http://upstart.ubuntu.com/getting-started.html die man - Seiten man 5 initund man 8 initgeben Sie den vollständigen Details.

  2. .gnomercJedes Mal, wenn Sie sich bei einer GNOME-Sitzung anmelden, wird automatisch ein in Ihrem Home-Verzeichnis benanntes Shell-Skript bezogen. Sie können dort beliebige Befehle eingeben. Umgebungsvariablen, die Sie in diesem Skript festlegen, werden von jedem Programm angezeigt, das Sie in Ihrer Sitzung ausführen. Beachten Sie, dass die Sitzung erst gestartet wird, wenn das .gnomercSkript beendet ist. Wenn Sie ein Programm mit langer Laufzeit automatisch starten möchten, müssen Sie es &an den Programmaufruf anhängen , um es von der laufenden Shell zu trennen.

  3. Mit der Menüoption System -> Einstellungen -> Startanwendungen können Sie festlegen, welche Anwendungen zu Beginn Ihrer grafischen Sitzung gestartet werden sollen (Ubuntu definiert einige vordefiniert) und diese nach Ihrem Geschmack hinzufügen oder entfernen. Dies hat fast den gleichen Zweck und Umfang wie das .gnomercSkript, außer dass Sie die shSyntax nicht kennen müssen (aber Sie können auch kein shProgrammierkonstrukt verwenden).

Ankit
quelle
1

Für einfache Dinge können Sie unter System-> Einstellungen-> Sitzungen einen Befehl hinzufügen , der auf den Speicherort Ihres Skripts verweist.

Alternativ können Sie es hinzufügen /etc/init.d/rc.localoder einen Startjob ausführen, wenn es sich um ein niedrigeres Level handelt .

Weitere Informationen finden Sie unter https://help.ubuntu.com/community/UbuntuBootupHowto

Ankit
quelle