
對於第一個窗格tmux
,我必須做這個但可以開一扇窗。對於第二個和所有其餘的窗格,我無法開啟視窗。例如:
$ 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
是與本機上的 X11 伺服器的 tcp 連線。如今,伺服器很少在啟用 TCP 連線的情況下啟動,這是行不通的。所以你通常不應該將 DISPLAY 設定為這個。 (尋找進程 Xorg,您可能會看到它使用選項運行:-nolisten tcp
,儘管現在這通常是編譯時的預設值)。
:0
或:0.0
或 的顯示unix:0.0
是到本機上的 X11 伺服器的 unix 網域套接字連線。這通常是您需要使用的。