Ubuntu Weekly Recipe

第357回 2015年の目標をUbuntuで管理しよう

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

ここだけの話なのですが,実はもう2015年が始まっているそうなんです。「一年の計は元旦にあり」とも言いますし,今回はUbuntuを使った目標管理ツールについて紹介しましょう。

目標管理? タスク管理? スケジュール管理?

読者の皆さんはどのように人生の目標をたて,目標達成に必要なタスクを洗い出し,そのタスクを確実に消化していくためのスケジュールを作っているのでしょうか?

たとえばこの記事を書いている人の場合,そもそも目標はその場の思いつきで決まります。必要なタスクはそのときの気分で決めて行きます。そしてそのタスクは消化されることなく,次の日には目標と一緒に忘れ去られることになります。よって目下のところ目標達成のために必要なのは「目標を忘れないこと」「『目標を忘れないこと』を覚えておくこと」と言えます注1)。

注1)
つまりはそういうレベルから頑張らないといけない人が書いている記事であるということをご承知おきください。真面目に人生を豊かにしたり,キャリアアップを考えていたり,いつかはゆかしたいために目標を探している方は,ちゃんとした本を探したほうが良いでしょう。

忘れないためには「メモる」ことが重要です。しかもできるだけ日々目にする何かに書いてある必要があります。現代人が日々目にするとなると,最初に挙がってくるのがWebブラウザーやスマートフォンです。そんなわけでモバイルにも対応したブラウザーベースの目標管理ツールはいろいろと存在します。たとえば有名どころだとLifetickがありますし,Goalscapeなんかは独特なサークルで進捗管理できるサービスです。他にも「Personal Goal」「Destination Management」なんかで検索するといろいろとツールが挙がってきます。

そもそも目標管理とは,とどのつまり目標を達成するためのタスク管理でもあります。このためGTD(Getting Things Done)という手法に代表される各種タスク管理ツールも,目標管理ツールと言えるでしょう。具体的に期日が決まっている目標であれば,一般的なスケジューラーを使うという手もあります。メモってあれば良いのであれば,人類が生み出した万能ツール「エクセル」やメモ帳もまた目標管理ツールになり得ます。

Ubuntuでのタスク管理と言えば第78回で小林さんがTasqueを紹介していますし,メモツールとしてのTomboyを第25回で吉田さんが紹介しています。同じく吉田さんが,第182回第185回においてCLI向けの強力なタスク管理ツールであるTaskwarriorも紹介してくれていますね。

それ以外にもPython-Gtkで作られたGetting Things GNOMEやタスク管理というよりはプロジェクト管理に近いGNOME Plannerなんてのもあります。プロプライエタリではあるもの,UbuntuソフトウェアセンターからはNitroというツールもインストールできますし,サーバー向けだとhordeといった「グループウェア」がタスク管理ツール機能も持っています。

ただどれも一長一短というか,機能が足りなかったり,多すぎたり,開発が止まっていたり,モバイルとの連携がなかったりと,なかなかうまく合うものがありません。特に日々強制的に目にするための機能が欲しいところです。

そこで今回は,改めてTaskwarriorを活用する方向で考えてみます。

コマンドライン向けタスク管理ツール:Taskwarrior

「コマンドライン向け」とか,いきなりWebブラウザーでもスマートフォンでもなくなりましたが,大丈夫です安心してください。後でなんとかします。なんとかしてくれる方を紹介します。

Taskwarriorについては先ほども述べたように第182回第185回を参照してください。当時からだいぶ機能追加や改善が行われていますが,基本的な概念については変わっていません。コマンドラインですべて操作できるタスク管理ツールであること,データはテキストとして保存されるのでいざとなれば直接データファイルを覗くこともできること,ぐらいを把握していれば充分です。

さて,Taskwarriorそのものはデータをローカルディスクに保存します。このため複数のマシン間でタスクを同期したい場合は,第185回での冒頭でも紹介しているようにDropboxや(今は亡きストレージサービスのほうの)Ubuntu Oneといった外部サービスを使う必要がありました。この場合,ちゃんと同期できるかどうか,どの版が最新版として扱われるかは外部サービスに依存し,Taskwarrior側からは管理できないという難点があります。さらにサービスによっては,公序良俗に反するタスクを追加したらアカウントが凍結されるリスクも存在します。よって人間の欲望の限界に日々挑戦している戦士の方にはこの方法は厳しいかもしれません。

そこで出てくるのがTaskwarrior専用のサーバーであるTaskserverです。Taskwarriorのシンプルなデータ構造はそのままに,公開鍵認証を使ったセキュアなデータ通信や,マルチグループ・マルチユーザー対応といった基本的な要素は押さえたタスク管理サーバーとなっています。Taskserver対応のウェブサービスやAndroidアプリも出て来ていますので,「Webブラウザーやスマートフォン」でタスク管理できる,というわけです。

Taskwarriorをインストールする

実は今回の目的のためにTaskwarriorをインストールしなくてもかまいません。ただTaskserverのテストにはクライアントがあったほうが便利なので,手順だけ紹介しておきます。特にいらない場合は,次の「Taskserverをインストールする」まで読み飛ばしても問題ありません。

さて,Taskwarriorそのものは「task」というパッケージ名でリポジトリに存在するため,aptコマンドでインストール可能です。ただ,ここでインストールできるバージョンはUbuntu 14.04 LTSだと2.2,14.10以降が2.3になっています注2)。

注2)
以前はPPAが存在したのですが,2.1以降はアップデートされていません。公式PPAを用意しようという話もあるにはあるのですが,作業は進んでいないようです。

Taskserverの現行バージョンである1.0はTaskwarrior 2.3と同時期にリリースされた関係上,Taskserverと一緒に使うなら2.3以降が欲しいところです。そこで,せっかくなので2015年の1月1日にリリースされたばかりの2.4をビルドしてインストールする方法を紹介しておきましょう注3)。

注3)
brewでは最新版が用意されているので,OS Xを愛用しているUbuntuユーザーの皆さまは,クライアントについてはbrewでインストールすると良いでしょう。
$ mkdir task && cd $_
$ curl -LO http://taskwarrior.org/download/task-2.4.0.tar.gz
$ tar xvf task-2.4.0.tar.gz
$ cd task-2.4.0
$ sudo apt install build-essential cmake uuid-dev libgnutls-dev
$ cmake -DCMAKE_BUILD_TYPE=release .
$ make
$ sudo make install

これだけです。インストールできたらtask addやtask listが正しく動いているかどうか確認しましょう。とりあえず動作確認のために,適当なタスクを一気呵成にうぉりゃーっと追加しておきます。

$ task add スクフェスをはじめる project:目標
$ task add スクフェス用のスマホを用意する
$ task add スクフェスをインストールする
$ task add 今年中にランクを100まであげる
$ task 1 modify depends:2-4 due:eoy
$ task 2-4 modify project:目標

$ task add Recipeをコンスタントに執筆する project:目標
$ task add 毎月Recipeを執筆する due:eom recur:monthly until:eoy
$ task add RecipeSnappyネタを執筆する
$ task add RecipeMakeネタを執筆する
$ task add RecipeClickネタを執筆する
$ task 5 modify depends:6-9 due:eoy
$ task 6-9 modify project:目標

$ task add 挨拶はチキン亭 +標語 until:eoy
$ task add なるべく妖怪のせいにしない +標語 until:eoy
$ task add よく寝て,よく眠る +標語 until:eoy
$ task add 悩んだら牛乳に相談! +標語 until:eoy
$ task add なせば大抵なんとかならないかもしれない +標語 until:eoy

何をどう設定しているかはなんとなくわかってもらえるのではないでしょうか。ちなみに今年の目標は「目標」というプロジェクトにすべて親タスクとして追加し,その目標を実現するために必要なタスクに依存させるようにしています。子タスクをすべて完了にできれば,目標達成というわけです。

ちなみにTaskwarrior 2.4では,ISO-8601形式の日時表記やeoy(End of this year)のような単語も対応しています。これにより特定の時刻に始まるタスクなども設定できるようになりました。

$ task add 健康診断@部室 scheduled:2015-04-10T11:00 due:scheduled+1hour

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入