A Picasa-to-Flickr Uploader for Linux

This is abandoned, just like Picasa for Linux itself, and to a lesser extent Flickr. –AON

picflick enables uploading to Flickr from Picasa 3 on Linux using a simple button. I think it can be easily adapted for Picasa 2 as well. It provides a button in the button bar just like picasa2flickr, but rather than adding the files to the Flickr uploader it resizes them and uploads them automatically.

The main part of picflick is a script that accepts wine-style paths (C:\Windows\temp\Picasa\temp_11\IMG_0001.JPG) and uploads them to Flickr using the flickr_upload utility from the Flickr::Upload Perl module.

The Picasa integration consists of a button (using an icon borrowed from picasa2flickr!) which, when clicked will launch the picflick script (in a new terminal) with the paths of the currently selected photos as arguments (in Wine format).


  • One-click uploading to Flickr via simple button in Picasa
  • Tags and captions are maintained (unlike using Picasa to email-to-Flickr or Picasa-to-Kflickr)

Missing Features:

  • No true integration with Flickr such as updating tags on photos already in photostream (try “dfo” for that)
  • Limited control over size of uploaded pictures (set-and-forget)


You need ‘convert’ from imagemagick. On Debian/Ubuntu:

  • apt-get install imagemagick

You need ‘flickr_upload’ from the perl module ‘Flickr::Upload’, and also the progress bar module which is not an explicit dependency:

  • on Debian/Ubuntu: apt-get install libflickr-upload-perl libterm-progressbar-perl
  • otherwise: sudo cpan Flickr::Upload Term::ProgressBar

Uses a terminal to display progress – you should have xterm or rxvt-unicode installed.




  1. Download the tarball, unpack it and ‘make install’. ┬áThis copies the button file into the Picasa buttons directory, and places the script in the Picasa Wine directory ~/.google/picasa/3.0/drive_c to make it accessible to Picasa.
  2. Add the button to the button bar in Picasa by right-clicking on the button bar and choosing ‘configure buttons’ – you should see a new ‘Flickr’ button in the left hand column.
  3. Authorize flickr_upload with Flickr by running flickr_upload –auth and placing the resulting token in ~/.flickrrc as one line like auth_token=XXXXXXX-XXXXX
  4. You can test a direct Flickr upload by navigating to an image file and doing flickr_upload IMG_10101.JPG

Now, you should be able to select one or many pictures in Picasa, press the Flickr button and the pictures will be resized to 800 pixels and uploaded. See the README for more details


There are a few parameters you can change in the picflick script.

  • UPLOAD_SIZE: picture will be resized before upload so that the longest side of the picture is this length (in pixels).
  • AUTH_TOKEN: you can set the flickr_upload authentication token here, or if left blank you can set it in ~/.flickrrc.
  • DEBUG: enable debug output (to ~/.picflick.log).
  • PICASA_WINE_DIR: Path to Picasa ‘drive_c’ directory. Default should be OK.
  • TERMINAL: If set, the uploads will take place in a terminal window so you can see the feedback – by default this will call xterm or urxvt with suitable arguments.

Future Plans:

When the XPCOM-based Flickr uploader gets better support on Linux, I might change to using that instead of Flickr::Upload, but we’ll still need to convert the Wine paths to native ones so an intermediary script will be needed.

I think the next step will be to provide a basic GUI instead of opening a terminal. This would allow to change the resize parameters.


  • 1.3.3: Fix auth_token argument to flickr_upload where ~/.flickrrc is not present. Setting AUTH_TOKEN in picflick should now work as expected.
  • 1.3.2: Fix typo in xterm command line
  • 1.3.1: Do not use rxvt, use urxvt or xterm since we want the ‘-hold’ option which rxvt does not possess.
  • 1.3: Now using single script that recursively calls itself to open in terminal window if necessary.
  • 1.3: Fix install bug when Picasa’s “buttons” directory doesn’t exist.
  • 1.2: Use ‘nice’ when resizing photos.
  • 1.2: Fixed path issue in picflick_starter, fixed debug mode to use $LOG
  • 1.1: Removed ridiculous notification methods in favour of running the whole thing in a terminal. Added wrapper script ‘picflick_starter’ to run picflick inside a terminal.
  • 1.1 Simplified installation with a Makefile (make install)

Leave a Reply

Your email address will not be published. Required fields are marked *