xhost和DISPLAY

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 是遠端的伺服器。

xhost和DISPLAY
  • 在 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 程式,其顯示結果如下圖

xhost和DISPLAY

还有一些option,还是仔细看一下manual吧。

上一篇:关于fprint()和fwrite()


下一篇:注入攻击(SQL注入)