普段Google Calenderで予定を管理しています。
ウェブ上で全て作業を行うので、ネットにつながっているパソコンからなら
いつでもどこでも閲覧&編集できるのがすごく便利。

そう、ネットにつながっているパソコンであれば・・・

そうなんです。
仕事の都合上ノートパソコンを持ち歩くことが多いんですが、
必ずしもネットにつながる環境にあるわけではないんです。
Google Calenderの弱点は、ネットにつながらなかったら
書き込んだ予定の確認さえもできないということ。
これはさすがにまずいですよね。

そこでGoogle Calenderの内容をオフラインでも確認するために
Sunbirdを導入します。

こちらからtar ballをダウンロードし、解凍します。

$ cd ダウンロードしたディレクトリ
$ tar zxvf sunbird-xxxx.tar.gz (xxx:バージョン番号など)

今回ダウンロードしたのはバイナリ配布バージョンなので

$ cd sunbird
$ ./sunbird

としても起動できますが、気持ち悪いのでインストール作業を行います。

$ cd ダウンロードしたディレクトリ
$ sudo mv sunbird /usr/local
$ cd /usr/local/bin
$ sudo ln -s /usr/local/sunbird/sunbird .

これでコンソール画面で

$sunbird

と打ち込めばSunrbirdが起動します。

さて、本題。

Google Calenderにはカレンダー情報をエクスポートする機能があります。
様々なフォーマットに対応していますが、ここではiCal形式を使うことにします。
エクスポートのしかたはこちらを見てください。

ここで注目するのはここ。

2. [非公開 URL] の [ICAL] アイコンをクリックし、表示された URL をクリックします。

これでローカルにiCal形式のカレンダー情報を保存できますが、
予定を更新するたびにこの手順を踏むのは面倒なので、
このURLを利用してシェルスクリプトで自動化してしまいましょう。
今回はgcal.icsというファイル名で保存することにします。

# updateCalender.sh

#!/bin/sh
cd カレンダーファイルを保存する場所
mv gcal.ics gcal.ics~ # バックアップを取っておきます
wget http://XXXXXXXXX # 上に表示されたURL
mv basic.ics gcal.ics

ネットにつながらない場所に移動する前に
あらかじめこのスクリプトを動かしておけば、
とりあえずその時点では最新のカレンダー情報を
ローカルに保存することができます。

カレンダー情報を表示するには、先ほどインストールした
Sunbirdを使います。

  1. Sunbirdを起動
  2. File -> Open Calender File...
  3. gcal.icsを選択

Sunbirdのいいところは、
起動するたびにカレンダーファイルをインポートする必要がないところ。
つまり上のスクリプトを走らせれば、いつでも
最新のカレンダーファイルを読み込んでくれます。

これでオフラインでも予定を確認したいときは
Sunbirdを起動すればオッケーということになりました。

Sunbird側にGoogle Calenderの内容をローカルにキャッシュする
機能がつけば上のシェルスクリプトは必要なくなります。
次のアップデートは10月だそうなので期待しましょう。


余談ですが、Evolutionではカレンダーファイルを
直接編集することができないようになっています。
よって予定を最新のものに差し替えたいときは
手動でカレンダーファイルをインポートする必要があります。
またEvolitionにはウェブ上のカレンダーファイルを
ローカルにキャッシュする機能がついてはいるのですが、
ウェブ上のカレンダーファイルの読み込み部分にバグがあって
オンライン時に更新しようとしてもきちんと動きません。

ちなみにSunbirdから直接Google Calenderを編集できる
便利なアドオンもあったりします。
俺はデスクトップ側はSunbird+アドオンで予定を管理して、
ノートではSunbird+更新スクリプトを使うようにしています。

他にいい方法(ソフトウェア)があったら教えてください。

0 Responses to "Googleカレンダーの内容をオフラインでも確認したい"