
Normalerweise sperre ich bei der Arbeit meinen Bildschirm, wenn ich gehe, melde mich einmal pro Woche ab und starte selten neu. Alle meine Pakete sind auf dem neuesten Stand.
Gestern habe ich einen Neustart durchgeführt und heute Morgen kann ich meine Python3/Gtk3-Apps nicht starten:
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
Code dieser Beispiel-App:
#!/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()
Wenn ich es von Geany aus starte, funktioniert es, nicht von einem Standardterminal aus. Dasselbe gilt für alle meine Python3/GTK3-Apps. Von einem Geany-Terminal aus ist echo $PATH genau dasselbe wie von einem Standardterminal aus. Derzeit DISPLAY=':0', ich habe es ohne DISPLAY-Variable und mit DISPLAY='localhost:0' versucht.
Irgendeine Idee, wo ich suchen sollte?
-BEARBEITEN-
Dies ist nur ein Gtk-Problem: Ich kann Gtk-Apps wie gedit vom Unity Launcher aus starten, aber nicht von einem Terminal aus.
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