나는 이것을 raspberrypi.stackexchange에 게시했지만 여기로 이동되었습니다. 저는 Linux/Unix를 처음 접했고 gphoto2
.
gphoto2 --capture-tethered --hook-script=myhookscript.sh \
--filename="/home/media/usbpendrive/image-%Y%m%d-%H%M%S.jpg" \
--force-overwrite
이렇게 하면 이미지를 USB 펜 드라이브에 다운로드한 다음 후크스크립트에서 새 명령을 찾아야 합니다.
다음 단계는 qiv
유사한 이미지 뷰어를 사용하여 폴더에서 마지막 캡처를 찾은 다음 전체 화면으로 표시하는 것입니다. 누군가가 이 후크 스크립트를 만드는 방법을 간단한 용어로 설명해 주기를 바랍니다.
답변1
Gphoto는 사용할 수 있는 후크 스크립트에 $ACTION
및를 전달합니다.$ARGUMENT
예를 들어:-
#!/bin/bash
if [ $ARGUMENT ]; then
if [[ $ARGUMENT =~ .+\.[jpg|JPG] ]]
then
# Then next few lines are optional
# Alternatively pass $ARGUMENT directly to your image viewer eg:-
# /usr/bin/shotwell "$ARGUMENT" &
DIRNAME=$(dirname "$ARGUMENT")
BASENAME=$(basename "$ARGUMENT")
NEWFILENAME="$DIRNAME/my_new_folder/$BASENAME"
mv "$ARGUMENT" "$NEWFILENAME"
/usr/bin/shotwell "$NEWFILENAME" &
fi
fi
이렇게 하면 파일이 에서 열리지 shotwell
만 원하는 뷰어로 쉽게 변경할 수 있습니다.
두 번째 if
명령문은 다운로드한 파일이 JPG인 경우에만 샷웰이 사용되도록 보장합니다. 때로는 카메라가 Raw(Canon의 CR2)를 생성하도록 설정되어 있지만 샷웰에서 열 수 없기 때문입니다. 다른 시청자들과도 소통할 수 있도록 확장될 수 있다고 생각합니다.
--filename
귀하의 경우 이미지는 제공된 인수로 저장됩니다 /home/media/usbpendrive/image-20140616-125500.jpg
. 이는 $ARGUMENT
후크 스크립트에 저장되고 전달되는 값입니다 .
dirname
및 를 사용하여 basename
이 경로와 파일 이름을 관련 부분으로 분할한 다음 이를 재사용하여 이미지의 새 경로와 파일 이름을 만들 수 있습니다.
$dirname /home/media/usbpendrive/image-20140616-125500.jpg
/home/media/usbpendrive
$basename /home/media/usbpendrive/image-20140616-125500.jpg
image-20140616-125500.jpg
$ARGUMENT
이미지를 다운로드할 때만 사용할 수 있으므로 gphoto
이 경우 확인이 $ACTION
중복됩니다 .
물론 파일에는 실행 가능한 비트가 설정되어 있어야 합니다.
이 사실을 알고서야 사용을 중단했습니다트위스트하지만 Pi에서 사용할 수 있는지 확실하지 않습니다.