2008年12月2日星期二

Howto:在 Ubuntu 上 使用 Canon powershot A70

很多相机都支持 “USB Mass Storage”标准,直接连上 linux 电脑可以使用,很方便。我有一台二手的佳能 powershot A70 相机,够沉够强大。但是 不支持此标准,连接上我的Thinkpad T41——操作系统是 Hiweed 1.0(基于ubuntu6.06),没有任何反应。所幸 A70 支持 PTP 标准,安装 gphoto2 后即可使用。

  • 安装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。
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/
如果你认为上面的介绍有用,或发现了任何错误,请留言,谢谢!

没有评论:

发表评论


相关文章

Widget by Hoctro