スケジュール管理をしよう!!

忘れちゃいけない大事な…

いまは、連休があけたばかりです。 皆さん、連休はいかがお過ごしになったでしょうか? 私は体調をくずして家でゴロゴロしていましたが、 家族サービスに奔走された方も多いことと思います。

さて、家族サービスを行う上で、スケジュール管理は大切です。 遊園地に行く約束をしていたしていた日にゴルフやBUG活動を入れてしまうと、 冷たい視線が痛くはないでしょうか? 家族の誕生日や記念日は全て覚えているでしょうか? ただでさえ、家庭不和の原因となるコンピュータという趣味を持っている以上は、 このあたりの家族サービスはきっちり押えて点数稼ぎをしましょう。

というわけで、今回はスケジュール管理ソフトウエアについて 御紹介したいと思います。

スケジュールを管理する

古くから単にカレンダーを表示するコマンドとしては、 calがあります。 現在では、locale対応しているので、日本語で表示もしてくれます。 が、これだけではスケジュール管理はできません。 ちなみにdeskutils/gcalにも、 gcal(http://www.gnu.org/software/gcal/gcal.html) というカレンダー表示コマンドが存在します。

スケジュール管理ソフトウエアとして利用可能なものを 表1に示します。 Palmとの連係に関しては、FreeBSD PRESS No.4の記事に詳しいので、 ここでは述べません。

表 1. 主なスケジュール管理ソフトウエア

名前portsの場所インターフェースPalmとの連係備考
gemcal [a] deskutils/gemcalGUImhc用のGUIフロントエンドインターフェース
xcalendardeskutils/xcalendarGUI× 
jpilotjapanese/jpilotGUI本来はPalmとのsync用。
icaljapanese/icalGUI[b]  
plan [c] japanese/planGUI 
gnomepimdeskutils/gnomepimGUI×スケジューラコマンドはgnomecal
Moneydance [d] deskutils/moneydanceGUI×本来はfinance関係のアプリケーション
注意:
a. http://www.quickhack.net/mhc/
b. palm/syncalが必要。
c. http://www.IN-Berlin.DE/User/bitrot/plan.html
d. http://www.moneydance.net/

[Case1]GUIで簡単操作

担当者の基本的路線として、家族で使うFreeBSDというのがありますので、 とりあえずは簡単操作のGUIからはじめましょう。 GUIソフトウエアはいろいろあります。 この中でもこれまでに本誌で紹介されていないものを中心に説明し、 あとは軽く説明します。

xcalendar

deskutils/xcalendarは、 シンプルなスケジュール管理ソフトウエアです。 かなり古くからあるソフトウエアで、日本語化されたスケジューラとしては 最初の部類に属するものです。 基本的にXさえ入っていれば動作しますので、 最近のソフトウエアが重くなったとお嘆きのあなたには適当かと思います。

表示もコンパクト(図1)ですので、 狭い画面のノートパソコンなどでも邪魔になりません。

インストールした直後の状態では、漢字の入力ができないようになっています。 例えば、kinput2を利用する場合には ~/.Xdefaultsなどの設定ファイルに以下のように記述し、 xrdb -merge ~/.Xdefaultsを 実行して設定を有効にしてください。

	    XCalendar*inputMethod: kinput2
	    XCalendar*preeditType: OverTheSpot
	  

図 1. xcalendarの画面

gemcal(MHCとの連係)

deskutils/gemcalは、 後述のMHCとの連係を主としたソフトウエアです。 デフォルトの表示はコンパクトなので、狭い画面のノートでも大丈夫です (図2中のカレンダ部分)。 ウインドウを拡大することで、予定も同時に表示されますので、 広い画面では予定の一覧も可能です。

操作は直感的なので、特に説明する必要も無いと思います。 予定がある所は強調表示され、クリックすることで予定が表示されます。 予定は「鉛筆と時計」のアイコンをクリックすることで、編集可能です。

gemcalはやはり、MHCとの連係でその真価を発揮します。 MHCは、後の解説を御覧ください。

図 2. gemcalの画面

その他の注目株

その他にもスケジュール管理のためのソフトウエアとしては、 以下のようなものがあります。 これらは、FreeBSD PRESS No.4やNo.6でも紹介されています。

  • japanese/jpilot: 本来はPalmとの連係用ソフトウエア。 Palmの機能のアドレスやToDoの管理も可能。

  • japanese/ical: ダブルブッキングしている予定が見やすい。 予定の印刷は月単位などが利用できるため、 壁に張るためには便利。

  • japanese/plan: ネットワーク経由でのスケジュールの共有機能が目玉。 予定印刷はこれも月単位などが指定でき、見やすい。

  • deskutils/moneydance: 前回(No.6)紹介した家計簿ソフトです。 予定の管理もできますので、これを使ってもいいでしょう。

[Case2]予定がメールで降ってくる

最近はIT革命とやらで、やたらと電子メールで連絡をする風潮があるようです。 会議の予定などは電子メール経由で流されることも多いため、 電子メールベースのスケジュール管理ソフトウエアへの需要は大きいでしょう。

MHC(http://www.quickhack.net/mhc/)は、 このような環境を仮定したスケジュール管理ソフトウエアです。 基本的に、MH形式で予定メールをそのまま保存し、 オプショナルヘッダに追加情報を付加することで、 スケジュールの管理を容易にしています。

基本的に対応しているMUAはEmacsベースのWanderlustとMew, Gnusになっています。

deskutils/mhc-*から自分のEmacsにあったものを portsでインストールすると、ドキュメントは /usr/local/share/doc/mhcにインストールされます。 ここの00usage.jisを読んで設定します。 基本的には~/.emacsに以下の設定を追加します。 利用するMUAの設定だけで十分です。

	  ;; MHC
	  ;;; for Wanderlust
	  (autoload 'mhc-wl-setup "mhc-wl")
	  (add-hook 'wl-init-hook 'mhc-wl-setup)
	  ;;; for Mew
	  (autoload 'mhc-mew-setup "mhc-mew")
	  (add-hook 'mew-init-hook 'mhc-mew-setup)
	  ;;; for Gnus
	  (autoload 'mhc-gnus-setup "mhc-gnus")
	  (add-hook 'gnus-startup-hook 'mhc-gnus-setup)
	  ;;; General Setup
	  (setq mhc-base-folder "+schedule")
	  (setq mhc-mail-path   (expand-file-name "/home/oZ/Mail"))
	
ここでは、スケジュールを保存するディレクトリを /home/oZ/Mail/scheduleと仮定しています。

休日を表示したい場合には、 このディレクトリのDOT.schedule.sample.jp~/.scheduleとしてコピーしておきましょう。

スケジュールを登録するためには、アナウンスメールなどで C-c . | と入力します。 時間や日時などの候補はメール本文から 推測して、次々に項目を問い合わせてくれますので、 補完されていない部分を入力していきます。 保管が適切でない場合は、 C-pC-n を使って、前後の候補を選択することも可能です。 最終的に C-c C-c でスケジュールの登録が完了します。

メールで与えられていない予定を登録するためには、 予定を登録する日時にポインタを合わせたあとで、 C-. e を入力します。

スケジュールの閲覧には C-c . . を使います(図3)。

図 3. スケジュールの一覧

他にもさまざまな便利な機能があるのですが、ここでは紹介しきれません。 表2に機能一覧をまとめておきますので、 参考にしてください。

表 2. MHCの主な機能

機能デフォルトキーバインド備考
現在の月の予定を表示 C-. .  
次の月の予定を表示 C-. n  
前の月の予定を表示 C-. p  
現在の月をrescan C-. s  
メールからの予定の登録 C-. |  
直接の予定の登録 C-. e スケジュール表示画面でポインタを該当日時に合わせた上で作業が必要
予定の編集 C-. m スケジュール表示画面でポインタを該当予定に合わせた上で作業が必要

Webでのスケジュール提供のためのインターフェースとして web-mhc(http://mhc.haun.org/web-mhc/)というものも 存在します。 スケジュールディレクトリのアクセス権限の問題から、 動作にはsuExecもしくはcgiwrap(www/cgiwrap)などを 利用する必要があります。 ここでは、cgiwrapを利用する方法について簡単に説明します。

まず、cgiwrapをportsからインストールします。 web-mhcのスクリプト類は~/public_html/cgi-bin/に インストールしておきます。 このディレクトリでCGIが実行できるように.htaccessや システムの設定をしておきます。 例えば、.htaccessを使う場合以下のようになります [1]

	  AddType application/x-httpd-cgi .cgi
	  Options execCGI
	
スケジュールにアクセスする場合には、URLを http://www.example.com/cgi-bin/cgiwrap/oZ/main.cgiの ように指定します。

図 4. web-mhcの表示

[Case3]Webブラウザでグループウエア

PHPGroupWare(http://phpgroupware.org/)は、 Webブラウザを利用したグループウエア環境です。 スケジューラだけではなく、アドレス帳や電子メール、電子ノートなどの さまざまなグループウエアが提供されています。 日本語化はITはあと(http://www.itheart.com/)が 行っており、バージョン毎に提供されています。 portsのバージョン (japanese/phpgroupware)は0.9.12です。

インストール後の設定の詳細は、ITはあとのページを参照ください。 先にMySQL(databases/mysql323-server [2] )やPostgreSQLのデータベースの設定を行う必要があることに 注意してください。 また、標準では${PREFIX}/www/data.defaultにインストールされますので、 既に新たに${PREFIX}/www/dataなどを 作成している場合には注意してください。 以降の説明では、${PREFIX}/www/data/phpgroupware/${PHPGROUPWARE}として参照します。

初期設定はhttp://localhost/phpgroupware/setup/から行います(localhost起動時の場合)。 Webベースの設定のためには、 この前にディレクトリモードを変更するか、オーナをApacheの動作権限を持ったユーザに変更して、 設定ファイルheader.inc.phpが書き込めるようにする必要があります。 初期設定時点で、ネットワーク的に分離されていない場合恐いので、 downloadボタンや viewボタンを使って設定を入手し、 ${PHPGROUPWARE}header.inc.phpというファイル名で設定を 置いた方が無難でしょう。

次にもう一度 http://localhost/phpgroupware/setup/にブラウザでつなぎ、 Setup/Config Admin Loginから 先程設定したパスワードでログインします。 最初の項目である Step 1 - database managementでCreateボタンを押すことで、 データベース項目が作成されます。 この時、エラーがたくさん出てきますが、 Re-Check My Installationボタンを押します。 ここで、Step1は相変わらず未設定になりますが、 構わず Step 2 - Configurationに進みます。 必要な項目を設定したあとで、 管理者とデモアカウント3つを作るために下のリンクをクリックします。 ここで、管理者のアカウントとパスワードなどを設定します。 デモアカウントは管理者でログインした後で削除や更新が可能です。 Step 3 - language managementで Japaneseを選択すれば良いでしょう。

http://localhost/phpgroupware/にアクセスすると ユーザ名とパスワードを入れてログインできるようになります。 エラーが大量に表示されますので、

	  > mkdir -p ${PHPGROUPWARE}/home/templates/default/images
	
してください。 これで、とりあえずエラー無しで動作可能です。

PHPGroupWareの動作の様子を図5にしめします。 PHPGroupWareでは、スケジュールの共有などが簡単にできるので、 複数人のスケジュールを扱う必要がある場合には便利でしょう。

図 5. PHPGroupWareの動作の様子

おわりに

たとえ、スケジュール管理を行っても同期や把握を忘れてはどうしようもありません。 使うのであれば、同じスケジューラを継続的に使うべきでしょう。

さらに、スケジュールを印刷した場合は、印刷物は信じないことが大切です。 まめに出力するか、スケジューラだけを信じましょう [3]

注意

[1]

システム設定で.htaccessが使えるように、 AllowOverrideが設定されている必要があります。

[2]

これは、データベースをローカルホストで動かす場合に必要です。 RUN_DEPENDしていないので注意してください。

[3]

わたしは何度もはまったことがあります(;-;)