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:[email protected]使domain上的nis用户user能够访问
xhost + inet:[email protected]使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只包含一个名称,空字符串 注: 该系列是区分大小写的。名称的格式随系列而不同。
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 计划的一部分。