Seite 1 von 1

Programme mit Shellscripts starten

Verfasst: Do Nov 01, 2012 2:54 pm
von klaus111
Hallo,

der Beitrag von karsten66 hat mich auf die Idee gebracht, die Programme qjackctl, qsynth und rosegarden nacheinander mit einem Script aufzurufen statt von Hand.

Habe also erstmals ein Script erstellt, ausführbar gemacht, doch es funktioniert nicht wie gewünscht:

Code: Alles auswählen

#!/bin/bash
#folgende Programme sollen nacheinander starten:
qjackctl
qsynth
rosegarden
Qjackctl startet und erst wenn es beendet wird startet Qsynth. Analog startet Rosegarden erst, wenn Qsynth beendet wurde.
Fügt man nach qjackctl und qsynth ein "&" ein, so werden sie gleichzeitig gestartet, leider nicht nacheinander.

Ich möchte natürlich, daß alle drei Programme nacheinander starten, jedoch nicht beendet werden. Wie geht das?

Viele Grüße
Klaus

Re: Programme mit Shellscripts starten

Verfasst: Do Nov 01, 2012 11:39 pm
von Mitsch
Füge ein "sleep [Zeit in Sekunden]" dazwischen ein.
Wenn Du sagst, sie sollen nacheinander und nicht gleichzeitig gestartet werden, weißt Du wahrscheinlich am besten, in welchen Zeiträumen sich das abspielen muss.
<pingelmode> Nacheinander werden sie eigentlich sowieso gestartet, ist ja alles digital. Man merkts halt nich...</pingelmode>

Grüße!

Re: Programme mit Shellscripts starten

Verfasst: Fr Nov 02, 2012 9:52 am
von klaus111
Habe zwar auch an sleep gedacht, doch war ich der Annahme, daß man irgendwie erkennen kann, daß das jeweilige Programm geladen ist.

Jedenfalls war "sleep" die Lösung. Danke! :D

Code: Alles auswählen

#!/bin/bash
qjackctl &
sleep 3
qsynth &
sleep 3 
rosegarden
Vorteil außerdem: Nach Schließen von Rosegarden schließen auch Qsynth und Jack.

Viele Grüße
Klaus

P.S.: <pingelmode>Gleichzeitig gibt es gar nicht.</pingelmode>Ich dachte natürlich in den bescheidenen menschlich erfahrbaren Maßstäben. :mrgreen:

Re: Programme mit Shellscripts starten

Verfasst: Fr Nov 02, 2012 5:48 pm
von Mitsch
klaus111 hat geschrieben:Habe zwar auch an sleep gedacht, doch war ich der Annahme, daß man irgendwie erkennen kann, daß das jeweilige Programm geladen ist.
Das Problem hatte ich auch öfters. Der Weg über Prozess-ID brächte vermutlich keine Verbesserung, weil diese ja gleich nach dem Start vergeben wird. Bei jackd kann man - zumindest, wenn's mit dbus gestartet wurde - den Status über "jackctl status" abrufen. (So oder so ungefähr...) Über den Rückgabewert (jackd läuft=0, jackd läuft nicht=1 oder andersrum?) kann man dann dem Script sagen: "starte [dasunddas] erst, wenn jack läuft". Wenn Rosegarden unbedingt vor Qsynth gestartet werden soll, weiß ich auch nicht weiter... :) Vielleicht gäbe es 'ne Möglichkeit, mit irgendeinem Programm MIDI-Schnittstellen abzufragen - dann könnte man das auch mit Skripten herausfinden, ob Rosegarden einsatzbereit ist. Keine Ahnung.

Grüße!

Re: Programme mit Shellscripts starten

Verfasst: Di Nov 06, 2012 7:06 pm
von heinz
Hallo Zusammen,
Mitsch hat geschrieben:Vielleicht gäbe es 'ne Möglichkeit, mit irgendeinem Programm MIDI-Schnittstellen abzufragen - dann könnte man das auch mit Skripten herausfinden, ob Rosegarden einsatzbereit ist.
ich benutze für diesen Zweck:
aconnect
ALSA sequencer connection manager.

Gruß
heinz