xhost: unable to open display (linux图形安装程序切换用户的界面显示)(转)

xhost 和 DISPLAY

由於 UNIX通常配備 X 視窗,所以請先進入 X 視窗環境。 您必須要知道以下資料,才能使用遠端的 X:

  • 目的地電腦的網域名稱或是 IP 位址
  • 您目前所使用的電腦的網域名稱或是 IP 位址

設定 xhost 與 DISPLAY 環境參數

一、設定xhost
請先在本機下這段指令
xhost +HostName

如下圖所示,HostName 是遠端的伺服器。


  • HostName 前加一個加號,代表允許接受由 HostName 地方所傳來的 X 繪圖指令。
  • 倘若未加 HostName,則代表可以讓所有地方的 X 繪圖指令都能進來, 這是很不安全的情況。
  • 若將上述之加號改成減號,則代表拒絕由 HostName 傳來的 X 繪圖指令。

二、使用遠程簽入程式
使用 UNIX 提供的遠程簽入程式,如 telnet、ssh 等,登入遠端伺服器。 遠程簽入程式的相關使用請參閱 第三講

三、設定DISPLAY參數
登入遠端伺服器後請下這段指令
setenv DISPLAY HostName:0.0
在這裡 HostName指的是目前近端所使用的電腦的網域名稱或是 IP 位址。

如下圖所示,HostName 是我目前近端這台電腦, 在 HostName 後加一個冒號,再加上 0.0。 第一個數字 0,代表我現在近端這台電腦的第一張顯示卡, 如果有多張顯示卡,則按照順序加上去。 第二個數字 0,代表我現在近端這台電腦的這張顯示卡的第一個螢幕; 同理,如果同張顯示卡可以接多個螢幕,其數字依序往上加。

然後就大功告成了。 測試遠端 X 程式,其顯示結果如下圖

先在root下xhost +

然后再在其他用户下export DISPLAY
    Is you DISPLAY variable set correctly?
    You have: DISPLAY=tserver1:0
    but the error message refers to tserver:0.0
    Should that be DISPLAY=tserver:0.0?

    The xhost + command allows "any" client machine to send xwindows display
    to the host running the xhost command.

    So, on the host (or tserver):
    # xhost +
    or
    # xhost + IP_address_of_client

    On the client:
    # DISPLAY=tserver:0.0
    # export DISPLAY
    # xeyes &

    and watch the xeyes program on tserver terminal

转:http://libai.math.ncu.edu.tw/bcc16/5/xhost/

转:http://dbaspot.com/solaris/150228-xhost-unable-open-display.html

转:http://bbs.chinaunix.net/viewthread.php?tid=961309

posted @ 2011-07-20 10:26  zhjb616  阅读(4207)  评论(0编辑  收藏  举报