@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

= OSX Lionでmikutterを

[2011-12-14 21:18:59]

Macでmikutterが一応使えてるので,まとめてみました.ついでにmikutter advent calendarの記事にします.2011-12-01 - メモ用紙の裏

このシリーズを多いに参考にさせていただきました.Mac OS X Lionでmikutterを動かす① .というかマルパクリ作業メモです.

だいたいの流れ,

  • MacPortsいれる
  • rb-gtk2いれる
  • gtk入れる
  • ruby1.9系を入れる
  • mikutter持ってくる
  • mozc入れる
  • 音ならす

MacPortsいれる

The MacPorts Project -- Download & Installation のLionってリンクからMacPorts-2.0.3-10.7-Lion.dmgを落とす.
指示に従ってインストール.
PATHが変わるので,ターミナルを既に開いてたら再起動してください.portコマンドが見つかりませんでしたわ.

rb-gtk2いれる

ターミナルで以下のコマンドを実行するとrb-gtk2とそれに伴ってruby(1.8系)が入ります.このrubyはあとでどっかやります.
MacPorts入れたてやとめっちゃ時間かかります.数時間見た方がいいと思います.

% sudo port install rb-gtk2

途中javacいれてもいいか?って聞いてきます.しゃーなしでInstall押しましょう.
途中Python27のactivateに失敗するエラーが出たので,指示通り強制的にactivateしました.そんでrb-gtk2のインストールを再開.

% sudo port -f activate python27
% sudo port select --set python python27
% sudo port install rb-gtk2

ruby1.9系を入れる

ruby1.8をどっかやってruby1.9系を入れます.+nosuffixつけるんで,ruby19じゃなくて直接rubyruby1.9を呼べるようになります.1.8とかもういいよね?そこまで詳しくないし.

% sudo port install ruby19 +nosuffix
% sudo port -f activate ruby19
% gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.11
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-darwin11]
  - INSTALLATION DIRECTORY: /opt/local/lib/ruby1.9/gems/1.9.1
  - RUBY EXECUTABLE: /opt/local/bin/ruby
  - EXECUTABLE DIRECTORY: /opt/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /opt/local/lib/ruby1.9/gems/1.9.1
     - /Users/peccu/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

こんな感じに1.9とか/optじゃないところを指してたりしたら,hash -rとかターミナル再起動とかやってみてください.

mikutter持ってくる

なぜかgitじゃなくてsvnです.なぜかgitじゃなくてsvnです.大事なことなので(ry

% mkdir ~/repo
% cd ~/repo
% svn co svn://toshia.dip.jp/mikutter/trunk mikutter

ここで起動するか確かめてみます.

% cd ~/repo/mikutter
% ruby mikutter.rb

なんかコード入れろって画面が出てきたら成功ですが多分でないので次へ進む.

gtk入れる

上ので実行できてたらここはいらんと思います.

% sudo gem install gtk2

これで起動できるようになりました.

$ ruby mikutter.rb 
/Users/peccu/.emacs.d/git/mikutter/core/mui/gtk_extension.rb: line 130
   Gtk-CRITICAL **:void gtk_box_pack(GtkBox *, GtkWidget *, gboolean, gboolean, guint, GtkPackType): assertion `child->parent == NULL' failed
/Users/peccu/.emacs.d/git/mikutter/core/mui/gtk_extension.rb: line 130
   Gtk-CRITICAL **:void gtk_box_pack(GtkBox *, GtkWidget *, gboolean, gboolean, guint, GtkPackType): assertion `child->parent == NULL' failed
{:model=>User, :id=>nil, :count=>2}

こんな感じのこと言ってますが起動しました.私の場合は一度落ちて,うまくいかなくてMacを終了させて一晩寝かしたら動きました.

mozc入れる

X11で動いてるmikutterは日本語入力ができないので,X11用の日本語入力ソフトを入れます.気分でmozcにしました.
まずmozcをX11で動かすためのMacUIMを入れて,そのあとmozc入れます.

まずMacUIMを macuim - Input Method for Mac OS X - Google Project Hosting の左の方にあるMacUIM-0.6.12-3.dmgってリンクからダウンロードしてインストールします.

勝手に再ログインするみたいですね.
システム環境設定にMacUIMが出現します.

GeneralタブのInputMethodからmozc(ja)を選びましょう.

OS起動時の環境変数の設定を追加.environment.plistが既にある方は下にある内容をの中に追記してください.

% mkdir ~/.MacOSX
% cd ~/.MacOSX
% curl -O https://raw.github.com/gist/1485762/38f57b7a8aad1c58fe75ddfa0e60e1482503cb6b/environment.plist

すでにenvironment.plistが存在してるならこれを追記.

<key>LANG</key>
<string>ja_JP.UTF-8</string>
<key>GTK_IM_MODULE</key>
<string>uim</string>
<key>XMODIFIERS</key>
<string>@im=uim</string>

ここで再ログインしてください.もしかしたら再起動しないといけないかも.この辺はちょっとわからない.

そんであとはエイリアスでも書けば日本語入力できると思います.
uimをバックグラウンドに起動するのと,mikutterを起動するのを同時にやります.

alias mikutter='/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim&;ruby ~/repo/mikutter/mikutter.rb&'

もしうまくいかなかったらシステム環境設定のMacUIMでヘルパーを表示してみたり,uimタブの全体設定から使用可能にする入力方式にMozcが入ってるか確認したりいろいろいじってみてください.

ちなみに,ヘルパーを使ってる時は,Macを起動するとメニューバーに[?]って表示されてて,X11が起動すると[Mz|?|R]になって,mikutterの入力フォームでシフトスペース押すと[Mz|あ|R]になって日本語入力できます.

mikutter起動して,つぶやくところでシフト-スペース押したらメニューバーのマークが変わったりして日本語入力できるようになると思います.

音ならす

あとは音ならす話ね.
aplayってコマンドで音ならしてるみたいやけど,Lionにはないからafplayって書き換えるだけ.

~/repo/mikutter/core/addon/alsa/alsa.rb内のaplayをafplayに置き換えます.オプションも一つ減ります.

--- core/addon/alsa/alsa.rb	2011-12-15 02:37:54.000000000 +0900
+++ core/addon/alsa/alsa.rb-	2011-12-16 21:26:34.000000000 +0900
@@ -3,10 +3,10 @@
 
 Module.new do
 
-  if command_exist? "aplay"
+  if command_exist? "afplay"
     Plugin::create(:alsa).add_event(:play_sound){ |filename, &stop|
       SerialThread.new {
-        bg_system("aplay","-q", filename) if FileTest.exist?(filename) }
+        bg_system("afplay", filename) if FileTest.exist?(filename) }
       stop.call } end
 
 end

起動し直して,ネギのタブが設定で,その通知タブに音声を選ぶところがあるので,ふぁぼられたときのサウンドを選びましょう.
そんでふぁぼれよってつぶやけばふぁぼってくれると思うんですが,そううまくもいかないのがpeccuです.

こんなかんじです.ながながとおつきあいありがとうございました.
わからなかったら@toshi_aさんとか@pecculとかに聞いてみてください.