Ubuntu 10.10でGrowl::Anyを使うまでの手順

Net::DBusを入れるまでの道のり


  • @mattn さんの作った Growl::Any でなんかつくりたくなって、Linux (Ubuntu 10.10)で使えないかと思ってソースみたら、 Net::DBus を使ってる Desktop::Notify に対応してることがわかったので、せっかくだからインストールしてみようということで、Ubuntu 10.10でperl-5.12.2 on perlbrewな環境で、Growl::Anyを使えるようにするまでの道のりをまとめてみる

環境

OS:     Ubuntu 10.10 Japanese Remix (32bit)
Perl:   perl-5.12.2 on perlbrew
CPAN:   cpanm

Net::DBus のインストール

まず、Net::DBusをコンパイルするにはDBusのヘッダが必要なので、Ubuntuソフトウェアセンターか、apt-get、あるいはaptitudeで、libdbus-1-devを入れます。

で、これでNet::DBusがコンパイルできるかと思いきや、Net::DBusがrequireしているXML::TwigXML::Parserを要求していて、さらにそのXML::Parserexpatのヘッダを要求するので、libexpat1-devをこれまたインストールします。

これでXML::Parserがインストール可能となり、同時にXML::Twigもインストール可能となるので、あとは端末で適当に、

$ cpanm -v Net::DBus

すればNet::DBusがインストールされます。

Desktop::Notifyのインストール

次にGrowl::Anyが使ってるDesktop::Notifyをインストールします。

これは特につまらずに、

$ cpanm -v Desktop::Notify

すれはOK

Growl::Anyのインストール

これで下準備は整ったので、cpanmを使って、

$ cpanm -v Growl::Any

すれはGrowl::Anyがインストールされます。

ということで作業は終了

以上でGrowl::Anyのインストール作業は終了です。

あとは、適当なスクリプトで、

#!/usr/bin/env perl

use strict;
use warnings;

use Growl::Any;

my $growl = Growl::Any->new;
$growl->register('MyApp',   'tweet'  );
$growl->notify('tweet', 'My Title', 'hello word!');

1;

って感じでコードを書けば、DBusのnotifyを使って通知がきます。

さらに嬉しいことに、Growl::AnyはWindowsとかMacとかLinuxとかの通知環境を抽象化してくれるので、スクリプトに環境依存なコードが含まれていない限り、他の環境でも問題なく動作させることができます。

まあGrowl::Any使って何作るかは考えてませんでしたが、これでGrowl::Anyを使う環境は整ったので、また気が向けば何かを作って公開したいかと思います。

つーわけでGrowl::Anyをインストールするための手順でした。

#使い方 - #Perl - #2010-12 #2010-12-09

nyarla が大体

Scrapbox でコメントや意見を書く