系统
ubuntu 9.04
redhat centos
说明: 使用 xdm(gdm、kdm)时,使用的是UDP 177端口进行广播,只适合布署在单一子网内,如要在多个子网间布署,xdm明显不合适,请使用xrdp。
想要在远程终端使用用图形界面来操作和控制Linux服务器,就在windows下像使用MSTSC一样。linux通过XDMCP来提供这种支持,我们只要用一个终端仿真软件如:xdm 或者xrdp来实现,下面将就这两种分别进行讲解:
1、xdm配合xmanager或X-win32 使用的是UDP 177端口进行广播 只适合在单一子网内进行,不能跨网段。xdm(kdm、gdm)是linux服务器端,xmanager或X-win32是windows客户端。Xnest是linux客户端
2、xrdp能在多个子网间进行布署,xrdp是linux服务器端,windows通过“远程桌面”访问,linux通过“ rdesktop ”或“终端服务器客户端”来访问。
1、一般来说,连接linux都是用ssh 但是ssh没有图形显示功能,只能在字符下工作,今天为让linux 提供图形界面的远程功能,在linux中实现类似windows的远程桌面功能,因为不想让登陆的时候能使用ssh的22端口上传文件,所以否定了使用ssh 22端口的软件。找了几款软件,比如vnc、xmanager 、X-win32等
2、vnc要使用端口号加屏幕号的形式,在有很多用户要使用时,配置vnc和防火墙都是很麻烦的事。
3、xmanager 因为要使用到UDP广播,无法在多个子网间布署,X-win32是收费软件,最新版本 x-win100-1155sf 用起来相当的慢。相比较之下,xrdp最好用了。
软件安装和设置
4、 请注意,在安装之前请确保系统安装了如下软件:如果没有安装 请自行安装,centos 可以用yum方式
gcc
make
libtool
pam
pam-devel
openssl
openssl-devel
vnc服务端程序
tigervnc tigervnc-server (这是centos6自带的vnc程序)
5、下载 xrdp程序
如果是debian系发行版,可以设置好源后直接apt-get install xrdp
如果是redhat系发行版,可以到http://www.xrdp.org/下载源码安装包
6、安装
我下载的是最新的 xrdp-v0.6.0.tar.gz 安装方法如下
tar zxvf xrdp-v0.6.0.tar.gz -C /usr/local/src
cd xrdp-v0.6.0
./bootstrap 注意 这里要libtool, 如果系统没安装会报错的
./configure
make
make install
7、启动程序
/usr/local/src/xrdp-v0.6.0/instfiles/xrdp.sh start 启动
/usr/local/src/xrdp-v0.6.0/instfiles/xrdp.sh stop 关闭
8、开机自启动
echo " /usr/local/sbin/xrdp" >>/etc/rc.local
9、修改配置文件
xrdp的配置文档在/etc/xrdp目录下的xrdp.ini和sesman.ini
vi /etc/xrdp/xrdp.ini xrdp.ini 关键部分在globals
[globals]
bitmap_cache=yes 位图缓存
bitmap_compression=yes 位图压缩
port=3389 监听端口
crypt_level=low 加密程度(low为40位,high为128位,medium为双40位)
channel_code=1 不知道是什么
sudo vi /etc/xrdp/sesman.ini
[Globals]
ListenAddress=127.0.0.1 监听ip地址(默认即可)
ListenPort=3350 监听端口(默认即可)
EnableUserWindowManager=1 1为开启,可让用户自定义自己的启动脚本
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1 允许root登陆
MaxLoginRetry=4 最大重试次数
TerminalServerUsers=tsusers 允许连接的用户组(如果不存在则默认全部用户允许连接)
TerminalServerAdmins=tsadmins 允许连接的超级用户(如果不存在则默认全部用户允许连接)
[Sessions]
MaxSessions=10 最大会话数
KillDisconnected=0 是否立即关闭断开的连接(如果为1,则断开连接后会自动注销)
IdleTimeLimit=0 空闲会话时间限制(0为没有限制)
DisconnectedTimeLimit=0 断开连接的存活时间(0为没有限制)
[Logging]
LogFile=./sesman.log 登陆日志文件
LogLevel=DEBUG 登陆日志记录等级(级别分别为,core,error,warn,info,debug)
EnableSyslog=0 是否开启日志
SyslogLevel=DEBUG 系统日志记录等级
装好后,我们就可以直接从win系统下利用mstsc直接进行登陆,相当方便,如果是linux,可以用rdesktop。
9、netstat -tlnup 查看3389端口和3350端口有没有启动
10、解决键盘混乱问题
gconftool-2 –type list –list-type=string –set /desktop/gnome/peripherals/keyboard/kbd/layouts [damnlayouts]
11、解决登陆后不支持中文问题
sudo vim /etc/xrdp/startwm.sh
打开这个文件后添加下面的语句
#!/bin/sh
export LC_ALL=zh_CN.UTF-8
. /etc/X11/Xsession "这句是默认就有的
三、测试
1、新建一个用户组 将需要登陆的用户加入到这个组里。
sudo groupadd tsusers
2、 windows 下的测试
使用远程桌面连接应用程序”-->“ internet ”-->“终端服务客户端”
或是 sudo rdesktop
login to xrdp 界面中的“ module ”填写 “ sesman-Xvnc ”、“username ”填写用户名、“ password ”填写密码
3、linux 下的测试
使用“应用程序”-->“ internet ”-->“终端服务客户端”
或是 sudo rdesktop IP地址或是 sudo rdesktop
login to xrdp 界面中的“ module ”填写 “ sesman-Xvnc ”、“username ”填写用户名、“ password ”填写密码。
现在让我们体验linux的远程桌面吧。
本文出自 “jedy 网络技术&linux学习” 博客,转载请与作者联系!