Frage

Es scheint, dass Ruby GTK-Anwendungen sind nicht in der Lage in nicht-grafischer Umgebung ausgeführt werden .. während Python-Anwendungen sind in der Lage.

stark vereinfacht Beispiele (auch ohne die gtk Hauptschleife), demonstriert dieses Verhalten:

gtktest.py:

#! /usr/bin/python
import gtk
print('the end')

gtktest.rb:

#! /usr/bin/ruby
require "gtk2"
puts('the end')

X-Window-Umgebung:

$ ./gtktest.py
the end
$ ./gtktest.rb
the end

Nicht X-Umgebung:

$ ./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

Wie Sie sehen können, Python-Version läuft erfolgreich mit einer Warnung, schlägt Rubin man sofort auf gtk Import (Python arbeitet man auch mit einem gtk Hauptschleife, mit VTE Terminal tun einige Textverarbeitung)

ist jemand kennt eine Möglichkeit tun, um diese ruby ??gtk Anwendungen haben in nicht-X ausgeführt wird?

Umwelt: Debian Squeeze, python-gtk2, libgtk2-ruby

War es hilfreich?

Lösung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top