Führen Sie beim Start "sudo vulkaninfo" aus, alle Benutzer

Führen Sie beim Start "sudo vulkaninfo" aus, alle Benutzer

Ich muss den Befehl sudo vulkaninfobei jedem Systemstart ausführen (ich weiß, wie das geht, wenn das System aus dem Ruhezustand erwacht, also in /usr/lib/pm-utils/sleep.d/somescript). Dieser Befehl sollte global sein, damit alle Benutzer ihn beim Start ausführen. Ich habe versucht, ein Skript zu profile.d unter /etc/profile.d hinzuzufügen, aber das führte dazu, dass ich mich nicht anmelden konnte. rc.local ist nur lokal, also wird das nicht funktionieren. Welche Optionen habe ich?

Bearbeiten: Ich muss dies von einem Terminal aus tun können, da ich ein Skript erstelle, das die Einrichtung meines Systems automatisiert, sodass Programme nicht funktionieren. Ich brauche beispielsweise einen Befehl, der die Datei erstellen, den Befehl anhängen und die Datei dorthin verschieben kann, wo sich die Systemstartdateien befinden.

Antwort1

Ich würde dafür die Crontab von Root verwenden @reboot, sie kann leicht von einem Root-Skript aus bearbeitet werden:

(crontab -l 2>/dev/null; echo "@reboot vulkaninfo") | crontab -

Dadurch wird die Zeile @reboot vulkaninfozur Crontab von Root hinzugefügt, die vulkaninfobei jedem Booten mit Root-Berechtigungen ausgeführt wird.

Beachten Sie, dass cron eine minimale Umgebung hat. Wenn Ihr Befehl Umgebungsvariablen erfordert, legen Sie diese entweder manuell fest oder verwenden Sie eine Datei, die sie festlegt, z. B. $HOME/.profile. Der Befehl wird möglicherweise auch zu früh im Startvorgang ausgeführt. sleepDies lässt sich mit einem einfachen Befehl oder einer Testschleife umgehen.

Weiterführende Literatur:

verwandte Informationen