Ruby GTK アプリは非グラフィカル環境では実行できないようですが、Python アプリは実行できます。
非常に単純化された例 (gtk メイン ループがなくても) で、この動作を示しています。
gtktest.py:
#! /usr/bin/python
import gtk
print('the end')
gtktest.rb:
#! /usr/bin/ruby
require "gtk2"
puts('the end')
X ウィンドウ環境:
$ ./gtktest.py
the end
$ ./gtktest.rb
the end
非 X 環境:
$ ./gtktest.py
/usr/lib/pymodules/python2.5/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
the end
$ ./gtktest.rb
/usr/lib/ruby/1.8/gtk2.rb:12:in `init': Cannot open display: (Gtk::InitError)
from /usr/lib/ruby/1.8/gtk2.rb:12
from ./gtktest.rb:2:in `require'
from ./gtktest.rb:2
ご覧のとおり、python バージョンは警告付きで正常に実行され、ruby バージョンは gtk のインポートですぐに失敗します (python バージョンは gtk メイン ループでも動作し、VTE ターミナルでテキスト処理が行われます)。
これらの ruby gtk アプリが非 X で実行されている可能性を誰かが認識していますか?
環境: debian スクイーズ、python-gtk2、libgtk2-ruby