Liste der Skripte (Standorte), die automatisch ausgeführt werden, und wann?

Liste der Skripte (Standorte), die automatisch ausgeführt werden, und wann?

Weiß jemand (aus einer Ressourcenliste), welche Skripte automatisch ausgeführt werden und wann, vom Moment des Hochfahrens des Computers bis zu seinem erneuten Herunterfahren?

Ich kenne mehrere Stellen, an denen ich Skripte zur automatischen Ausführung hinzufügen kann, habe es jedoch nie geschafft, eine mehr oder weniger vollständige Liste zusammenzustellen.

Ich kenne zum Beispiel diese:

  • ~/.profilewird beim Login ausgeführt
  • Ich kann crontab -eSkripte hinzufügen, die zu bestimmten Zeiten und/oder an bestimmten Tagen ausgelöst werden.

Aber ich kann nicht herausfinden, wo ich Skripte ablegen soll, damit sie ausgeführt werden

  • nach dem Booten, bevor X initialisiert wird
  • nachdem X (oder eine andere grafische Shell) initialisiert wurde, aber bevor sich jemand anmeldet
  • nach der Anmeldung bei einer X-Sitzung
  • vor/nach schneller Benutzerumschaltung
  • vor dem Abmelden aus einer X-Sitzung
  • vor dem Herunterfahren auf der X-Shell
  • nach dem Herunterfahren von X, vor dem Systemstopp
  • nach dem Login/vor dem Logout über tty-1..6
  • nach dem Login/vor dem Logout über SSH

Gibt es eine solche Liste? Wenn nicht, können wir hier eine zusammenstellen?

Antwort1

Für Ubuntu Linux haben wir folgende Lösung:

  1. Für nach dem Booten, bevor X initialisiert wird:Ubuntu startet X-Windows von GDM (die den Ubuntu-Desktop verwenden) oder von KDM (die den Kubuntu-Desktop verwenden).

    Um ein Skript vor GDM/KDM auszuführen, müssen Sie Ihr eigenes Upstart-Skript schreiben. Lesen Sie dazuUpstart-Kochbuch.

  2. Nach dem Benutzerwechsel:Sie müssen das Skript in die ~/.bashrcDatei einfügen.

  3. Nach der Anmeldung über TTY:Sie müssen das Skript in die ~/.bash_profileDatei einfügen.

  4. Nach der Anmeldung mit SSH, aber nicht während der lokalen Anmeldung mit TTY:Auch in diesem Fall müssen Sie das Skript in derselben ~/.bash_profileDatei hinzufügen. Testen Sie in diesem Fall jedoch, ob die SSH_CONNECTIONUmgebungsvariable vorhanden ist, und führen Sie die Befehle nur aus, wenn Sie feststellen, dass sie vorhanden ist.

  5. Vor dem Abmelden über TTY:Sie müssen das Skript in die ~/.bash_logoutDatei einfügen.

  6. Vor dem Abmelden über SSH:Sie müssen das Skript in die ~/.bash_logoutDatei einfügen, aber in diesem Fall auch das Vorhandensein der SSH_CONNECTIONUmgebungsvariable prüfen und die Befehle nur ausführen, wenn Sie feststellen, dass sie vorhanden ist. In der Datei müssen Sie die Zeile hinzufügen

    if [[ -n $SSH_CONNECTION ]]

Antwort2

Wenn Sie an in Linux integrierten Aufgaben interessiert sind, können Sie sich auch auf die Linux-Runlevels beziehen. Dabei handelt es sich um einen Betriebsmodus, der eine Initialisierung im V-Stil des Unix-Systems implementiert.

  • 0 Halt: Fährt das System herunter.
  • 1 Einzelbenutzermodus für Verwaltungsaufgaben.
  • 2 Mehrbenutzermodus: Konfiguriert keine Netzwerkschnittstellen und exportiert keine Netzwerkdienste.
  • 3 Mehrbenutzermodus mit Netzwerkbetrieb Startet das System normal.
  • 4 Nicht verwendet/Benutzerdefinierbar Für besondere Zwecke.
  • 5 Starten Sie das System normal mit dem entsprechenden Displaymanager. (mit GUI) Als Runlevel 3 + Displaymanager.
  • 6 Neustart: Startet das System neu.

Unten sehen Sie beispielsweise eine unvollständige Liste von Linux-Prozessen und ihren Runlevel-Einstellungen:

chkconfig --list
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:off   4:off   5:off   6:off
auditd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
autofs          0:off   1:off   2:on    3:on    4:on    5:on    6:off
avahi-daemon    0:off   1:off   2:off   3:off   4:off   5:off   6:off
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off
.
.
.

verwandte Informationen