PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Autostart von Programmen



Taban
02.05.10, 00:16
Hallo,

würde gerne Programme automatisch beim Systemstart starten lassen. Wie geht das? Wo findet man die Programme oder Scripte, die beim Systemstart gestartet werden? Ich hab Debian.

Vielen Dank

TomTobin
02.05.10, 08:20
Hallo Taban,

Willkommen im Forum :)

Wenn Du Gnome nutzt, kannst Du einfach im Verzeichnis .config/autostart Deine Skripte oder Starter reinwerfen.

Gruß

Tom

oziris
02.05.10, 10:40
würde gerne Programme automatisch beim Systemstart starten lassen. Wie geht das?Da muss man zwischen Hintergundprogrammen/Diensten und Programmen mit grafischer Oberfläche (GUI) unterscheiden.
Hintergundprogramme/Dienste werden von Init-Scripten gestartet.
GUI-Programme werden i.d.R. erst nach dem Login im X gestartet und das kann sehr unterschiedlich sein, je nachdem, welche Umgebung (Window-Manager, Display-Manager, xinit, usw.) man einsetzt.

Wo findet man die Programme oder Scripte, die beim Systemstart gestartet werden? Ich hab Debian.
Für Hintergrundprogramme und Dienste sind die Scripte in /etc/init.d/ aber da sollte man eigentl. nix dran ändern. Man könnte höchstens Scripte testen, hinzufügen und dann z.B. (Vorsicht! Änderungen werden sofort aktiv!) mit mit sysv-rc-conf aktivieren. Ansonsten gibt es noch /etc/rc.local , für Fälle, bei denen ein eigenes Init-Script zu viel wäre.

marce
02.05.10, 10:41
Alternativ - es gibt auch noch die (meist) sog. Daemons oder Dienste - da lohnt es sich einen Blick in die init-Scripte zu werfen.

Guter Ansatz hierfür ist die Doku, z.b. das Debiananwenderhandbuch

Taban
03.05.10, 03:15
Im Handbuch habe ich gelesen, zuerst wird init aufgerufen, init liest Konfigurationsanweisungen aus einer Textdatei /etc/inittab , worin festgelegt ist, dass das Script /etc/init.d/rc jeweils mit andern Parametern aufgerufen wird, wo wiederum ein Haufen Funktionen enthalten sind, deren Bedeutung das ach so tolle Handbuch auch nicht erklärt.
Ich benötige einen Ordner, in den ich Scripte packen kann, die ausgeführt werden sollen. Die Scripte sollen Hintergrundprozesse starten, die keine Konsole oder ähnliches benötigen. Sonst schreib ich alles in die /etc/init.d/rc

marce
03.05.10, 06:09
Das "ach so tolle Handbuch" erklärt alles, was _dort_ erklärt werden muss. Solltest Du mit dem "Haufen Funktionen" die in den rc-Scripten enthaltenen Befehle meinen - solltest Du z.B. in einem bash-Tutorial weiterlesen...

oziris
03.05.10, 21:02
Die Scripte sollen Hintergrundprozesse starten, die keine Konsole oder ähnliches benötigen.Kopiere Dir doch einfach ein Script in /etc/init.d/, das ähnliche Vorraussetzungen hat, wie das was Du brauchst und Ändere es, wie es für Deine Programme jeweils passt. Installiere dann, das Programm, das ich bereits erwähnte, sysv-rc-conf und aktiviere damit Dein Script in den benötigten Runleveln, es wird dann auch gleich gestartet, je nachdem, in welchem Runlevel das System sich derzeit befindet.
Sonst schreib ich alles in die /etc/init.d/rc /etc/rc.local ist OK, wenn sie beim Beenden einfach mit ein paar Signalen abgewürgt werden dürfen.

//edit
Es könnte sein, dass Du noch nohup (siehe "man nohup", wenn installiert) und/oder disown (siehe "man bash" bei SHELL BUILTIN COMMANDS) benötigst und am besten liest Du Dir noch den Abschnitt REDIRECTION in "man bash" an, besonders die Absätze über "Appending Redirected Output", "Redirecting Output" und "Redirecting Standard Output and Standard Error", dann kannst Du Output, den Du nicht brauchst nach /dev/null leiten und wichtigen Output in Dateien nach /var/log/ . Das ist wichtig, weil wenn Du den nicht umleitest, und das Script ist zuende, dann geht der Output evtl. weg und dann wird Dein Programm evtl. autom. beendet. nohup versucht das autom. zu lösen, aber dann tauchen an seltsamen stellen nohup.out-Text-Dateien auf, in denen sich Output sammelt... braucht kein Mensch... also einfach ordentlich umleiten und alles wird gut.