Hi, ich habe ein Linuxboard mit einem Debian drauf. (Beagleboard bzw. Raspberry) Hierfür habe ich ein Programm geschrieben. Soweit so gut. Ich brauche jedoch weder Bildschirm noch Eingabeelemente wie Maus und Tastertur, aus diesem Grud würde ich gerne mein Programm sofort nach dem Booten starten. Leider muss man sich aber immer erst anmelden.+ Habt ihr eine Idee, wie man das umgehen kann? Gruß
let me google that for you "init.d beaglebone"
Erster Suchtreffer: http://www.linux-fuer-alle.de/doc_show.php?docid=128&catid=8 Du solltest Dich näher mit runlevel und Un*x beschäftigen ...
Danke für die Antwort, aber ich kann darin nicht die Antwort auf meine Frage finden. ich möchte das Anmelden eines Benutzers bei Linux (debian) umgehen und direkt nach dem Booten ein Programm (Kein Service oder Script o.Ä.) starten. Wie geht das?
Sonke A. schrieb: > ich möchte das Anmelden eines Benutzers bei Linux (debian) umgehen und > direkt nach dem Booten ein Programm (Kein Service oder Script o.Ä.) > starten. Wie geht das? Falls das in Frage stehende Programm sozusagen "nackt" auf dem Kernel laufen kann, einfach beim Booten "init=/pfad/zum/programm" als (letzten) Bootparameter mitgeben. Dann werden alle Linux-Dienste umgangen und sofort das Progamm ausgeführt. Achtung: Das bringt viele Nachteile mit sich, z.B. fehlt jede Benutzersteuerung, es werden keine Daemonen geladen, die Netzwerkverbindungen werden nicht initialisiert etc. Hilft das weiter? pv
# Autologin: root oder user # als root im single-user mode (Kernelparameter s), Eintrag in /etc/inittab: ~~:S:once:/bin/login -f root # als user, Eintrag in /etc/inittab: 1:2345:respawn:/bin/login -f username tty1 </dev/tty1 >/dev/tty1 2>&1
Peter.N schrieb: > # Autologin: root oder user > # als root im single-user mode (Kernelparameter s), Eintrag in > /etc/inittab: > ~~:S:once:/bin/login -f root > # als user, Eintrag in /etc/inittab: > 1:2345:respawn:/bin/login -f username tty1 </dev/tty1 >/dev/tty1 2>&1 Danke sowas hab ich gesucht. Leider gibt es auf meinem System keine inittab. kann die beu Ubunttu / debian anders heißen?
Was spricht gegen die /etc/rc.local? Wenn es als ein bestimmter User gestartet werden soll, sudo oder su mit entsprechenden Parametern davor...
Sonke A. schrieb: > Danke sowas hab ich gesucht. Leider gibt es auf meinem System keine > inittab. kann die beu Ubunttu / debian anders heißen? Das halte ich für ein Gerücht: http://www.debiananwenderhandbuch.de/startstop.html http://manpages.ubuntu.com/manpages/precise/de/man5/inittab.5.html Tue Dir den gefallen und lerne erstmal Grundlagen zu Un*x, jetzt hast Du zwei links die Du durcharbeiten kannst.
CC schrieb: > Was spricht gegen die /etc/rc.local? > Wenn es als ein bestimmter User gestartet werden soll, sudo oder su mit > entsprechenden Parametern davor... in der datei stehen nur Kommentare und ein exit 0 wie starte ich hier ein Programm? mit sudo /pfad/zumProg/Programm wird er nach dem SUDO Passwort fragen oder? das Programm muss jedoch nicht zwangsläufig als superuser laufen. Nackt auf dem kernel halte ich aber auch für zu eingeschränkt, da es auf eine SD Karte zugreift und die ist dann ggf. noch nicht gemountet. Gleiches mit den seriellen Schnittstellen und den USB Devices.
Dann starte es doch als Service.. Geht mit debian und make-style init gut.
Sonke A. schrieb: > wie starte ich hier ein Programm? > > mit sudo /pfad/zumProg/Programm wird er nach dem SUDO Passwort fragen > oder? Die init.d Skripte werden als root ausgeführt, wenn root sudo macht fragt da keiner nach einem Passwort. Aber su ist da eh praktischer, der befehl würde dann lauten: su -l -c /pfad/zumProg/Programm username
Wenn das Programm dann die Kontrolle an init zurückgeben soll, kannst du dein programmm auch mit 'programmname &' dämonisieren, das heisst, es läuft im Hintergrund weiter und init läuft weiter bis zum login prompt. Empfehlenwert ist es dann natürlich, etwaige Konsolenausgaben deines programms nicht einfach auf die erste beste Konsole auszugeben, sondern z.B. auf >/dev/tty2 oder so. Also z.B. 'programmname & >/dev/tty3'
Sonke A. schrieb: > > Danke sowas hab ich gesucht. Leider gibt es auf meinem System keine > inittab. kann die beu Ubunttu / debian anders heißen? Mmm ... kann es sein, das du schon ein "neues" System am laufen hast. Die neueren Linuxe benuzen systemd Schau mal ob auf dem System "systemctl" und "journalctl" vorhanden ist.
1 | which systemctl |
2 | which journalctl |
sollten jeweils eine Ausgabe liefern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.