Wie starte ich ein Programm beim Booten?

7

Ich habe also dieses Programm, das ich manuell als root ausführe:

sudo gammu-smsd -c /etc/gammu-smsdrc -d 

Dies führt dazu, dass das Gammu (Software zum Verwalten von GSM-Modems) ausgeführt und "daemonisiert" wird. Mein Problem ist, dass dieses Programm beim Booten automatisch ausgeführt werden soll.

Ist es in Ordnung, nur die Crontab von root zu bearbeiten und diesen Befehl dort zu speichern? Oder gibt es einen anderen Weg?

(Ich benutze Ubuntu 11.04.)

r2b2
quelle
1
Sie brauchen das sudo wahrscheinlich nicht, wenn Sie es in die Startdateien einfügen, da die meisten Dinge dort von root ausgeführt werden.
Johan
Sie könnten sich zuerst fragen, ob dies vor oder nach der
Anmeldung
1
Es lohnt sich vielleicht, init.d-Skripte für Ihren Daemon zu erstellen. Ihre Anforderungen liegen jedoch ganz bei Ihnen.
Whoami
Ich möchte ausführen, bevor sich ein Benutzer anmeldet. Ich möchte, dass mein Server meine Programme (nicht nur Gammu) ausführt, auch wenn ich während eines Stromausfalls, bei dem der Computer neu startet, nicht in der Nähe bin.
R2b2

Antworten:

7

Wie wäre es mit /etc/rc.local ?

Dies wird zuletzt in der Startsequenz ausgeführt.

Johan
quelle
sleep 1mvorher hinzufügen gammu-smsd -d. Ich weiß, dass dies nicht empfohlen wird, aber dies ist der einfache Weg, um es zum Laufen zu bringen. Möglicherweise müssen Sie auch nach dem Erstellen des init.d-Skripts suchen
GusDeCooL
2

Sie können hierfür crontab verwenden .
Verwenden Sie crontab -ediese Option, um die crontab des Benutzers zu bearbeiten (Eine Liste der Startskripte, die Benutzer hinzugefügt haben).
Fügen Sie am Ende die folgende Zeile hinzu:

@reboot <command>

Beispiele:

  • @reboot my_script.sh
  • @reboot python my_script.py arg1 arg2

Verwenden schließlich contab -lum sicherzustellen , dass Ihr Skript machen wurde in die Liste aufgenommen.

Jithin Pavithran
quelle
Command 'contab' not found.
Zwcloud
1
Verwenden Sieapt-get install cron
Jithin Pavithran
0

Hier erfahren Sie, wie Sie ein Startskript hinzufügen, das beim Booten ausgeführt werden soll. Weitere Informationen finden Sie hier .

Praveen Sripati
quelle
1
Der Link, den Sie gegeben haben, ist sehr veraltet. Soweit ich weiß, hat sich das Bootverfahren seitdem stark verändert.
Rozcietrzewiacz
0

Darf Ihnen das helfen?

http://www.howtogeek.com/howto/ubuntu/how-to-add-a-program-to-the-ubuntu-startup-list-after-login/


Oder fügen Sie es einfach in die /etc/profile

oder fügen Sie es auf die empfohlene Weise hinzu: http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

Entfernen Sie in der Tat den Sudo! (aber Sie benötigen es, um die Bearbeitung durchzuführen oder den Befehl hinzuzufügen, also ...)

Louis
quelle
1
es führt das Programm nach dem Login aus, ich hatte gehofft, dass etwas, das vorher ausgeführt wird, oder während das Login-Fenster angezeigt wird, oder ohne sich anmelden zu müssen
Siehe meine Bearbeitung: Fügen Sie es in die systemweite Startdatei ein
Louis: Muss ich entfernen, sudowenn ich dieser Anleitung folge?
R2b2