Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Autostart

Sun Nov 18, 2012 11:01 am

Hallo,
ich habe diese Frage auch schon im "Gaming"-Forum gestellt, aber bis jetzt keine (brauchbare) Antwort erhalten:
Wie starte ich "advmenu" (frontend für mame) automatisch beim booten. Ich habe es hinbekommen, dass am Ende des Bootvorganges der user "pi" schon eingeloggt ist, aber wenn ich in dann noch "su pi -c advmenu" zu "rc.local" (direkt vor "exit 0") hinzufüge, bricht "advmenu" mit der Fehlermeldung "Error enabling the raw keyboard driver. Function open (/dev/tty) failed" ab!?

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 12:48 pm

Hallo,

laut http://wiki.ubuntuusers.de/rc.local ist das "su" in rc.local überflüssig und
man sollte sein Skript wegen der Asynchronität von Upstart mit sleep verzögern.

Gruß Yggdrasil

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 2:49 pm

...mit "su pi -c ..." möchte ich erreichen, dass "advmenu" unter dem user "pi" ausgeführt wird!
Ich habe die Abarbeitung des skripts jetzt einmal mit sleep verzögert, aber dasselbe Resultat (unter verwendung von "su pi ..."). Wenn ich das "su pi.." weglasse und "advmenu" als root mittels "/usr/local/bin/advmenu" (in "rc.local") starte bricht "advmenu" mit der Fehlermeldung "No emulator found. Add an emulator option in your configuration file ..." ab!?

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 3:05 pm

Auf der oben verlinkten Seite steht ja auch, dass rc.local nicht für Programme mit graphischer Oberfläche verwendet werden kann. Da ich advmenu nicht kenne, kann ich dir aber nicht sagen, ob es einen X-Server braucht.

Da ich zufälligerweise heute eine Anleitung für den Autostart eines Programmes geschrieben habe, könntest du es auch hiermit (Nur Schritt 4+5) probieren:
https://github.com/YggdrasiI/TinyPrint/ ... al-console
mingetty besitzt auch noch die Option mit --loginprog das Startprogramm direkt anzugeben.
Das ist aber nur für Programme geeignet, die keinen X-Server brauchen.

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 3:41 pm

..."advmenu" ist ein frontend für "mame" und hat eine grafische Oberfläche, kann aber direkt von der Konsole gestartet werden (braucht also keinen x-server).
Ich (Linux Newbie) habe leider nicht verstanden wie ich Deine Anleitung zum Start von "tinyprint" in "advmenu" ummünzen kann!
ich habe den Eindruck, dass mein Problem irgendwie mit den "tty1" (oder 2, oder ...) zu tun hat.
Wenn mir jemand erklären könnte was es damit auf sich hat, könnte ich mein Autostart-Problem vielleicht lösen.

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 4:26 pm

Joegi wrote: ich habe den Eindruck, dass mein Problem irgendwie mit den "tty1" (oder 2, oder ...) zu tun hat.
Wenn mir jemand erklären könnte was es damit auf sich hat, könnte ich mein Autostart-Problem vielleicht lösen.
tty1, tty2, sind die virtuellen Konsolen, die man über (Strg+)Alt+F1,… erreichen kann.
In der Standardkonfiguration wird auf allen ein Loginscreen angezeigt. Warum bei deiner Fehlermeldung keine Nummer enthalten ist und ob
das genau der Fehler ist, weiß ich leider nicht.

Joegi wrote:..."advmenu" ist ein frontend für "mame" und hat eine grafische Oberfläche, kann aber direkt von der Konsole gestartet werden (braucht also keinen x-server).
Ich (Linux Newbie) habe leider nicht verstanden wie ich Deine Anleitung zum Start von "tinyprint" in "advmenu" ummünzen kann!
So sollte es für advmenu ablaufen:

0. Mit User 'pi' einloggen und
in die Datei .bash_profile die Zeile 'sudo advmenu' einfügen.
Alle Befehle in .bash_profile werden bei jedem Login von pi ausgeführt.
Falls alles läuft, solltest du am Ende alles in einen anderen Useraccount auslagern.
(Oder .bash_profile so ändern, dass adv nur dann gestartet wird, wenn man es auf tty2 startet. Da weiß ich aber selber nicht, wie das geht.)

1. sudo apt-get install mingetty
2. Mit Rootrechten /etc/inittab öffen.
Da du schriebest, dass du Linuxneuling bist: Das ginge in der Konsole
beispielsweise mit 'sudo nano /etc/inittab' oder 'sudo vi /etc/inittab', wobei nano der anfängerfreundlichere
Texteditor ist.

In der Datei dann die Zeile für tty2 austauschen. Natürlich kannst du auch die von tty1 nehmen:
2:2345:respawn:/sbin/mingetty --autologin pi tty2

Wenn du das System neu startest, sollte auf der zweiten Konsole (Alt+F2) 'pi' eingeloggt werden und dein Programm starten. Im Prinzip ist es fast das gleiche wie bei dir: Nur bei dir wurde auf tty1 'root' statt 'pi' eingeloggt.
Habe ich alles ausführlich genug beschrieben?

Gruß
Yggdrasil

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 5:06 pm

...ich habe alles so gemacht wie Du beschrieben hast, aber der RPi bootet bis zum login ("raspberrypi login:") ohne irgendwo "advmenu" zu erwähnen! Es scheint, als ob ".bash_profile" gar nicht ausgeführt wird. Ich habe ".bash_profile" in "home" angelegt (existierte vorher nicht)!
Vielleicht noch ein Hinweis zu meiner RPi Konstellation:
Der RPI hängt hinter einem Monitor, der direkt in der Küche an der Wand hängt.
An den Rpi ist ein Wlan-Stick und ein Gamepad (zur Steuerung von "mame") angeschlossen.
Ich greife mittels "Putty" über Wlan auf den Rpi zu.
Danke für Deine Bemühungen!

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 5:13 pm

...bedeutet "sollte auf der zweiten Konsole (Alt+F2) 'pi' eingeloggt werden und dein Programm starten", dass ich am Ende des Bootvorganges mit "Alt+F2" auf die zweite Konsole umschalten muss, um das Programm zu sehen?

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 5:16 pm

Kannst du zum Testen eine USB-Tastatur an Pi anschließen?
Könnte es sein, dass mame ein angeschlossene Tastatur voraussetzt?

"dass ich am Ende des Bootvorganges mit "Alt+F2" auf die zweite Konsole umschalten muss, um das Programm zu sehen?"

Ja! Wenn du tty1 nimmst, wäre das nicht der Fall.
Bisher wusste ich ja nicht, dass du keine Tastatur dran hast ;-)

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 5:35 pm

...leider immer noch kein Erfolg! Habe es sowohl mit "1:2345...tty1", als auch "2:2345...tty1" probiert, aber der RPi bootet, loggt sich unter dem user "pi" ein, und das wars - kein Hinweis auf "advmenu" . Sieht irgendwie so aus, als ob ".bash_profile" nicht ausgeführt wird!?

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 5:36 pm

...werde mal jemanden von den Jungs fragen, die sich mit dem Rpi und mame eine Spielekonsole gebastelt haben, die werden advmame/advmenu ja auch automatisch starten!

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 5:44 pm

Es könnte sein, dass du als erste Zeile in .bash_profile noch #!bin/bash einfügen musst!
Probiere das mal als erstes aus :-)
Was passiert, wenn du 'source .bash_profile' eingibst? (Nicht über putty/ssh, sondern über eine Usb-Tastatur auf tty1)

Benutzt du Rasbian?
Kannst du mal die Ausgabe von 'cd /home/pi; ls -a' posten? Mich würde interessieren, welche Dateien vorhanden sind.

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 5:56 pm

...das mit dem "#!bin/bash" hat auch nicht funktioniert (habe wieder alles mögliche durchkombiniert) - kein Hinweis während des Bootvorganges auf "advmenu"!
Wenn ich "source .bash_profile" eingebe startet "advmenu", bricht aber mit der Fehlermeldung "Error opening the "advmame" configuration file /root/.advance/advmame.rc. It doesn't exist" ab!
"ls -a" :=
"
. .config .fontconfig .pulse-cookie .thumbnails
.. .dbus .gstreamer-0.10 python_games .vnc
.advance Desktop .gvfs .scratch vnc.sh
.bash_history .dillo .local Scratch vnc.sh.save
.bash_logout .dmrc .netsurf squeak .Xauthority
.bashrc Documents .profile .squeak .xsession-errors
.cache .fltk .pulse .ssh .xsession-errors.old
"

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 6:08 pm

...ich habe aber "source .bash_profile" über "putty" eingegeben! Auf jeden Fall scheint "advmenu" dann zu starten!

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 6:19 pm

Ich würde empfehlen, sich als erstes darum zu kümmern, dass das Programm überhaupt startet. Bin mir relativ sicher, dass .bash_profile schon ausgeführt wird, aber eben advmenu überhaupt nicht läuft…

Die Fehlermeldung beim Start behebst du beispielsweise, indem du einen symbolischen Link auf die Konfigurationsdatei /home/pi/.advance/advmame.rc erstellst:
sudo ln -s /home/pi/.advance /root/.advance

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 18, 2012 6:46 pm

"advmenu" läuft, habe gerade nocheinmal das gamepad gegen das keyboard getauscht und advmenu gestartet - läuft problemlos! Wenn ich mit angeschlossenem keyboard aber versuche "advmenu" per autostart zu starten erscheint aber wieder eine bekannte Fehlermeldung!

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Sun Nov 18, 2012 6:57 pm

D.h. .bash_profile wird beim Login von 'pi' eingelesen?
Falls du dir immer noch nicht sicher bist kannst du ja mal 'ls' in die .bash_profile eintragen
und mit dem Account einloggen. Es sollte der Inhalt von /home/pi aufgelistet werden.
Joegi wrote:...das mit dem "#!bin/bash" hat auch nicht funktioniert "
Huch, hier ist mir ein dummer Fehler unterlaufen. Da fehlt ein / vor bin: #!/bin/bash
Nur der Vollständingkeit halber. Es Wird aber wahrscheinlich nichts ändern :-(

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Thu Nov 22, 2012 8:47 pm

...habe den Fehler gefunden: ".bash_profile" muss in "/home/pi" und nicht "/home" angelegt werden!
Jetzt funktionierts!
Das kleine Manko, dass jetzt noch existiert ist, dass auch wenn ich mich als user "pi" mittels ssh einlogge "advmenu" gestartet wird (dann aber abbricht, da es auf einer ssh konsole nicht läuft)!

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Thu Nov 22, 2012 11:11 pm

Die SSH-Verbindungen könntest du ausfiltern, indem du so kapselst:

Code: Select all

if [  "$SSH_CONECTION" = "" ]; then
#hier advmenu aufrufen
fi
Achtung, bitte alle Leerzeichen übernehmen ;)

Gruß Yggdrasil

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Fri Nov 23, 2012 11:06 am

...DANKE!

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Fri Nov 23, 2012 7:34 pm

Yggdrasil wrote:Die SSH-Verbindungen könntest du ausfiltern, indem du so kapselst:

Code: Select all

if [  "$SSH_CONECTION" = "" ]; then
#hier advmenu aufrufen
fi
Achtung, bitte alle Leerzeichen übernehmen ;)
...funktioniert leider nicht, "advmenu" wird weiterhin auch beim login auf einer ssh Konsole augeführt!

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Fri Nov 23, 2012 7:52 pm

...stupid me, it was only one "n" missing in "ssh_connection" - now it works!

Yggdrasil
Posts: 138
Joined: Sun Aug 26, 2012 8:45 pm

Re: Autostart

Fri Nov 23, 2012 10:41 pm

Ups, das war wohl etwas spät, als ich geantwortet hatte. Aber du hast es ja jetzt korrigiert :)
Leider kann ich dein Beitrag nicht mehr editieren.

Joegi
Posts: 46
Joined: Sat Nov 17, 2012 7:10 pm
Location: Cologne, germany

Re: Autostart

Sun Nov 25, 2012 11:01 pm

...an der Uhrzeit kann es bei mir nicht gelegen haben, dass ich auf Englisch geantwortet habe!

Return to “Deutsch”