кажется, что приложения 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 Window:
$ ./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 one сразу выходит из строя
на импорт GTK
(python one работает даже с основным циклом gtk, когда терминал VTE выполняет некоторую обработку текста)
Кто-нибудь знает о возможности того, что приложения ruby gtk работают в не-X?
среда: debian squeeze, python-gtk2, libgtk2-ruby