xhost是用来控制X server访问权限的。
通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上显示的,需要使用hostA的Xserver,所以hostA是server。因此在登陆到hostB前,需要在hostA上运行xhost +来使其它用户能够访问hostA的Xserver。
xhost + 是使所有用户都能访问Xserver。
xhost + ip使ip上的用户能够访问Xserver。
xhost + nis:user@domain使domain上的nis用户user能够访问。
xhost + inet:user@domain使domain上的inet用户能够访问。
配置:
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 程式,其顯示結果如下圖
还有一些option,还是仔细看一下manual吧。