[Ubuntu/Jaunty] Music während des Bootvorgangs

mc_gulasch

Erfahrenes Mitglied
Hi zusammen,

ich habe mir ein kleines Script geschrieben, dass den mplayer mit einem Tophit meiner Wahl startet. Dieses hab ich mittels symbolischen Links in /etc/rc2..5 gepackt und beim reboot fängt ungefähr bei der Mitte des Ubuntu-Ladebalken auch der fabelhafte Tophit an zu spielen.

Leider ist die Freude nur sehr kurz, denn sobald der Ladebalken durch ist ists auch vorbei mit dem Klangerlebnis und die GUI von Ubuntu startet musiklos. Wie schaff ich es denn dass der mplayer einfach weiterspielt und warum hört der plötzlich auf. Ich habe keine K-Skripte in irgendwelche rc-Ordner gelegt und auch das hinzufügen des Skripts in /etc/rc.local hat nicht den gewünschten Erfolg gebracht.

Nebenbei wärs auch noch genial falls wer wüsste wo ich denn eingreifen muss, damit der mplayer etwas früher startet - aber das wäre in dem Fall lediglich die Kür.

Ich hab mich auch schon etwas über Upstart schlau gemacht, aber irgendwie blick da noch nicht so wirklich durch und ich weiß auch nicht, ob das mein Problem lösen würde.
 
Ich weiß nicht genau wiedas ganze bie Ubuntu ausschaut, da wird glaub ich ja pulseaudio genutzt oder so, aber ich nutze den Music Player Daemon aka mpd. Der benötigt nämlich keine GUI und als daemon startet er auch lange vor X beim Systemstart und spielt normalerweise auch 1a weiter ;)
 
Ich hab jetzt auch den mplayer-nogui verwendet, was aber keinen Unterschied macht. Leider bricht er trotzdem ab. Meine Vermutung ist jetzt, dass der mplayer ja beim booten als root gestartet wird, aber dann, beim Start von Gnome oder XSession der Benutzer geladen wird...naja und das haut nicht so ganz hin. Wenn ich das Skript ändere und
Code:
su benutzername mlayer ... /song.mp3&
starte, wird gar keine Musik gespielt. Man müsste halt diesen Prozess "übergeben"...aber ich weiß nicht wie und bin für jede Idee dankbar!

Edit:
Man sollte vielleicht noch erwähnen, dass der Prozess nach wie vor läuft (ps -ax bzw. pgrep mplayer liefert eine Prozess-ID), aber nur nicht zu hören ist. Ausserdem ist standardgemäß ALSA als Audio-Treiber geladen und pulse vollständig entfernt...

Lösung:
Des Rätsels Lösung und fast schon beschämend das nicht schon früher gemacht zu haben: Wenn man von der XSession mal eben mit Strg+Alt+F8 auf Konsole wechselt erhält man die frohe Botschaft

Code:
Mplayer interruptet by signal 1 in module: play_audio
- Mplayer crashed. This shouldn't happen. 
 It can be a but in the MPlayer code _or_ in your drivers _or_ in your 
 gcc version. If you think it's MPlayer's fault, please read 
 DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and 
  won't help unless you provide this information when reporting a possible bug.

Ich hab die Sache dann mal auf meinem Arbeitslaptop mit Intrepid ausprobiert und es klappt wunderbar. Also für alle, die etwas ähnliches vorhaben:

1. Fifo erstellen:

Code:
mkfifo ~/.mplayer/playMusicOnBoot

2. Befehl zum Starten vom MPlayer in Skript /etc/init.d/playMusicOnBoot.sh packen:

Code:
#!/bin/sh
su benutzer -c "mplayer -input file=~/.mplayer/playMusicOnBoot /pfad/zur/musik/*.mp3 &"

3. Ausführbar machen

Code:
sudo chmod +x /etc/init.d/playMusicOnBoot.sh

4. Verlinken als Bootskript

Code:
sudo ln -sf /etc/init.d/playMusicOnBoot.sh /etc/rc2.d/S02playMusicOnBoot.sh
...
sudo ln -sf /etc/init.d/playMusicOnBoot.sh /etc/rc5.d/S02playMusicOnBoot.sh

5. Der Zugriff auf den MPlayer ist jetzt nicht mehr so ganz einfach...über Konsole klappt das mit

Code:
echo Befehl >  ~/.mplayer/playMusicOnBoot

den man über die Pipe jagt auch ist es nicht so leicht die graph. Oberfläche jetzt auf den MPlayer aufzusetzen und ich hab mich damit auch nicht beschäftigt, aber falls jemanden dann das Gedudel stört, kann er mit nem kill-Befehl in /etc/rc.local das Ding ja abbrechen.

Für den Fall, dass sich jemand über das Ganze hier Gedanken gemacht hat, sag ich danke und ich hoffe es hilft weiteren Besuchern ;)

Grüße
Gulasch
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück