Ruby言語やLinuxのネタが多いです。
February 12, 2002
■ [Palm] 会社のMS Windows2000でCLIE(PEG-N750C相当(^^;))をsync
すげーはまった。PEG-N700Cの環境を残したままPEG-N750C用にCLIE付属ソフトをアップグレードしたのがまずかった。
初めてSyncした時、なぜか途中でエラー終了してしまう。
その状態でもなんとかブート(というんだろうか?)はするんだけどホーム画面が表示されない。はたまたSyncボタンも利かない。何より部分的にハイレゾになったりならなかったりでめちゃくちゃ動作が不安定。
■ なぜだろうと悩んでハードリセットを繰り返した挙げ句、以前の環境の(CLIEアプリのパス)\Backupフォルダに古いPEG-N700C用のアプリが残っていて、それをPEG-N750C化された本体のアプリを上書きしたのが原因だったことを突き止めた。
■ そんなわけで、(CLIEアプリのパス)\BackupフォルダのアプリでPEG-N750Cと重複しそうなアプリ(*.prcファイル)を全部削除してから再度Syncしたところ無事完了。ふぅ。
■ にしても、標準でMS OutlookとのSyncができるのが良いね。以前は有料のDesk Top To Goというツールを使ってたんだけど、もう使わないで済むとはうれしい限り。
#え?会社ではMS Outlook使ってるって?会社指定なんでしょうがないんです。でも、結構使いやすかったり(^^;)。
■ そうそう、英和・和英辞書も助かる。他にもおまけ(?)アプリ多数。なんか6,300円でこんだけいろいろ入っているのはお買い得感があってマル。
February 12, 2007
■ [Ruby-GNOME2] Ruby-GNOME2 Win32 GUI Installerリリース!
Ruby-GNOME2がWindows環境でもホントに簡単に使うことができるようになりました。RailsやJavascriptに疲れた貴方、気分転換にGUIアプリケーションにチャレンジしてみませんか。おもしろいですよー。
ちなみに、今回のインストーラに含まれるライブラリは、Ruby/GLib2, Ruby/ATK, Ruby/Pango, Ruby/GdkPixbuf2, Ruby/GTK2, Ruby/Libglade2, Ruby/GtkGLExt, Ruby/Libart2, Ruby/GnomeCanvas2, Ruby/GnomePrint2, Ruby/GnomePrintUI2, Ruby/GtkSourceView, Ruby/RSVG2です。
他に、rcairo, glade-2等も入っています。あ、msgmerge/msginit等のRuby-GetText向け開発ツール群も入っていますよん。
GUIアプリケーションに興味がなくても、画像処理、PDF/SVGの処理などでrcairo, RSVG2, GdkPixbuf2等を使ってみるのも楽しいかもしれません。
■ [Ruby-GNOME2] Ruby-GNOME2 Win32 GUI Installer開発ノート
今までもRuby-GNOME2 ProjectではWin32向けのバイナリを提供してきたのですが、GTK2本体を他から提供されるインストーラ(gladewin32.sf.netを推奨)を利用して別途インストールしなければいけなかったため以下のような問題がありました。
- 2回インストール作業しなければいけないのが面倒くさかった。チュートリアルに書いてある手順を読まないと何をどうインストールすれば良いのかわかりづらい、というのは今思えば大きなマイナスポイントだった
- Ruby-GNOME2が期待するGTK2バイナリとgladewin32のGTK2バイナリのバージョン違いが原因でRuby-GNOME2が動作しないことがあった
- 実はWin32版が提供されているライブラリであっても、gladewin32.sf.netがサポートしていないがためにRuby-GNOME2としても提供できないライブラリがあった
- 複数のWin32版GTK2がインストールされている環境では、PATH指定の影響で意図していないバージョンのバイナリを参照してしまい、Ruby-GNOME2が動作しない場合があった(2番目との合わせ技ですね)
そこで、年末から、上記問題を解決すべく作業を始めました。
■ まず、大前提としてGTK2本体を配布パッケージに含めることにしました。これで1, 2番目の問題を解決できます。
次にgladewin32.sf.netが提供するバイナリをベースにftp.gnome.orgで配布されているgtksourceview, libgnomeprint, libgnomeprintui, libgnomecanvasを追加しコンパイルできるところまで持っていきました。これを合わせて配布することで3番目を解決できます。私としてはgtksourceviewがサポートできたというのがポイント高いです。
次にGTK2本体を置く場所ですが、これはruby-install-dir\lib\GTKにしました。c:\GTK等に自由にインストールできるスタイルも考えたのですが、あえて固定し、Ruby-GNOME2ライブラリ側がPATH指定より優先してそのライブラリを読み込むようにしました。これで、4番目の問題を解決できます(ちなみにGTK2はインストールしないこともでき、その場合はPATHに指定されているGTK2を読み込むことになる)。実は、これを見越して、Ruby-GNOME2-0.16.0では上記修正がすでに入っていたりします。
それから、インストーラですが、今まではzip形式を展開し、install.rbを実行するとインストールがCUIベースで始まる、という形態だったのですが、WindowsではGUIインストーラの方が受けが良いと思ったのでNSISを使ってインストーラを作ることにしました。実はこれに時間がかかったのでした。でも、慣れると非常に便利なインストーラですね。オススメです。なお、インストール方法としてgem化も考えたのですがダウンロードしている時間が長くなりそう(配布ファイルが12MB弱ある)だったのでリモートからの直接インストールでgemは向いていないと判断しました。ローカルにダウンロードしてからインストールするのであれば、gemはインストール手順としてはinstall.rbと同じレベルですし(もちろんアンインストールできるところや複数のバージョン云々は違いますが)。また、GTK2が必要とするiconvとOne Click Ruby Installerが提供するiconv.dllの相性が悪いため、Ruby-GNOME2のインストーラではiconv.dllを上書きしているということもあり、gemにしづらいなと思ったのもひとつです。ただ、こちらはPATHの指定をうまくすることで回避できるかもしれません。
あ、そうそう。リリースするファイルを集めたりするための作業をRakefile化したのもポイントです。今までは繰り返し作業でやっていた部分も極力自動にすることで作業を楽にすることに注力しました。これは当たり前のことで頭の中では良く分かっていたことなんですが、今までは手作業でやってしまっていたんですよねぇ。
そんなこんなで今回のリリースにこぎつけたわけです。ぜひとも使ってみてくださいね。
■ [GTK+] Windowsで文字化け
上記の作業をしていて初めて知ったのですが(苦笑)WindowsでGTK+を使うと文字化け(主にトーフになる)する、画像が読み込めない、IM(日本語入力)がうまく動作しないとかいう場合、以下の3つを実行すると解決するかもしれません。
GTK\bin\pango-querymodules.exe > ..\etc\pango\pango.modules GTK\bin\gdk-pixbuf-query-loaders.exe > ..\etc\gtk-2.0\gdk-pixbuf.loaders GTK\bin\gtk-query-immodules-2.0.exe > ..\etc\gtk-2.0\gtk.immodules
実はgladewin32では上記をまとめてreconfig.batというバッチファイルが用意されていますのでそれを実行するだけでOKです。

Before...
▲ むとう [おぉ、そうでしたか。 それならruby-gnome2-devel-enあたりでもアナウンスしてみてはいかがでしょうか..]
▲ kou [頑張ってみました. < ruby-gnome2-devel-en # ruby-talkに投げるくらいの元気はないで..]
▲ むとう [ありがとうございます! GLib::Log.set_log_domain()の方、もしかしたらGCのタイミングによ..]