xhost和XServer相关概念汇总
1、
xhost 控制什么人可以訪問當前主機上的增強 X-Windows。
語法:xhost [ + | - ] [ Name ]
2、
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 命令添加或刪除 X 服務器接受連接的機器列表上的主機名。
該命令必須從有顯示連接的機器上運行。可以通過使用 -Host 參數,從訪問列表中除去一個名稱。不要從訪問列表中除去當前的名稱。如果已經這樣做了,請在作出任何更改之前注銷系統。
輸入無變量的 xhost 命令將顯示訪問 X 服務器的當前主機名,并顯示一條消息表明訪問是否已啟用。
為了安全起見,只能從控制主機運行影響訪問控制的選項。對于工作站來說,這臺機器也就是服務器。對于 X 終端來說,這臺機器是登錄主機。
要在缺省情況下啟用遠程名稱,可以在 /etc/X?.hosts 文件中定義名稱,其中 ? 為啟用訪問的顯示器號。
例如,顯示器 jeanne:0 可以由使用 jeanne 的缺省主機名的系統上的 /etc/X0.hosts 文件中定義的系統訪問。在顯示名稱和文件名中,0 表明已定義的遠程系統允許通過增強 X-Windows 訪問的顯示器號。
3、
+Name 定義要添加到 X 服務器訪問列表的主機名(可以選用加號標記)。
- Name 定義要從 X 服務器訪問列表中除去的主機名。已有的連接沒有被中斷,但將拒絕新的連接請求。
注意:可以除去當前的機器;然而,不允許進行進一步的連接(包括試圖將其添加回來)。再一次啟用本地連接的唯一方法就是將服務器復位(因此也會中斷所有連接)。
+ 指定訪問不受限制。訪問控制被關閉。
- 打開訪問控制。完整的 Name 有以下 family:name 語法:
inet因特網主機local只包含一個名稱,空字符串 注: 該系列是區分大小寫的。名稱的格式隨系列而不同。
http://baike.baidu.com/link?url=lISK-Vl_kbA0X7BG20hxe-fX2dwhMqTwEvXqx8wqcr82J0BANN1KMCTNADbTf8RCwnnss0NGBqdADuFwOK5yhq
?
linux圖形界面層次關系總結
linux本身-->X服務器<-[通過X協議交談]->窗口管理器(綜合桌面環境)-->X應用程序。
X是協議,就像HTTP協議,IP協議一樣。
這個概念 很多初學者甚至學習 LINUX有一定時間的人都混淆,一個基于X的應用程序需要運行并顯示內容時他就聯接到X服務器,開始用X協議和服務器交談。
比如一個X應用程序要在屏幕上輸出一個圓,X應用程序只負責告訴X服務器在屏幕的什么地方用什么顏色畫一個多大的圓,而具體的"畫"的動作,比如這個圓如何生成,用什么顯卡的驅動程序去指揮顯卡完成等等工作是由X服務器來完成的。
X服務器還負責捕捉鍵盤和鼠標的動作,假設X服務器捕捉到鼠標的左鍵被按下了,他就告訴X應用程序:親愛的應用程序先生,我發現鼠標被按下了,您有什么指示嗎?協議是需要具體的軟件來實現的
X和XFree86的關系:
有了協議就需要具體的軟件來實現這個協議。Xfree86就是這樣一個去根據法規實現協議的"交警"。實現X協議的軟件也并不只有 XFree86,XFree86只是實現X協議的一個免費X服務器軟件。商業上常用MOTIF,現在還有XORG,還有很多很小的由愛好者寫的小的X服務器軟件。甚至可以在WINDOWS上有X服務器運行,這樣你可以在linux系統上運行一個X應用程序然后在另一臺windows系統上顯示。
在LINUX上最常用的是XFree86(現在的linux發行版都用Xorg了)
http://blog.sina.com.cn/s/blog_5f5716580100yddd.html
如何判斷linux是否安裝了x-server
1、root > ll /etc/X11/? 如果該文件存在,說明安裝了x-server,這個文件我的系統上有
2、root > rpm -qa|grep server?
如上,出現x11-server,也說明安裝了x-server,我的系統顯示如下
openssh-server-4.3p2-26.el5
xorg-x11-server-Xvfb-1.1.1-48.41.el5
xorg-x11-server-utils-7.1-4.fc6
http://bbs.chinaunix.net/thread-1927890-1-1.html
X Server
The X server is now developed as a module of the X.Org system.
Translucent windows
Translucent windows are not an intrinsic element of recent X server development, rather they come from a combination of many separate projects working together. Take a look at Keith's Screenshots and then read a more detailed article on how translucent windows work
The xcompmgr utility is a sample compositing manager. You can enable client-side shadows with -c or server-side shadows with -s. There is also the transset utility to set the transparency of windows as a whole.
Installation
X Server development now happens in git. See Infrastructure/git/Users
One way of installing is to to just get a copy of xorg/xserver git repository and build it with configure, make and make install. You need to use --enable-kdrive option to build kdrive. However, there are build dependencies on other components. You can install their development packages if your distribution is pretty recent. If that doesn't work, you can get the dependent packages one by one from git. Or build the full modular X.org, that will provide the necessary dependent libraries.
http://www.freedesktop.org/wiki/Software/Xserver/
?
一 XServer和XClient
X windows,籠統的稱為X,是一種位圖顯示的視窗系統,是建立圖形用戶界面的標準工具包和協議。X 是協議,不是具體的應用程序。X 為GUI環境提供了基本的框架:在屏幕上繪圖、移動視窗以及與鼠標鍵盤的互動。
現在多用x11版本,X11R6全稱為X protocol version 11 release 6。X11使用戶可以運行基于X11的應用程序。
X是通過server/client架構來實現工作的。
Xserver:server為圖行程序提供顯示服務,并接受用戶界面輸入,把輸入事件交給圖行程序(可以是windows manager)處理,并能創建、映射、刪除視窗以及在視窗中寫和繪圖。
Xclient:client是一個運行在連接X服務器上的應用程序。它可以發送請求給server,并從server處接受事件。
Windows manager,窗口管理器是一個特殊的圖形應用程序,它對其他圖行程序運行的窗口進行管理,為窗口提供裝飾(標題欄、邊框等)、對窗口操作提供支持(改變大小、移動、重疊)。許多窗口管理器還提供了虛擬桌面、鼠標手勢等功能。Xserver一般只允許一個窗口管理器運行。如果沒有窗口管理器,圖行程序也可以運行的,但只有最新運行的程序在最上端,并且全屏顯示,無法窗口切換。
桌面環境(desktop),這是一個容易和窗口管理器混淆的概念。桌面環境一般自帶一個窗口管理器,并提供更多的實用程序。如方便管理的控制中心、文件管理等。
X display manager(XDM、gdm、wdm),Display manager對多個Xserver進行管理(本地的或遠程的)。Linux 機器如果以級別5啟動,進入的用戶登陸界面就是display manager,用戶輸入用戶名和密碼,display manager就會啟動本地的Xserver,初始化一個x會話,一般還通過xsession啟動本地的窗口管理器和桌面環境。如果在配置文件里設置xdmcp=true,display manager還可以通過xdmcp協議管理遠程的Xserver。當在windows機器上使用Xmanager登陸linux/unix機器時,其實是用xdmcp協議登錄的,用戶同樣輸入用戶名/密碼登陸,xdm啟動一個x會話,不過這次的Xserver是在遠程的機器上。
二 windows上運行遠程linux服務器上的圖形界面程序
如果需要運行遠程linux服務器上的圖形界面程序,光用ssh登錄是運行不了的。因為沒有圖形界面的支持。linux的圖形界面程序是典型的C/S結構,需要一個X server和X client(通常是程序本身)才能正常運行、正常顯示結果。如果本地的操作系統也是linux,且有圖形界面,就表示本地已經運行了X server,則遠程的圖形界面X client會連接到本地的X server,即可運行;如果本地的操作系統是windows,則需另外運行一個X server程序,然后遠程的linux圖形X client會連接本地的xserver。
http://www.cnblogs.com/itech/archive/2010/02/23/1672137.html
?
tips:
嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基于Linux內核,并且使用 GNU工程各種工具和數據庫的操作系統(也被稱為GNU/Linux)。基于這些組件的Linux軟件被稱為Linux發行版。一般來講,一個Linux 發行套件包含大量的軟件,比如軟件開發工具,數據庫,Web服務器(例如Apache),X Window,桌面環境(比如GNOME和KDE),辦公套件(比如OpenOffice.org),等等。GNU組件可以運行于Linux內核之上。整個內核是基于GNU通用公共許可,也就是GPL( General Pubic License)的,但是Linux內核并不是GNU 計劃的一部分。
?
轉載于:https://www.cnblogs.com/softidea/p/4523227.html
總結
以上是生活随笔為你收集整理的xhost和XServer相关概念汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode7,ios9 issue ,
- 下一篇: 你好,C++(34)有一只叫做多利的羊