
Для 1-й панели tmux
мне пришлосьсделай этоно может открыть окно. Для 2-й и всех остальных панелей я не могу открыть окна. Например:
$ 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'
Что я сделал, но не сработало:
$ 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
Отображение localhost:10.0
обычно не является реальным отображением, а представляет собой промежуточный ssh
процесс, который предназначен для того, чтобы вы могли использовать окна X11 после выполнения ssh -X somehost
. Поэтому обычно не следует вручную устанавливать DISPLAY, поскольку он будет работать только через туннель ssh, если он все еще существует.
Отображение — localhost:0.0
это tcp-подключение к серверу X11 на локальной машине. В наши дни сервер редко запускается с включенными tcp-подключениями, и это не сработает. Поэтому обычно не следует устанавливать DISPLAY в это значение. (Поищите процесс Xorg, и вы можете увидеть, что он запущен с опцией: -nolisten tcp
, хотя в наши дни это часто является скомпилированным значением по умолчанию).
Отображение :0
или :0.0
или unix:0.0
— это соединение сокета домена unix с сервером X11 на локальной машине. Обычно это то, что вам нужно использовать.