Tkinter Anfaenger "TclError> couldn't connect to display ":0

Fragen zu Tkinter.
Antworten
milkamv
User
Beiträge: 4
Registriert: Sonntag 29. Dezember 2013, 14:17

Hallo,
habe das erste Mal Debian auf dem Virtual Box laufen.
Und versuche den ersten Beispiel ein Fenster zu programmieren.

Code: Alles auswählen

import Tkinter

root = Tkinter.Tk()

root.title("Fenster 1")
root.geometry("100x100")

root.mainloop()

Habe jedoch ein Problem mit der Verbindung zum Display.
Habe das ganze als root user ausgefuehrt

File "test.py", line 5, in <module>
root = Tkinter.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1712, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":0"

Danke schon mal.

Gruesse
Mischa
BlackJack

@milkamv: Läuft denn in dem Debian auch X? Und gibt es einen Grund als root-Benutzer dort eingeloggt zu sein für so etwas?
milkamv
User
Beiträge: 4
Registriert: Sonntag 29. Dezember 2013, 14:17

Guude,
bei mir läuft KDE.
Xorg ist auch installiert.

Als root Benutzer habe mich vorsichtshalber eingelogt, dachte vielleicht, könnte es an den Benutzerrechten liegen.

Oder was meinst du?

Es läuft auf Virtueller Maschine. Könnte es vielleicht daran liegen?

Grüße
Mischa
BlackJack

@milkamv: In der VM läuft KDE? Und das *läuft* da auch?
milkamv
User
Beiträge: 4
Registriert: Sonntag 29. Dezember 2013, 14:17

@BlackJack
in der VM läuft live CD von Debian und da ist auch KDE.
milkamv
User
Beiträge: 4
Registriert: Sonntag 29. Dezember 2013, 14:17

Nachdem ich Debian in VM installiert habe funktiert es schließlich.

Danke trotzdem.

Grüße und einen guten Rutsch
Mischa
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

Hi,

du hast dich wahrscheinlich in einem Konsolenfenster zu root gemacht und dann versucht, das Programm zu starten. Das Programm (jedes grafische Programm) meldet dann, dass es keine Verbindung zum X-Server erhält. Das liegt daran, dass standardmäßig der X-Server Verbindungen von "außerhalb" (in dem Fall von einem anderen User) verweigert. Das Problem lässt sich mit "xhost local:root" beheben. Temporär für diese Sitzung nimmt der X-Server lokale Verbindungen vom User root an. Allerdings ist davon abzuraten, außer zu Administrationzwecken, mit dem User root zu arbeiten. Für die tägliche Standardarbeit am PC reichen die Rechte eines normalen Users in der Regel völlig aus.

mfg
Antworten