Обычно на работе я блокирую свой экран, когда я уезжаю, выхожу из системы один раз в неделю, и редко перезагрузка. Все мои пакеты актуальны.
Вчера я перезагрузил, и этим утром я не могу запустить свои приложения 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
Код этого приложения в качестве примера:
#!/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()
Если я запускаю его от Geany, это работает, не от стандартного терминала. То же для всех моих python3/gtk3 приложений. От Geany терминальный $PATH эха является точно тем же как от стандартного терминала. ДИСПЛЕЙ Curently = ':0', я попробовал без var ДИСПЛЕЯ и с ДИСПЛЕЕМ ='localhost:0'
Какая-либо идея, где я должен искать?
Править-
Это - проблема Gtk только: Я могу запустить приложения Gtk как gedit от средства запуска Единицы, но не от терминала.
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