Programme mit Shellscripts starten

weil`s auch als musiker nicht ohne geht: entpacken/ mkdir/...
Antworten
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Programme mit Shellscripts starten

Beitrag 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
Zuletzt geändert von klaus111 am Fr Nov 02, 2012 9:43 am, insgesamt 1-mal geändert.
Benutzeravatar
Mitsch
Power User
Power User
Beiträge: 1226
Registriert: Mo Feb 20, 2006 11:17 am
Wohnort: Ludwigsburg
Kontaktdaten:

Re: Programme mit Shellscripts starten

Beitrag 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!
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Re: Programme mit Shellscripts starten

Beitrag 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:
Benutzeravatar
Mitsch
Power User
Power User
Beiträge: 1226
Registriert: Mo Feb 20, 2006 11:17 am
Wohnort: Ludwigsburg
Kontaktdaten:

Re: Programme mit Shellscripts starten

Beitrag 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!
Benutzeravatar
heinz
Sometimes here
Sometimes here
Beiträge: 35
Registriert: Fr Mär 12, 2010 2:07 pm

Re: Programme mit Shellscripts starten

Beitrag 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
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast