0

For the 1st pane on tmux, I had to do this but can open a window. For 2nd and all the rest of panes, I can't open windows. For example:

$ 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'

What I did but didn't work:

$ 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
1

A display of localhost:10.0 is usually not the real display but an intermediate ssh process that is designed to allow you to use X11 windows after doing ssh -X somehost. So you should not usually set DISPLAY to it by hand as it will only work through the ssh tunnel if it still exists.

A display of localhost:0.0 is a tcp connection to the X11 server on the local machine. These days, the server is rarely launched with tcp connections enabled, and this will not work. So you should not usually set DISPLAY to this. (Look for the process Xorg and you may see it running with the option: -nolisten tcp, though these days this is often the compiled-in default).

A display of :0 or :0.0 or unix:0.0 is a unix domain socket connection to the X11 server on the local machine. This is usually what you need to use.

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .