標準的な Ubuntu に、RUBY-KDE4 をインストール した。
RUBY-KDE4 と言うのは、Qt4 と言う GUI ライブラリーを使って、Ruby で GUI アプリケーションをプログラミングできるものだ。私の場合、古いバージョンの Ruby/Qt2 と Linux Zaurus で使える Ruby/Qte を使っていたので、古い資産があるので、RUBY-KDE4 を試してみたくなった。
RUBY-KDE4 のインストール
ここからは、 Ubuntu 8.04.1 日本語ローカライズド版の標準インストール状態からのインストールのやり方だ。標準インストール状態と言っても、最新状態へのアップデートと、NVIDIA グラフィックカードドライバは導入済みである。
Synaptic で、ruby、 ruby-kde4、 libqt4-ruby1.8-examples をインストールする。55個のパッケージインストールと90M 近いファイルのダウンロードがあるので、時間はかかる。
サンプルプログラムは、 /usr/share/doc/libqt4-ruby1.8-examples/examples/ 以下にあるのだが、そのままでは動作しない。プログラム本文中にある「require 'Qt'」と言う文字列を「require 'Qt4'」に変更する必要がある。
$ cp /usr/share/doc/libqt4-ruby1.8-examples/examples/tutorial/t1/t1.rb .
$ vim t1.rb << 「require 'Qt'」と言う文字列を「require 'Qt4'」に変更 >>
$ ./t1.rb
これで、「Hello World!」と書いたボタンがGUI表示される。
日本語を使う
プログラムの冒頭に「$KCODE="UTF8"」と入れるだけで日本語が使えるようになる。
#!/usr/bin/env ruby
$KCODE="UTF8"
$VERBOSE = true; $:.unshift File.dirname($0)
require 'Qt4'
a = Qt::Application.new(ARGV)
hello = Qt::PushButton.new('今日は、世界!', nil)
hello.resize(100, 30)
hello.show()
a.exec()
このプログラムを、UTF-8でセーブし、実行可能にする。これで、「今日は、世界!」と書いたボタンがGUI表示される。
OpenGL も使えるように
これから後は、本当に正しい流儀なのかは知らないが、取り合えず OpenGL も使える方法が見付かったので報告する。
Welcome To Yoshi's HomePage から、rbogl-0.32g.tar.gzをダウンロードする。
Synaptic で、ruby1.8-dev と freeglut3-dev を導入。
$ cd /tmp
$ tar zxvf ~/デスクトップ/rbogl-0.32g.tar.gz
$ cd opengl-0.32g/
$ ruby extconf.rb
$ make
$ sudo make install
サンプルを動かしてみる
$ cd /tmp
$ cp -rp /usr/share/doc/libqt4-ruby1.8-examples/examples .
$ cd examples/opengl/grabber
$ gzip -d mainwindow.rb.gz
$ gzip -d glwidget.rb.gz
$ vim main.rb
require 'Qt' << ここを「Qt4」にする
$ ruby main.rb
これで、ちゃんと、OpenGL が動く。
とまあ、ruby で GUI プログラミングができるようになったのは良いが、 Ruby/Qt2 と RUBY-KDE4 では、使い方が随分違っているので、昔の資産を活かせるかどうか微妙だ。
GNOME主体の Ubuntu なら、Ruby-GTK の方が正しいのかもしれない。
注意
ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。
その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。