Ubuntu Weekly Recipe

第162回 Shotwellで写真管理をはじめよう(前編)

この記事を読むのに必要な時間:およそ 3 分

本連載74回でRAW画像の現像について紹介したのでご存知の方もいるかもしれませんが,筆者の趣味のひとつにカメラがあります。こう言うと驚かれるのですが,筆者はカメラは好きなものの写真にはそれほど興味がなく注1)⁠デジタルカメラで撮影した写真はファイルサーバにまとめて保存してそれっきりだったりします。

ですが,たまに過去の写真を参照する必要が出てきます。ファイルサーバにはカメラのSDカードの中身をそのままバックアップしているのですが,はっきり言って検索不能です注2)⁠筆者のファイルサーバには現在約3,000枚ほどの写真が整理されないまま溜めこまれていますが,このままではいけないと一念発起し,Shotwellでアルバム管理をすることにしました。

そこで今週のレシピは筆者のShotwell導入話を交えつつ,Ubuntuの標準写真管理ソフトであるShotwellを紹介します。

図1 ⁠どうしてこんなになるまで放置してたんだ!」と言いたくなるほど,ひどい状態な筆者のファイルサーバ(の一部)⁠ちなみに玄箱ProとDebian Lennyで動作している

図1 「どうしてこんなになるまで放置してたんだ!」と言いたくなるほど,ひどい状態な筆者のファイルサーバ(の一部)。ちなみに玄箱ProとDebian Lennyで動作している

注1
筆者は構図を決めたり露出を計算したりして「絵を作る」のが楽しいので,シャッターを切った時点で興味が尽きてしまうようです。
注2
筆者が主に使用しているのはPENTAXのK20Dという機種です。この機種はSDカードにXXX_MMDDという名前のサブフォルダを作成し,その中に画像を保存します。MMDDが撮影した日付になるので,これを手がかりに写真を探せないこともないのですが,現実的ではないのはお察しの通りです。

Shotwellとは

ShotwellはUbuntu 10.10で標準採用されている写真管理ソフトウェアです。Shotwellは従来のF-Spotを置き換える形で採用されました。イベント単位での写真の分類,写真のサムネイル表示,写真の簡易編集,Webアルバムへのアップロードなどの機能が搭載されています。機能的には従来のF-Spotとほぼ同等ですが,F-Spotよりも高速に動作するのが特徴です。これはF-SpotがC#とMonoを利用していたのに対し,ShotwellがValaで実装されていることに由来します注3)⁠

注3
ValaはC#によく似た言語で,GLibのオブジェクトシステムであるGObjectを簡単に扱えるように設計されています。またValaのコンパイラであるvalacは,Vala言語のソースを「GObjectを使ったC言語のソース」に変換し,この中間コードは最終的にgccを用いてコンパイルが行なわれるという特徴があります。そのためValaはGObjectベースのプログラミングが簡単な新言語でありながら,C言語で書かれたプログラムと同じように扱えるというメリットがあります。

写真をインポートする

Shotwellで写真を管理するためには,まず写真をカメラからインポートし,Shotwellの管理下に置くという作業が必要です。デジタルカメラや写真を保存したSDカードなどをUbuntuに接続して,Shotwellを起動しましょう。Shotwellがカメラやカードといったデバイスを認識すると,左ペインにデバイスが表示されます。また,右ペインには撮影済の写真のサムネイルが表示されます。

次に,右ペインでインポートしたい写真を選択し,⁠Import Selected」をクリックしてください。すべての写真をインポートしてよい場合は,⁠Import All」をクリックしても構いません。なお,既にインポート済みの写真がデバイス内に残っている場合は,⁠既にインポートした写真を隠す」にチェックを入れておくことで,サムネイル一覧から重複する写真を隠蔽することができます。ちなみにインポート済みの写真を再度インポートしてしまったとしても,自動的にスキップされるので特に問題はありません注4)⁠インポートを行うと,ホームの「画像」フォルダ以下に「撮影年/月/日」という名前のサブフォルダが作成され,その中にファイルがコピーされます。

Shotwellのカメラの認識や写真のインポートにはgPhoto2という,USBマスストレージやPTPのようなプロトコルを利用して,デジタルカメラへアクセスするためのライブラリが使用されています。gPhoto2は現在約1300種類ほどのデジタルカメラに対応しており,これらのカメラであればShotwellから直接写真のインポートが可能というわけです。もし手持ちのカメラがgPhotoでサポートされていない場合は,SDカードリーダなどを別途利用する必要があるでしょう。

図2 カメラを接続して写真をインポートする。インポート先は「編集」⁠->「設定」で変更することもできる

図2 カメラを接続して写真をインポートする。インポート先は「編集」

注4
ただし,インポートに余計な時間がかかるかもしれません。

Shotwellの設定フォルダ

インポートした写真は画像フォルダ以下,あるいは設定した任意のフォルダにコピーされますが,それとは別に ~/.shotwell にShotwellが使用するデータベースと画像のキャッシュが作成されます。~/.shotwell フォルダのサブフォルダには次の表のようなものがあります。

表1 Shotwellのデータ

dataShotwellの管理している画像,タグなどの情報が格納されたSQLite3形式のデータベース,photo.dbが保存される
mimicsRAWデータから作成したフルサイズのJPG画像が保存される注5
thumbs右ペインに表示するために,サムネイルの画像ファイルが保存される
注5
RAWデータからJPEGのような可視画像を得るには,数秒程度の時間がかかります。RAWデータを表示する際に毎回画像を生成するのは効率が悪いため,RAW形式のファイルはフルサイズのJPGイメージが別途キャッシュされています。

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。株式会社インフィニットループ所属。

コメント

コメントの記入