Os aplicativos Gtk3 não conseguem inicializar a partir do terminal: “RuntimeError: Gtk não pôde ser inicializado” do termo, mas ok do iniciador do Unity

2

Normalmente, no trabalho, bloqueio minha tela quando saio, faço logoff uma vez por semana e raramente reinicializo. Todos os meus pacotes estão atualizados.

Ontem reinicializei e hoje de manhã não posso iniciar meus aplicativos Python3 / Gtk3:

JeanCoiron@myhostname:/opt/myapps/dev$ ./mywindow.py 
Traceback (most recent call last):
  File "./mywindow.py", line 4, in <module>
    from gi.repository import Gtk
  File "/usr/lib/python3/dist-packages/gi/importer.py", line 76, in load_module
    dynamic_module._load()
  File "/usr/lib/python3/dist-packages/gi/module.py", line 224, in _load
    overrides_modules = __import__('gi.overrides', fromlist=[self._namespace])
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1533, in <module>
    raise RuntimeError("Gtk couldn't be initialized")
RuntimeError: Gtk couldn't be initialized

Código deste aplicativo de exemplo:

#!/usr/bin/python3
# Filename: mywindow.py

from gi.repository import Gtk
from gi.repository import Gdk

class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="My window")

        self.mainGrid = Gtk.Grid()
        self.add(self.mainGrid)

        self.lbl = Gtk.Label("Hello World")
        self.mainGrid.add(self.lbl)

mainWin = MyWindow()
mainWin.connect("delete-event", Gtk.main_quit)
mainWin.show_all()

Gtk.main()

Se eu iniciá-lo a partir do Geany, ele funciona, não de um terminal padrão. O mesmo para todos os meus aplicativos python3 / gtk3. De um terminal Geany, o echo $ PATH é exatamente o mesmo de um terminal padrão. Curently DISPLAY = ': 0', eu tentei sem DISPLAY var e com DISPLAY = 'localhost: 0'

Alguma ideia de onde devo pesquisar?

-EDIT -

Este é apenas um problema Gtk: Posso iniciar aplicativos Gtk como o gedit do iniciador do Unity, mas não de um terminal.

JeanCoiron@myhostname:/opt/myapps/dev$ gedit /usr/lib/python3/dist-packages/gi/overrides/Gtk.py
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.
JeanCoiron@myhostname:/opt/myapps/dev$ echo $DISPLAY
:0
    
por Jean Coiron 28.03.2013 / 10:22

0 respostas