Forum: Mikrocontroller und Digitale Elektronik Linux keine Anmeldung und Programm sofort starten


von Sonke A. (soeni)


Lesenswert?

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ß

von init (Gast)


Lesenswert?

let me google that for you "init.d beaglebone"

von cppler (Gast)


Lesenswert?

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 ...

von Sonke A. (soeni)


Lesenswert?

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?

von init (Gast)


Lesenswert?


von PV (Gast)


Lesenswert?

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

von Peter.N (Gast)


Lesenswert?

# 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

von Sonke A. (soeni)


Lesenswert?

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?

von CC (Gast)


Lesenswert?

Was spricht gegen die /etc/rc.local?
Wenn es als ein bestimmter User gestartet werden soll, sudo oder su mit 
entsprechenden Parametern davor...

von cppler (Gast)


Lesenswert?

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.

von Sonke A. (soeni)


Lesenswert?

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.

von Martin B. (martin_b35)


Lesenswert?

Dann starte es doch als Service..
Geht mit debian und make-style init gut.

von Ich (Gast)


Lesenswert?

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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'

von Hans Ulli K. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.