Digitalkamera
Från Unix.se, den fria unixresursen.
I unix-liknande system finns huvudsakligen två sätt att överföra bilder från en digitalkamera på. Det ena är att använda biblioteket/programmet gPhoto. Nuförtiden fungerar dock många kameror som USB mass storage-enheter, vilket gör det betydligt enklare.
Innehåll |
USB mass storage
Linux
Ladda modulen usb-storage:
# modprobe usb-storage
Slå på kameran. Då bör något liknande det följande visas i dmesg:
Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi1 : SCSI emulation for USB Mass Storage devices Vendor: NIKON Model: D70 Rev: 1.02 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0 SCSI device sda: 2001889 512-byte hdwr sectors (1025 MB) sda: Write Protect is off sda: sda1 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 8 USB Mass Storage support registered.
Beroende på version av USB-drivrutinerna kanske det inte står vilken SCSI-emulerad enhet som används. Om ingen annan SCSI-enhet redan används är det sda1, annars får du prova dig fram. I det här fallet är sda1 den enhet som ska monteras:
# mkdir /mnt/cam # mount -t vfat /dev/sda1 /mnt/cam
Gå sedan till /mnt/cam och ta reda på vad den katalog som innehåller själva bilderna heter. I det här fallet är det /mnt/cam/dcim/101ncd70. Sedan är det bara att kopiera eller flytta bilderna! Glöm inte att slå av kameran efter överföringen - har du inte en strömsladd inkopplad dras mycket ström från kamerans batteri.
Lägg in följande rad i /etc/fstab om du vill kunna montera/avmontera kameran som vanlig användare (med mount /mnt/cam):
/dev/sda1 /mnt/cam vfat rw,noauto,user 0 0
Skript
Ett skript kan användas för att underlätta hela processen. Exempel följer nedan (skapa först katalogen /home/användarnamn/foto).
OBS: Det här skriptet tar INTE hänsyn till befintliga filer. Om din kamera börjar numreringen från noll igen efter att bilderna överförts kommer bilder att skrivas över om du kör skriptet två gånger samma dag.
#!/bin/sh DATE=`date +%Y-%m-%d` DIR=/home/användarnamn/foto cd $DIR if [ -d $DATE ]; then cd $DATE else mkdir $DATE cd $DATE fi /sbin/modprobe usb-storage mount -t vfat /dev/sda1 /mnt/cam mv /mnt/cam/dcim/*/* . umount /mnt/cam chown -R användarnamn $DIR/$DATE
En annan variant, där du själv bestämmer vilken katalog de ska kopieras till:
#!/bin/sh echo "Välj katalog för bilderna:" read DIR if [ ! -d $DIR ]; then mkdir "$DIR" fi /sbin/modprobe usb-storage mount -t vfat /dev/sda1 /mnt/cam mv /mnt/cam/dcim/*/* "$DIR" umount /mnt/cam chown -R användarnamn "$DIR"
FreeBSD, NetBSD, OpenBSD
Tillvägagångssättet i dessa operativsystem är nästan identiskt med det för Linux, förutom laddandet av usb-storage-modulen; se bara till att du har USB-drivrutinerna inkompilerade (eller laddade som moduler). Enhetsnamnet är förmodligen /dev/da0s1c om du inte har någon annan SCSI-enhet på systemet. Använd mount_msdos(8) för att montera:
# mkdir /cam # mount_msdos /dev/da0s1c /cam
Eller lägg in följande i /etc/fstab:
/dev/da0s1c /cam msdos ro,noauto 0 0
Då monterar du sedan genom att skriva mount /cam.
gPhoto
Ladda ner [1] (http://www.gphoto.org/) och installera på vanligt vis. För att se vad din kamera heter, kör:
# gphoto2 --list-cameras
Specifiera kameratyp och ladda ner bilderna med t.ex.:
# gphoto2 --camera "Canon PowerShot S45 (normal mode)" --get-all-files
Olika grafiska gränssnitt finns, bl.a. gtkam (http://www.gphoto.org/proj/gtkam/) (GTK2).
Externa länkar
- USB-Digital-Camera-HOWTO (http://www.tldp.org/HOWTO/USB-Digital-Camera-HOWTO/)
- gPhoto (http://www.gphoto.org)