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::Twig
がXML::Parser
を要求していて、さらにそのXML::Parser
がexpat
のヘッダを要求するので、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