很多相机都支持 “USB Mass Storage”标准,直接连上 linux 电脑可以使用,很方便。我有一台二手的
佳能 powershot A70 相机,够沉够强大。但是 不支持此标准,连接上我的Thinkpad T41——操作系统是
Hiweed 1.0(基于ubuntu6.06),没有任何反应。所幸 A70 支持
PTP 标准,安装
gphoto2 后即可使用。
esn@esn-laptop:~$ sudo apt-get install gphoto2
|
下面的命令列出可用的端口,可以测试安装是否正常:
esn@esn-laptop:~$ gphoto2 --list-ports 找到设备:33 路径 描述 ------------------------------------------- serial:/dev/ttyS1 串口 1 serial:/dev/ttyS2 串口 2 serial:/dev/ttyS3 串口 3 serial:/dev/ttyS4 串口 4 serial:/dev/ttyS5 串口 5 serial:/dev/ttyS6 串口 6 serial:/dev/ttyS7 串口 7 serial:/dev/ttyS8 串口 8 serial:/dev/ttyS9 串口 9 serial:/dev/ttyS10 串口 10 serial:/dev/ttyS11 串口 11 serial:/dev/ttyS12 串口 12 serial:/dev/ttyS13 串口 13 serial:/dev/ttyS14 串口 14 serial:/dev/ttyS15 串口 15 serial:/dev/ttyS16 串口 16 serial:/dev/ttyS17 串口 17 serial:/dev/ttyS18 串口 18 serial:/dev/ttyS19 串口 19 serial:/dev/ttyS20 串口 20 serial:/dev/ttyS21 串口 21 serial:/dev/ttyS22 串口 22 serial:/dev/ttyS23 串口 23 serial:/dev/ttyS24 串口 24 serial:/dev/ttyS25 串口 25 serial:/dev/ttyS26 串口 26 serial:/dev/ttyS27 串口 27 serial:/dev/ttyS28 串口 28 serial:/dev/ttyS29 串口 29 serial:/dev/ttyS30 串口 30 serial:/dev/ttyS31 串口 31 serial:/dev/ttyS32 串口 32 usb: Universal Serial Bus
|
此命令列出所有可用端口——没注意自己的机器上有这么多 ttys !
将A70 接入 usb 口,打开开关,并设置于“浏览”状态,然后运行下面的命令,即可将相机上所有照片下载到当前目录:
esn@esn-laptop:~$ gphoto2 -P
|
下面的命令删除相机上的所有照片:
esn@esn-laptop:~$ gphoto2 -D
|
然后关闭相机,拔掉连线,欣赏照片吧——不过,gphoto2 还可以做很多事情,请继续看下面的介绍:
esn@esn-laptop:~$ gphoto2 --list-cameras 支持相机数量 :619 已支持相机: "Achiever Digital Adc65" "AEG Snap 300" "Agfa ePhoto 1280" …… "ViviCam5B" (正在试用) "Vivitar Vivicam 55" (正在试用) "WWF" "Yahoo!Cam" (正在试用)
|
列表太长,中间部分省略了。我们来看看支持多少种佳能相机以及是否支持 A70:
esn@esn-laptop:~$ gphoto2 --list-cameras | grep -i canon | wc -l 150 esn@esn-laptop:~$ gphoto2 --list-cameras | grep -i "canon.*a70" "Canon PowerShot A70" "Canon PowerShot A70 (PTP)"
|
esn@esn-laptop:~$ gphoto2 --auto-detect 型号 端口 ----------------------------------- Canon PowerShot A70 usb:
|
一切正常。
esn@esn-laptop:~$ gphoto2 --summary 已监测到一个“Canon:PowerShot A70”。 相机概要:
相机标识: 型号:Canon:PowerShot A70 所有者:
电源状态:使用电池 (电力充足)
闪存磁盘信息: 驱动器 D: 共计 511,256 字节 可用 507,704 字节
时间:2008-13-32 25:28:06 (主机时间 +0 秒)
|
查看支持哪些功能:
esn@esn-laptop:~$ gphoto2 --abilities 相机功能 :Canon PowerShot A70 串口支持 :否 USB 支持 :是 捕捉选项 : :图像 :预览 支持配置 :是 支持删除相机内文件 :是 支持文件预览 (缩略图):是 文件上载支持 :否
|
正如所料,不支持上载,不能当u盘用。上面显示似乎可以进行抓拍,但是我没有成功,估计是因为 A70 有两个模式的缘故。如果你成功了,请一定告诉我。
esn@esn-laptop:~$ gphoto2 --list-files 已监测到一个“Canon:PowerShot A70”。 文件夹“/”中没有文件。 文件夹“/DCIM”中没有文件。 文件夹“/DCIM/100CANON”中有 9 个文件: #1 IMG_0001.JPG rd 932 KB image/jpeg #2 IMG_0002.JPG rd 866 KB image/jpeg #3 IMG_0003.JPG rd 545 KB image/jpeg #4 IMG_0004.JPG rd 229 KB image/jpeg #5 IMG_0005.JPG rd 231 KB image/jpeg #6 IMG_0006.JPG rd 169 KB image/jpeg #7 IMG_0007.JPG rd 161 KB image/jpeg #8 IMG_0008.JPG rd 90 KB image/jpeg #9 IMG_0009.JPG rd 215 KB image/jpeg 文件夹“/DCIM/CANONMSC”中没有文件。 文件夹“/MISC”中没有文件。
|
上面几个命令,都是长格式,便于理解。正如最前面使用的下载和删除命令,gphoto2 也提供短命令格式:
esn@esn-laptop:~$ gphoto2 --help | grep "^ -" -q --quiet 少量输出 (默认为大量) -v --version 显示版本号并退出 -h --help 显示该求助屏幕 -a --abilities 显示相机功能 -f --folder folder 指定相机文件夹 (默认为 “/”) -R --recurse 递归 (下载时默认) -l --list-folders 列出文件夹中的文件夹 -L --list-files 列出文件夹中的文件 -m --mkdir name 创建目录 -r --rmdir name 删除目录 -n --num-files 显示文件的数量 -p --get-file range 获取给定范围的文件 -P --get-all-files 从文件夹中获取所有文件 -t --get-thumbnail range 获取给定范围的缩略图 -T --get-all-thumbnails 从文件夹中获取所有缩略图 -d --delete-file range 删除给定范围中的文件 -D --delete-all-files 删除文件夹中的所有文件 -u --upload-file filename 将一个文件上载到相机 -F --frames count Set number of frames to capture (default=infinite) -I --interval seconds Set capture interval in seconds
|
其他命令可以参考帮助信息。
喜欢图形界面的朋友,还可以安装 gtkam。

我没用过,略过不表。
另外,推荐安装
gphotofs,是一个 FUSE 模块,可以将相机文件系统挂载到操作系统上,然后就可以像操作本机目录一样操作了:
# 安装 esn@esn-laptop:~$ sudo apt-get install gphotofs # 检测 esn@esn-laptop:~$ gphoto2 --auto-detect 型号 端口 ----------------------------------- Canon PowerShot A70 usb: # 挂载 esn@esn-laptop:~$ cd temp/pic esn@esn-laptop:~/temp/pic$ ls -l drwxr-xr-x 2 esn esn 4096 2008-12-02 21:04 canon esn@esn-laptop:~/temp/pic$ gphotofs ./canon # 一般的文件操作 esn@esn-laptop:~/temp/pic$ cd ./canon/ esn@esn-laptop:~/temp/pic/canon$ ls DCIM MISC esn@esn-laptop:~/temp/pic/canon$ du 93 ./DCIM/100CANON 0 ./DCIM/CANONMSC 93 ./DCIM 0 ./MISC 93 . esn@esn-laptop:~/temp/pic/canon$ cp DCIM/100CANON/IMG_0001.JPG ~/temp/ esn@esn-laptop:~/temp/pic/canon$ ls /home/esn/temp/IMG_0001.JPG /home/esn/temp/IMG_0001.JPG # 卸载 esn@esn-laptop:~/temp/pic/canon$ cd .. esn@esn-laptop:~/temp/pic$ fusermount -u canon/
|
如果你认为上面的介绍有用,或发现了任何错误,请留言,谢谢!
没有评论:
发表评论