为了在树霉派上配置XDMCP,用百度查看一些博客,发现大多是几年前的东西,而且根本行不通,不得不吐槽百度,用它来查东西根本找不到,只能google,最后把结果整理了一下,写出来给大家分享。
在查询的过程中发现大多数文章都没有把server和client分开了,导致像我这样的新手分不清命令到底是用在server还是client,所以我把这二者的配置分开,看起来也方便一些
系统
服务端是raspberry pi ubuntu mate 16.04
客户端是ubuntu 14.04 LTS
配置
Server
要想在服务端配置好,必须要搞清楚你的系统使用的DM(display manager)是什么,DM和我们常说的桌面gnome,kde,unity不是一回事,DM主要负责提供登录时的画面,而后出现的桌面才是gnome,kde,unity负责。一般来说,gnome配套的DM是gdm,网上大部分教程都是gdm的,我估计很有可能都是从鸟哥那里复制过来的。但我用的是ubuntu 14.04啊,桌面系统是unity,DM是lightdm,在/etc/lightdm/下面根本就没有lightdm.conf文件,那我怎么改,然后百度上的一些文章就开始误导人,叫人去修改/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf,事实上根本没用!详细的过程如下
首先用pstree查看系统的DM是什么,在terminal中输入pstree,回车,沿着主干线往下就会看到lightdm
把/usr/share/doc/lightdm/lightdm.conf.gz复制到 /etc/lightdm/并解压成lightdm.conf文件,编辑该文件
[XDMCPServer]
#enabled=true
把前面的#号去掉,保存后再
restart lightdm
就可以了。
注意:在ubuntu mate 中没有安装startup,所以不能使用restart,start,stop这样的命令,解决的办法有两种,一是安装startup,另一个就是重启。
Client
下载xephyr
sudo apt-get install xserver-xephyr
添加服务端IP
xhost + $IP
最后打开窗口
Xephyr -query $IP -screen 800x600 :1
会出现一个登录窗口,login之后就完成了
注意:客户端的内容大部分参考《鸟哥的Linux私房菜服务器架设篇》,但是鸟哥用的是Xnest,这个软件说实话已经过时了,很多功能都没有,于是我使用了Xephyr,用法和Xnest差不多。鸟哥的书里提到如何在tty8中打开话面,我觉得那样很麻烦,还是打开一个窗口方便些,如果想要在tty8中打开,请参考鸟哥的书,这里就不多说了。XDMCP是在客户端中设定打开窗口的大小,-screen 800x600,而VNC是在服务端设定的,二者明显不同。
最后
两边都没有配置防火墙,所以配置起来相对简单,如果有防火墙的话,要修改iptables的规则,这个就很麻烦 了。有兴趣可以自己去查询相关用法。
参考的书籍和网址是:
http://askubuntu.com/questions/66431/how-do-i-configure-lightdm-to-work-with-xdmcp
《鸟哥的Linux私房菜服务器架设篇》