CHDK
Canon Hack Development Kit http://chdk.wikia.com/wiki/CHDK
CHDK is a unique software application developed by enthusiasts that enables extra features for ported Canon™ "Point&Shoot" cameras. (Note: it will not run on DSLR cameras.)
What can it do?
CHDK enhances the capabilities of your camera in a non-destructive, non-permanent way.
More info in http://chdk.wikia.com/wiki/CHDK_User_Manual
Picture Transfer Protocol: PTP
http://chdk.wikia.com/wiki/PTP_Extension
The Picture Transfer Protocol (PTP) facilitates remote operations on a camera connected computer. Typical operations are uploading/downloading photos and remote captures.
The PTP extension for CHDK does not alter the standard operations but adds new CHDK-specific operations instead
PTP client programs
See extensive list in http://chdk.wikia.com/wiki/PTP_Extension#Client_applications
I will give a shot at chdkptp]: a client created specifically for controlling CHDK cameras. It provides CLI and optional GUI based on IUP. Also provides a Lua API for the CHDK protocol on the PC. Because the GUI and CLI are also implemented in Lua, this makes chdkptp easy to extend and enables end users to implement complex interactions with code on the camera.
[Install instructions] - there is a binary for Raspian