Ubuntu Weekly Recipe

第214回 春休み特別企画・赤外線リモコンを使う,あるいは「Ubuntu魔法使い」になる方法

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

irexecデーモンの自動起動設定

そして仕上げとして,デスクトップ環境を使っている際にリモコンのボタンが押されるのを監視する,irexecデーモンを自動起動するように設定します。右上の設定アイコンから「自動起動するアプリケーション...」を選択し,⁠追加(A)」ボタンを押して自動起動するアプリケーションを追加します。

図5 irexecデーモンを自動起動するために設定画面を開く

図5 irexecデーモンを自動起動するために設定画面を開く

名前や説明については後で見返したときに分かりやすい内容を,コマンドについては"irexec -d"と入力します。

図6 irexecを自動起動するように設定する

図6 irexecを自動起動するように設定する

そしてきちんと自動起動するよう,チェックが入っていることを確認し,設定画面を閉じます。

図7 irexecデーモンを自動起動させる

図7 irexecデーモンを自動起動させる

irexecの自動起動設定が終わったら,端末から次のコマンドを打ち込み,irexecデーモンを起動するか,一旦ログインしなおします。

$ irexec -d

Bansheeでのリモコン生活

これでようやくBansheeでリモコンを使うことができるようになりました。曲送り,ボリューム調整,再生,停止といった必要最小限の機能だけですが,お風呂あがりにリモコン片手にBansheeに入れておいたお気に入りの曲を流しなら優雅に『Software Design』を読むことができるようになりました。今までの作業量からするとちょっと報われない状況ですが,今後のBansheeエクステンション側での機能拡張に期待したいところです。

なお,Ubuntuでパッケージが用意されているアプリケーションのうちBanshee以外にもlircに対応しているものがありますので,様々な設定をしてみたり,lirc対応していないものでもirexecを使って工夫し,快適Ubuntuライフを楽しんでみてください。

Ubuntuで君も魔法使いになろう

と,ここまで紹介してきた内容は壮大な前ふりで,この記事の本当の目的はタイトルのとおり,読者の皆さんをUbuntu魔法使いにすることです。しかしながらハッカー文化の文脈で言われる熟達者の称号「ウィザード」を簡単に得るのはさすがに無理があるため,おすすめの素敵アイテムを紹介します。

そう,昨年話題になりましたカイミラの魔法の杖です。

図8 魔法使いになるための必須アイテム「カイミラの魔法の杖」

図8 魔法使いになるための必須アイテム「カイミラの魔法の杖」

この杖は単なるおもちゃのように見えて,実は13種類のジェスチャで操作する学習型のリモコン製品です。ここまで言ってしまうと次の展開はすでに見えているかもしれませんが,いままで設定してきたGV-MC7/RCKITのリモコン信号をカイミラ杖に学習させて,この杖を振ることによってUbuntuを操作しようといういうものです。

ここまで記事を読んでくださった方は多分GV-MC7/RCKITのリモコンをうまく扱えているはずですので,あとは,杖を「学習モード」にして,先ほど設定したボタンを杖に学習させるだけです。これであなたもUbuntu魔法使いにジョブチェンジできます。

杖の使用にあたっては正しいジェスチャを出せるように練習が必要ですので,杖にリモコン信号を学習させる前に練習モードでジェスチャの練習をしておきましょう。

最終兵器・汎用リモコン

そのようなわけでUbuntu魔法使いになれたわけですが,今回はGV-MC7/RCKITの利用を前提にしています。もしかしたら,このリモコンを入手できない方もいるかもしれません。そのような場合に最終兵器として使えるものが「汎用リモコン」と呼ばれる製品です。

汎用リモコンは国内の主要メーカーのリモコンの信号が製品の中に入っていて,リモコンの設定を変えることで各社のメーカーのリモコンの代わりや2台目,3台目のリモコンとして使うための製品です。この製品をGV-MC7/RCKITのリモコンの代わりに設定してみましょう。

今回は近くの電気屋さんに行き,一番お手頃価格だったELPAかんたんリモコン RC-29Dを調達してきました。

図9 リモコン信号(魔法)のネタ元として使う汎用リモコン「ELPAかんたんリモコン RC-29D」

図9 リモコン信号(魔法)のネタ元として使う汎用リモコン「ELPAかんたんリモコン RC-29D」

国内の家電用のリモコン信号はメーカー毎に細部の仕様が違うのですが,大きく分類すると次の3つに分けられます。

  • NECフォーマット
  • 家製協フォーマット
  • SONYフォーマット

このうち,NECフォーマットとSONYフォーマットについては,カーネルモジュールが用意されています。台数的にはNECフォーマットのものが多いようですので,汎用リモコンをNECに設定して作ります。

まずは製品マニュアルを読んで,メーカーコード2511を設定します。また,NECフォーマットの設定ファイルのひな型は/usr/share/lirc/remote/generic/NEC.confに用意されています。そこで,作業ディレクトリを作りコピーします。

$ mkdir elpa_nec
$ cd elpa_nec
$ cp /usr/share/lirc/remote/generic/NEC.conf ELPA_NEC_2511

そして,irrecordコマンドを使い,ひな型設定ファイルをもとにリモコン信号を読み込んで学習(といっても設定ファイルを作ってくれるという形なのですが)させます。このときにirrecordコマンドとlircが競合するので,一時的にlircサービスを停止させた上でirrecordコマンドを実行します。

$ sudo service lirc stop
 * Stopping remote control daemon(s): LIRC                               [ OK ]
$ sudo irrecord -n -d /dev/lirc0 ELPA_NEC_2511

irrecord -  application for recording IR-codes for usage with lirc

Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)

This program will record the signals from your remote control
and create a config file for lircd.

(メッセージ中略)
Please send the finished config files to <lirc@bartelmus.de> so that I
can make them available to others. Don't forget to put all information
that you can get about the remote control in the header of the file.

Press RETURN to continue.
(RETURNキーを押して続行するよう促されるので指示に従います) 

Now enter the names for the buttons.

Please enter the name for the next button (press <ENTER> to finish recording)
KEY_POWER
(リモコンのボタンの名前を決めて入力します。何も入れずにENTERキーを押すと終了します)

Now hold down button "KEY_POWER".
(ここでリモコンのボタンを押して信号を学習させます)

Please enter the name for the next button (press <ENTER> to finish recording)
(以下,すべてのボタンについて繰り返します)

irrecordコマンドを終了させると,テンプレートとして使用したファイルに'.conf'がついたファイル名で設定ファイルが作成されます。エディタでひととおり内容を確認した上でGV-MC7/RCKITのときと同じようにlircの設定を編集します。

$ nano ELPA_NEC_2511.conf
(内容の確認と必要であれば修正を行います。特にnameのところとボタン名を確認してください)
$ sudo cp ELPA_NEC_2511.conf /etc/lirc/elpa_nec_2511.conf
$ sudo nano /etc/lirc/lircd.conf

基本的に同じリモコンの信号を複数のリモコンで使っていて混乱する可能性がないのであれば複数のリモコンの設定を有効にしてもよいのですが,念のため使用しないリモコンのinclude行は"#"でコメントアウトしておくと安心できるでしょう。

#Configuration for the Windows Media Center Transceivers/Remotes (all) remote:
#include "/usr/share/lirc/remotes/mceusb/lircd.conf.mceusb"

#Configuration for the IO-DATA GV-MC7/RCKIT remote controller:
#include "/etc/lirc/gvmc7_rckit.conf"

#Configuration for the ELPA RC-29D NEC#2511 format:
include "/etc/lirc/elpa_nec_2511.conf"

上記のように設定を変更し,ircサービスを再起動します。うまく設定ができるとirwコマンドやirexecで取り扱うことができるようになりますので,~/.lirc/bansheeを編集し,必要な設定を行ってください(ボタンの名前やリモコン名は適宜読み替えてください)⁠なお,この設定ファイル(elpa_nec_2511.conf)も用意しましたので,参考にしていただければと思います。

汎用リモコンでUbuntu上のBansheeを操作できるようになったら,同じようにカイミラ杖に学習させることで,杖でのUbuntu操作ができるようになります。

魔法使いになったら

余談ですが,汎用リモコンには各社のリモコンの信号が入っているため,メーカーコードを何らかの手段で控えておいて物影や舞台裏でカイミラ杖にリモコン信号を学習させることによって様々なメーカーの機器を杖で操作することができます。ホームパーティや実家や親戚の家などに呼ばれたときに,汎用リモコンからカイミラ杖にリモコン信号を学習させてテレビなどを杖で操作すると驚かれるのではないかと思います。

もちろん皆さんは「正義のUbuntu魔法使い」なのですから,電気屋さんでリモコンテロなどなさらないようにくれぐれも気をつけてください。

著者プロフィール

長南浩(ちょうなんひろし)

Ubuntu Japanese Team Member。第214回の記事がきっかけで,Software Designに記事を書かせていただくようになりました。Japanese Raspberry Pi User Groupでも活動し,「Raspberry Pi[実用]入門――手のひらサイズのARM/Linuxコンピュータを満喫!」の執筆にも参加させていただきました。

コメント

コメントの記入