나는 이것을 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
명령문은 때때로 샷웰에서 열리지 않는 원시(캐논의 경우 CR2)를 생성하도록 카메라를 설정했기 때문에 다운로드한 파일이 JPG인 경우에만 샷웰이 사용되도록 합니다. 다른 시청자와 함께 열 수 있도록 확장할 수 있다고 생각합니다.
--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에서 사용할 수 있는지 확실하지 않습니다.