
Für die 1. Scheibe tmux
musste ichmach daskann aber ein Fenster öffnen. Für das 2. und alle anderen Fenster kann ich keine Fenster öffnen. Beispiel:
$ echo $DISPLAY
localhost:10.0
$ meld . &
[1] 466
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
/usr/bin/meld:155: GtkWarning: IA__gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
gtk.icon_theme_get_default().append_search_path(meld.paths.icon_dir())
Traceback (most recent call last):
File "/usr/bin/meld", line 155, in <module>
gtk.icon_theme_get_default().append_search_path(meld.paths.icon_dir())
AttributeError: 'NoneType' object has no attribute 'append_search_path'
Was ich getan habe, was aber nicht funktioniert hat:
$ unset DISPLAY
$ meld . &
$ set DISPLAY localhost:0.0
$ meld . &
$ xhost +localhost
xhost: unable to open display "localhost:0.0"
$ xhost +
xhost: unable to open display "localhost:0.0"
$ unset DISPLAY
$ export DISPLAY=localhost:0.0
$ sudo apt-get install xvfb
$ sudo Xvfb :5
$ export DISPLAY=:5
Antwort1
Eine Anzeige von localhost:10.0
ist normalerweise nicht die echte Anzeige, sondern ein Zwischenprozess ssh
, der Ihnen die Verwendung von X11-Fenstern nach der Ausführung ermöglichen soll ssh -X somehost
. Daher sollten Sie DISPLAY normalerweise nicht manuell darauf einstellen, da es nur über den SSH-Tunnel funktioniert, wenn dieser noch vorhanden ist.
Eine Anzeige von localhost:0.0
ist eine TCP-Verbindung zum X11-Server auf dem lokalen Rechner. Heutzutage wird der Server nur noch selten mit aktivierten TCP-Verbindungen gestartet, und dies funktioniert nicht. Daher sollten Sie DISPLAY normalerweise nicht auf diese Einstellung setzen. (Suchen Sie nach dem Prozess Xorg und Sie sehen ihn möglicherweise mit der Option: -nolisten tcp
, obwohl dies heutzutage oft die einkompilierte Standardeinstellung ist).
Eine Anzeige von :0
oder :0.0
oder unix:0.0
ist eine Unix-Domain-Socket-Verbindung zum X11-Server auf dem lokalen Rechner. Dies ist normalerweise das, was Sie verwenden müssen.