2010-05-28 4 views
1

il semble que les applications Ruby GTK sont incapables de fonctionner dans un environnement non graphique .. tandis que les applications python sont en mesure de.Ruby GTK échoue sans affichage (Python est OK)

exemples simplistes (même sans l'gtk de boucle principale), ce qui démontre ce comportement:

gtktest.py:

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

gtktest.rb:

#! /usr/bin/ruby 
require "gtk2" 
puts('the end') 
environnement de fenêtre

X:

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

environnement non 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 

comme vous pouvez le voir, la version python fonctionne avec succès avec un avertissement, un rubis échoue immédiatement sur gtk importation (un python fonctionne même avec une boucle principale GTK, avec borne de TEV faire un peu de traitement de texte)

est quelqu'un conscient d'une possibilité que ces applications ruby ​​gtk en cours d'exécution en non-X?

environnement: retrait obligatoire debian, python-gtk2, libgtk2-ruby

Répondre

2

Oui you can, configuration Xvfb.

+0

merci, c'est le chemin, comment le pirater. mais je me demande, s'il y a un moyen, comment forcer le gtk ruby ​​à ne pas dépendre strictement de X, comme python gtk ne le fait pas – mykhal