メニュー 蕭寥亭 検索

開店休業の記

Ubuntu 12.04 + RC-S320 で gsuica

 主用のデスクトップ機のOSを Windows から Ubuntu へ変更してから約1年、当初は Windows でないと何かと苦労することになるだろうなと思っていたのですが、今のところ自分でもびっくりするくらい不自由していません。意外とイケるもんだな。

 もっとも何もかも問題なしというわけにはいきません。テレビ視聴機能の地デジ移行はメドが立っていないし、MS OFFICE はないし(笑・個人で使う分には LibreOffice で間に合うのですが、仕事がらみで必要になる時があるんです)。

 逆に期待していなかったのに可能だったのが PASMO の利用履歴取得。Windows では対応するICカードリーダー(ウチではソニーの PaSoRi RC-S320 を使っています)があれば SFCard Viewer というソフトウェアでできますが、Linux では需要が少ないだろうしICカードリーダーなんていうあまり一般的ではない機器が必要なのでないと思っていたのですが、ありました。それが gsuica です。Ruby で書かれたプログラムです。名前からすると、本来はJR東日本の電子乗車カード Suica 用ですが、PASMO でも使えます。

 Ubuntu 11.04 の時から愛用していまして、この前 12.04 にアップデートした時も早速使おうとしたら、環境作る手順をすっかり忘れていて起動までに数時間・・・。

 次回移行のためにここに手順をメモしときます。


 gsuica のサイトを見ると動作環境としては GNOME となっていますが、現行 Ubuntu の Unity でも動いています。RC-S320 以外でも動くかは不明。

 必要なパッケージはまず Ruby 。わたしは 1.9 系を使っています。あとコンパイルも必要なので build-essential やライブラリも。多分(あいまいで申し訳ありませんが)、下記のパッケージが必要です。


   ruby1.9.1

   ruby1.9.1-dev

   build-essential

   ✕ libgtk2.0-dev ← 不要でした(2013年6月22日追記)

   libusb-dev


 ✕ それと Ruby の方で必要になるライブラリを gem でインストール。


   ✕ $ sudo gem install gtk2 ← 不要でした(2013年6月22日追記)


 これらをインストールしたら、今度は gsuica 本体及び gsuica の動作に必要なライブラリ libpafe と libpafe-ruby をダウンロード。

 libpafe については debian パッケージもあるのですが、Ubuntu ではうまくインストールできないようなので(これで時間食った)、ソースの方をお勧めします。

 それからコンパイル・インストール。方法はサイトやソースに添付された README のとおりにすればよいのですが、必ず libpafe → libpafe-ruby の順にすること。

 ここまで準備して、ようやく gsuica が使えるようになります。


   $ ruby gsuica


 ここで「/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': libpafe.so.0: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません」というエラーが出たら、libpafe.so.0 がちゃんとコンパイルされているか確認。コンパイルされているのにエラーが出る場合は、libpafe.so.0 が認識されていないので ldconfig コマンドを使って共有ライブラリキャッシュを更新します。


   $ sudo ldconfig


 また、「データの読込に失敗しました。can't open Pasori」とか言われたら、ICカードリーダーを一旦外してから接続し直してから再度 gsuica を起動してみましょう。うまく動くようになるかもしれません(ウチではそれで動いた)。


 成功すれば、こんな画面が。

gsuica