我把X的桌面环境分两部分两说明:一部分是Xserver,一部分是Xclient.这样既有特殊性又有一般性。
Xserver,这个server很好玩如果你装了xorg的话,它就会蹲在系统端口那看,有没有Xclient连接到端口,如果没有就一直等着,有点像守株待兔的感觉。那么端口我们只从应用的角度看,Xserver就好比是一张画纸,空空的什么都没有。那么画板就是你的linux系统,那么这张空空的画纸是不是在等待,Xclient即画笔上来描绘图案呢。
好了这样一比喻完,Xserver其实就是一张画纸,那你可能会问画纸可以有很多张对吧。没错确实有很多。每张对应这一个端口从6000开始,第二张就是6001.
我们开启启动用系统级五进入是不是就一个华丽丽的gnome。这个就是一张Xserver的画纸,加上gnome-seesion 和matecity窗口管理器。这两个Xclient。默认情况下,这个端口号是不对外开放的因为不安全。(但是如果需要用VNC的时候实现桌面的共享这个端口需要开放,如果你不开我们怎么看到你的桌面呀。)那我们再来开一个Xserver
[root@studnet20 ~]# X :1.0 //这个将占用一个终端。
[root@studnet20 ~]# echo $DISPLAY /server是从0开始计数的,小数点后面的就不懂有啥具体用处了。
:0.0
[root@studnet20 ~]# export DISPLAY=:1.0 //把server换成1.0,在第二张画纸上。然后之后的gui程序全都在我们开好的1.0的这个server运行!
[root@studnet20 ~]# echo $DISPLAY
1.0
这个时候你运行,周面会没有任何反应,因为这个hello.txt在另个server上运行了用ctrl +alt+F7切换过去,看看是不是有了,一个最原始的界面。
[root@studnet20 ~]#gedit hello.txt
这样的话,你可以慢慢的把gnome这个集成度很高的Xclient打到那里。再打一个matecity。那样的话你就有两个桌面咯。嘿嘿。
切记:一个X的桌面环境至少要包含桌面管理器,和窗口管理器。
Xclient说明:
Xlient就是Xserver一直等待的东西。Xclient一般指的是那些带有GUI界面的程序。这个就有很多了哦。比较大型的就是像Gnome,KDE这样集成度很高的。
下面来说说vnc这个Xvnc。VNC就是远程虚拟连接,连接远程主机的桌面。原理就是基于Xserver与Xclient
VNCserver 相当于Xserver ,VNCclient 相当于Xclient.
在服务器端起一个VNCservser 端口是从5900开始的,但是有的时候5900会被某些进程像KVM,或者是vino-server 占用。相应的会生成一个对应的600X的端口。例如:
[root@studnet20 ~]# vncserver :3 //开启第三个Xvnc
New 'studnet20.redhat.com:3 (root)' desktop is studnet20.redhat.com:3
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/studnet20.redhat.com:3.log
[root@studnet20 ~]# netstat -lntp | grep vnc
tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 4017/Xvnc
tcp 0 0 0.0.0.0:6003 0.0.0.0:* LISTEN 4017/Xvnc
tcp 0 0 :::6003 :::* LISTEN 4017/Xvnc
占用了两个端口。那么Xvncserver就猫在5903上等Xvncclient连上来。
我们刚刚有做过一件事:export DISPLAY=: (这个冒号有含义,代表套接字) 所以我们可以这样 export DISPLAY=192.168.0.110:3 ,只要远程主机开启了6003.其实vncclient 也是这样子的,只是连接的端口不一样而已人家连的是6003,而你是5903.
那我们发现其实,每开一个VNC就要占用590X和600X两个端口,这个很有用。思路是这样:我们可以在一群的客户机上同时用vncclient登录到同一台,vncserver,服务主机的5903端口。但是看到的是单纯的桌面,没什么意义。但是如果5903这个端口是盯着运行级五的那张画纸看的话,那就有意义了:服务主机的操作可以完全在客户主机上呈现,特别是在办公会议,培训教学方面可以节省很多成本。
以上是我这两个月来的一些成果,实验最后成功了。原理大致上上面所书,希望能得到大家的建议,批评指导,谢谢。