1

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

4

1 に答える 1

2

はい、できます。Xvfbをセットアップしてください。

于 2010-05-28T15:13:33.100 に答える