Ruby GTK在没有显示的情况下失败(Python没问题)

时间:2010-05-28 14:16:23

标签: python ruby gtk gtk2

似乎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 one甚至可以使用gtk主循环,VTE终端进行一些文本处理)

有人意识到有可能让那些ruby gtk应用程序在非X中运行吗?

环境:debian squeeze,python-gtk2,libgtk2-ruby

1 个答案:

答案 0 :(得分:2)

you can,设置Xvfb