Linux入门学习教程:X Window究竟是什么(3)

  然后用Vim编辑/etc/lightdm/lightdm.conf文件,将xserver-allow-tcp=false一行前面的注释去掉,并且改为xserver-allow-tcp=true。如下图:

Linux

  最后,重启系统。再用ps查看进程,发现-nolisten tcp选项已经没有了。

Linux

搞定xauth

  搞定了-nolisten tcp之后,要想从远程计算接连接到Ubuntu桌面,还是需要安全认证。在前面的例子中,我使用了xhost。xhost是最简单的认证方式。在这里我要试一下别的认证方式,比如MIT-MAGIC-COOKIE-1。如上图,先使用xauth list命令查看一下当前的授权记录,发现只有一条,而且display是ubuntu-14/unix:0,很显然,这是一个本地授权,所以需要使用xauth add命令添加一个使用ip地址的授权,后面的key照抄就行了。最后,使用xauth extract和xauth merge配合管道和ssh将该授权记录合并到CentOS-5.10中。

  在CentOS-5.10中启动GVim,指定display为192.168.1.103:0,GVim窗口就出现在了Ubuntu中。如下图:

Linux

X Server的配置

  可以使用不同的方法对X Server进行配置,前面的例子是直接指定命令行参数。除了指定命令行参数,还可以使用环境变量和配置文件。X Server的配置文件为一般是/etc/X11/xorg.conf或/etc/X11/xorg.conf.d/目录下的.conf文件,当然,配置文件也可以放在其它的目录中,具体信息,请参看man xorg.conf。

  如果没有配置文件,X Server将在启动的时候自动检测硬件,然后生成一个内置的配置。Ubuntu系统就没有配置文件。不过没关系,如果需要使用配置文件的时候,可以通过X Server的-configure参数生成一个配置文件,里面包含当前自动检测出的配置。如果需要任何个性化的配置,对该文件进行修改即可。

现有的图形界面中可以运行嵌套的X Server

  我们上面运行的X Server都是直接占用了计算机的整个显示器和键盘鼠标,事实上,在现有的图形界面中,还可以以窗口模式运行另外一个X Server,称为nested X Server。最常用的nested X Server是Xephyr,在Ubuntu中可以通过如下命令安装它:

sudo aptitude install xserver-xephyr

  Xephyr的使用非常简单,可以通过 man Xephyr 命令查看它的使用手册。如果输入 Xephyr :1 命令,就可以在现有图形界面中打开一个窗口模式的X Server,如下图:

Linux

  以后再启动GUI程序,就可以通过程序的-display选项让程序运行在这个嵌套的X Server中,如下图:

Linux

  怎么样,是不是很好玩呢?除了好玩,还很有用,比如调试窗口管理器啊、连接远程桌面啊什么的都用得着。当然,我这里只是简单展示一下原来X Window还可以这么玩。

总结:

  1.在一个Linux系统中存在多个虚拟控制台,所以可以启动多个X Server;

  2.启动X Server的方式有两种,一种是使用/usr/bin/X、startx、xinit手动启动,一种是通过显示管理器启动;

  3.Ubuntu使用的显示管理器是lightdm,这是一个比较新的、轻量级的显示管理器,但是文档不够详细;

  4.远程计算机连接本地的X Server,需要X Server开放TCP端口,还要搞定安全认证;

  5.X Server的配置,可以通过命令行参数,可以通过环境变量,还可以通过配置文件;

  6.可以在现有的图形界面下以窗口模式运行嵌套的X Server,常用的软件是Xephyr;

  7.我的《Linux入门学习教程:Linux系统折腾笔记》中介绍的方法不够用,还要加上两条:①使用ps命令查看进程;②查看程序启动的log文件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16745.html