1

私はよく家の 2 階にいて、ウェブカメラとこれらのスクリプトで (開いている) 1 階の庭のドアを監視しています。

最初に、以下を含む$sh ~/.camconnを使用してリモート システムに接続します。

sshpass -f 'passw' ssh -X name@remoteip '~/webcam5050'

リモートファイル ~/webcam5050 には以下が含まれます:

#! /bin/sh
cvlc -vvv v4l2:// --sout '#transcode{vcodec=mjpg,vb=2000,width=320,height=240,venc=ffmpeg}:duplicate{dst=standard{access=http,mux=mpjpeg,dst=0.0.0.0:5050/video.mpjpeg}

5 ~ 6 秒待ってから、次の内容を含むローカル Web カメラ ビューア$sh ~/compaqcamを起動します。

cvlc http://remoteip:5050/video.mpjpeg

そしてビンゴ:デスクトップに素敵なVLCウィンドウが表示されます。

もちろん、これをすべて1つのコマンドで実行したいと思っていましたが、無駄に試しました:

#!/bin/bash 
(camcon &) && (sleep 8 &) && (compaqcam &) &

このスクリプトで少し成功しました:

#!/bin/bash
(sshpass -f 'passw' ssh -X name@remoteip '~/webcam5050'&) && (sleep 8 &) && (cvlc http://remoteip:5050/video.mpjpeg &) & 

少なくともリモートで「sshd(受け入れられた)」と表示されますが、それ以上何も起こりません。

私を正しい方向に向けることができますか?この場合、私の bash マニュアル (4 個) が失敗したので、もしそうなら、私は非常に (!) 感謝しています。

4

2 に答える 2

1

私はあなたのセットアップを持っていませんが、問題は&がスリープの後にあると思われます。これにより、バックグラウンドに置かれるため、すぐに完了します。スクリプトは次のようになると思います:

#!/bin/bash  
camcon &
sleep 8 
compaqcam &

&後置なしで 1 行で実行することもできますsleep 8が、この方法の方が明確で、将来的に編集しやすくなります。

于 2013-08-30T13:12:46.067 に答える