Apri Terminal.app ma tieni aperto?

2

Ho uno script di shell che gira sul mio mac ( ./go ), apre una sessione ssh su un raspberry pi quindi esegue uno script che trasmette il video dal raspberry pi a una porta UDP sul mac.

Ho anche bisogno del Mac per eseguire uno script di ricezione ( ./tsplay ) in modo che possa visualizzare il video in streaming.

Il problema è che ho provato a usare il comando open -a Terminal.app ./tsplay prima che venga avviata la sessione SSH, si apre una nuova finestra di terminale ma non attende l'arrivo dei dati di flusso ed esce - [Processo completato]

#!/bin/bash

source network.conf

rm remote.conf

if [ "$1" != "" ] 
then
  sed "s/FRAMERATE=25/FRAMERATE=$1/" video.conf > remote.conf
else
  cp video.conf remote.conf
fi

open -a Terminal.app ./tsplay 

date
echo "###### Network Settings ######" >> remote.conf
echo export TCPPORT=$TCPPORT >> remote.conf
echo export UDPPORT=$UDPPORT >> remote.conf
echo export RX_IP=$RX_IP >> remote.conf
echo export NOW=\"'date +%F" "%T'\" >> remote.conf

#echo exit >> remote.conf

chmod +x remote.conf

echo Copy script to $TX_IP
scp remote.conf $USER@$TX_IP:/home/pi

echo Run Script
ssh $USER@$TX_IP ./ustream
ssh $USER@$TX_IP
    
posta PaulHam 11.02.2015 - 19:32
fonte

1 risposta

1

Perché vuoi eseguire tsplay in un terminale comunque? Sicuramente è un'app grafica se visualizza video? Perché non fare un po 'di sonno per consentire al Pi di iniziare a inviare e quindi avviare tsplay per ricevere?

fi
...
(sleep 5; ./tsplay ) &
...
date
    
risposta data 13.02.2015 - 16:03
fonte

Leggi altre domande sui tag