そもの原因は、今まで使っていたルータが壊れたんだが、2009年の始めにルータを買い替えた話が書いてないので、それもそもそも存在せず。今使ってるルータは、NEC Aterm WR8500N というものにした。もう一つ、Buffalo BHR-4RV も買ったんだが、それは外側からのポーロフォワーディングがどうやっても駄目だったので、交換する時間が無かったのも手伝って、それは内側からネットをつなぐことはできるので、バックアップとして取っておいて、WR8500N でつなげることにした。
WR8500N は、以前からNEC のルータで発生するらしいNAT テーブルが溢れる問題を解決したものらしく、特に問題はなさそうだ。自分は今までNEC のルータを使ったことは無いのだが。実際自分が設定したこのルータは、特に問題が発生していない。
自分の部屋は隣にセントラルヒーティング用のボイラーがあるんだが、それが夏は夜に止まるので問題無いのだが、冬は夜中も付けっぱなしになるのでとにかくうるさい。そこでノイズキャンセラー付きのヘッドフォンを買おうと思ったんだが、Sony のウォークマンが良い感じなので買う。Sony 信者うぜぇと言われるかも知れないが、新しいウォークマンはハードの出来がかなり良い。自分が買ったのは、A845 というデジタル式ノイズキャンセラーのもので一番安いものを選ぶ。ビックカメラ有楽町で、デジタルのものと従来のものを比較したんだが、デジタルのものはかなり綺麗に音が消える。
x-アプリという微妙な名前のiTunes みたいな奴を使わなくても良いんだが、使わないとプレイリストとポッドキャスト、それとmp3 の画像の編集ができない。まぁドラッグアンドドロップでmp3 をそのまま再生できるのでそれでも良いんだが、プレイリストを編集しないと結構だるい時がある。それと、x-アプリだと登録できないmp4 形式のビデオも、ドラッグアンドドロップで再生できたりするので、x-アプリに完全に依存できないという仕様。相変わらずソフトが糞。mp4 形式は、Craving Explorer ってので簡単にできるし、mp3 にもできる。ぶっちゃけx-アプリ以外でプレイリストとmp3 に画像を埋め込むのができれば、x-アプリは使いたくないなぁ。なんか微妙に重いし。
x-アプリは、恐らくDB だと思うんだが、それを構築/更新する時にやたらとHDD をガリガリするので、精神衛生上良くない。なんとかx-アプリを使わないでなんとかならないものかと調べてみたんだが。と思ったんだが、どうもx-アプリをずっと立ち上げてるとガリガリするので、メモリなんだろうか、良く解らん。
結局やりたいことは、podcast の自動取得と自動転送、それとmp3 に画像を埋め込むくらいのものなので、実際x-アプリを使わなくても良さそうなもんなんだが、そういったものを一つでできる統合ソフトウェアみたいなものは出ていないんだよね。I氏のつぼというのは割と良さそうなんだが、シェアウェアなので今回はパス。
まずやりたかったことは、Rhythmbox がPodcast から何からまとめて動く上に割と安定してるっぽいので使うことにしたんだが、Rythembox だけだとmp3 が聴けない。それには、DAG(ややこしいんだがrpmforgeとも言う) というEPEL よりもパッケージが沢山有る(けどあんまし信用できない)リポジトリを追加する必要がある。下記のrpm は、現時点で最新のものを指定しているが、DAG のリンク先に行って最新の物を使えば良いだろう。
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/ rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm # vi /etc/yum.repo.d/rpmforge.repo enable=1 # yum check-update
# yum install gstreamer-plugins-ugly libdvdread.so 3()(64bit) is needed by package gstreamer-plugins-ugly (rpmforge)
しかしlibdvdread は既にインストールしているんだが。何故見に行かないんだと思ったんだが、ここを見ると、yum のpriority を設定し、yum でインストールする時に、DAG をepel より先にすることで解決できるかも知れないらしい。
was: epel priority=20 rpmforge priority=30 is: epel priority=30 rpmforge priority=20
# vi /etc/yum.repo.d/epel.repo enable=0 # yum remove libdvdread # yum clean all # yum install libdvdread # yum install gstreamer-plugins-ugly
これでmp3 が再生できるようになった。gstreamer-plugins-bad ってのも有るんだけど、どっちが良いのか解らん。ugly のほうが人気があるっぽいので使ってみたんだが、bad とugly の違いが解らんので、まぁどっちでも良いのかも知れない。結局yum の挙動の問題なんだが、まぁpriority を自分で設定できるしまだマシか。基本的にdisable にして、必要な時だけenable にするという運用方法でも良いんだが、それでもこの問題は避けられなかったし的外れだよな。disable にするかどうかは、アップデートする時の問題であって、libdvdread をDL した時にepel を使わないように一々指定するかどうかの話し。
引き続きRhythmbox を弄ってるんだが、Rhythmbox-client という、コマンドラインで動作するものが有るので、それとcrontab を組み合わせてラジオを朝流すようにできるのか試してみる。コマンドはここ。ただ、何故かstream を巧く受信出来ないんだよねこれ。まぁ別に無くても良いけど。
Rhythmbox は、少なくともpodcast は再生できる。最新のpodcast を確認すると勝手にDL する"はず"なので、特に手動でDL をする必要は無いと思う。だけど、この日記を書いてる段階だと確認できないので、もし駄目だった追記しようと思う。
# rhythmbox-client --play-uri=http://downloads.bbc.co.uk/podcasts/worldservice/globalnews/rss.xml # rhythmbox-client --play
ただし、crontab で運用するためにシェルスクリプトを書くと、ちょっと話しが変わってくる。Rhythmbox を別のシェルで起動している状態で、シェルスクリプトを実行するとハングアップする時があるかも知れない。その場合は、--no-present を--play-uri= の前に追加すると解決するかも知れない。検索したけど、余りこのコマンドについて詳しく説明しているサイトが無いので、これで合ってるのかどうか良く解らんのだけど。あと、sleep も3秒入れておくと、play が早すぎる時でも大丈夫。それともしVNC で普段ログインしてるんだけど、シェルスクリプトを再生するときにssh でログインして、とかで問題になる時は、export DISPLAY=:1.0 && rhythmbox --play とかすると解決する可能性がある。あとexport DBUS_SESSION_BUS_ADDRESS とかも指定すると良いかも知れない。そこらへんの詳しい話しはここにある。あと、ここ。このサイトに沿ってスクリプトを組むとちゃんと動いた。
# /bin/bash PID=$(pgrep -u $LOGNAME -o -x rhythmbox) if [ -n $PID ] ; then PID=$(pgrep -u $LOGNAME -o -x notification-da) fi DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ 2>/dev/null` export $DBUS_SESSION_BUS_ADDRESS rhythmbox-client --play-uri=http://downloads.bbc.co.uk/podcasts/worldservice/globalnews/rss.xml sleep 3 rhythmbox-client --play
最近はスピーカーを100個とか200個とか並べるのが流行っているんだが、実際聴いてみると効果は薄かったりするように思える。まともに鳴る100個のスピーカーは金が掛かりすぎるし、かといって予算の都合でしょぼいスピーカーが100個有っても、あんまし意味無いという、結局良い奴8個使えばちゃんと音は回るんじゃないか、と。そうすると今度はぶっちゃけ良いヘッドフォンで十分ぐるぐる回るので、じゃぁヘッドフォンで良いじゃんってなるので、わざわざでかい会場を用意する理由が必要になるんだが。
EU 圏内を移動するには、格安バスか飛行機の安いチケットを探すか、もしくは金払うヒッチハイクのようなものが良いんだが、そうそう自分の好きな場所と時間に行ける訳ではない。そういう場合、結局電車を使うことになるんだが、オランダ国内やドイツに行くなら、ほとんど電車になるだろう。オランダに行く格安の飛行機会社というのは少なくて、Ryan Air やEasyJet のようなものがない。両方ともイギリスの航空会社なんだが、イギリス安くて良いなぁ。大陸に移動するにはフランス経由か飛行機しか駄目だからかな。まぁ船も有るけどあんまし一般的じゃないっぽい。
電車でも格安のチケットを使えば、早朝+早めの予約でかなり安くなる。ドイツに行く場合、Hispeed を使うかDB かどっちかだと思うんだが、普通はHispeed のほうが安いと思う。Hispeed を使うときに、通常の割引きから、更にNS のKortingsKaart + Railplus を使うことでそこから40%引きになる。例えばDen Haag Centraal からFrankfurt Messe までだと通常116Euro なんだが、早朝+早めの予約で、49Euro まで下がる。そこから更にKortingsKaart + Railplus で39Euro になるので、オランダから予約した方が遥かに安い。ちなみにDB だと113 Euro なんだが、ICE を使わない場合は、乗り放題チケットがあるので、それを使えば値段は余り変わらないかも知れない。Hispeed の早めの予約は、大体一週間くらい前までに、指定の座席が売り切れなければ最大限の割引きが使えるので、まぁ二週間くらい前にチケットを買うようにすれば良いだろう。
引き続き23日の続き。漸く出来るようになったんだが、道のりは長かった。しかも結局やったことは超簡単なんだが、まぁそんなもんだよね。
引き続き以下のエラーから始める訳だが、実際このエラーに騙されてはいけない。いや、このエラーがヒントにはなるんだが、ここでdbus が原因だと錯覚してはいけない。そもそもRhythmbox が動いてる段階で、dbus は正常に動いているはず。
Failed to execute dbus-launch to autolaunch D-Bus session
という訳で原因の切り分けのために、シェルスクリプトで動くのかどうか試したところ、ssh 経由のコンソールだと動かないので、恐らくディスプレイ経由のコンソールだと動くけど、cron なりssh 経由だと動かないと見た。Display が原因じゃないかとssh 経由のコンソールで色々弄っていると以下のエラーが出てくる。
Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server
と違うエラーが出たので、何で拒絶されるんだと思い調べてみると、ここに回答が。"root で XDarwin を起動、あるいはすごく変な状況下が原因となります。" ということで、冷静に考えてみると、普段色々弄っているのは、root でやっているんだが、VNC にログインする時は一般ユーザで入って、コンソールでroot になって作業していた訳で、VNC のディスプレイに接続しようとしても、一般ユーザで入ってるのにroot で接続しようとしていた、という非常に間抜けな結果だった。ということで、rhythmbox を一般ユーザで起動して、ssh から一般ユーザでディスプレイを指定して起動するとあっさり動いた。
Could not open audio device for playback
これで調べると、ここを見るとLinux のバグらしく、とりあえずハードウェアごと再起動してみ、ということなので大人しくサクッと再起動すると音が鳴るようになった。
元々昔は音が鳴っていたのに、何で急に鳴らなくなったんだろうと思ったら、結論としては起動するユーザを間違えていただけ、というだけだったんだが、ものすごい時間が掛かったな。こうして文章にすると結構サクッと結論に辿り着いてる感があるけど、実際はこの何倍も行ったり来たりしてる訳で、自分はまだまだだなぁ、と感じる。
追記: 音量も時間によって調節することにした。以下のようにcrontab に追加すれば良いだろう。コマンドを見れば解るが、rhythmbox の音量を調節している訳ではないので注意。というか、rhyhtmbox-client には音量を調節するコマンドが無い。
$ crontab -e 0 1 * * * amixer set Master 80% > /dev/null 55 8 * * * amixer set Master 100% > /dev/null
去年全く日記を書いてなかったんだが、実は去年の頭にMacbook を購入していて、今も結構使ってるんだが。このMac は今では一世代前の"新Macbook" で、Firewire が無いモデル。今売ってる奴は復活してるんだよなぁ、まぁ元々Firewire 持ってないから良いけど。スペックは以下な感じ。
CPU: Intel Core 2 Duo 2.0 GHz Mem: 2 GB (two 1 GB) VGA: NVIDIA GeForce 9400M with 256 MB 13.3" 280 x 800 LED panel