кажется, что приложения 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 работает успешно с предупреждением, рубиновый сбой сразу по импорту gtk (python работает даже с основным циклом gtk, причем терминал VTE выполняет некоторую текстовую обработку)
кто-то знает о возможности иметь эти рубиновые приложения gtk, работающие в не-X?
среда: debian squeeze, python-gtk2, libgtk2-ruby