Postei isso em raspberrypi.stackexchange, mas fui direcionado aqui. Sou novo no Linux/Unix e estou tentando obter um script de tether/display com o gphoto2
.
gphoto2 --capture-tethered --hook-script=myhookscript.sh \
--filename="/home/media/usbpendrive/image-%Y%m%d-%H%M%S.jpg" \
--force-overwrite
Isso deve fazer o download da imagem para o meu pen drive USB e, em seguida, procurar novos comandos no hookscript.
A próxima etapa seria usar qiv
um visualizador de imagens semelhante para procurar a última captura na pasta e exibi-la em tela cheia. Gostaria que alguém explicasse em termos simples como fazer esse script de gancho.
Responder1
Gphoto passa $ACTION
para $ARGUMENT
o script de gancho, que você pode usar.
Como um exemplo:-
#!/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
Isso abre o arquivo no formato shotwell
, mas é fácil alterá-lo para o visualizador de sua preferência.
A segunda if
afirmação garante que o shotwell seja usado apenas se o arquivo baixado for um JPG, pois às vezes eu tinha a câmera configurada para criar raw (CR2 em uma Canon) que não abria no shotwell. Suponho que poderia ser expandido para abri-los com outro visualizador.
A imagem será salva como o argumento fornecido --filename
- no seu caso /home/media/usbpendrive/image-20140616-125500.jpg
. Esse será o valor armazenado $ARGUMENT
e passado para o seu script de gancho.
Você poderia usar dirname
e basename
para dividir esse caminho e nome de arquivo em suas partes relevantes e depois reutilizá-los para criar um novo caminho e nome de arquivo para a imagem.
$dirname /home/media/usbpendrive/image-20140616-125500.jpg
/home/media/usbpendrive
$basename /home/media/usbpendrive/image-20140616-125500.jpg
image-20140616-125500.jpg
$ARGUMENT
só está disponível quando gphoto
a imagem está sendo baixada, portanto, uma verificação $ACTION
seria redundante neste caso.
O arquivo precisará ter seu bit executável definido, é claro.
Só parei de usar isso quando descobriEmaranharmas não tenho certeza se isso está disponível no Pi.