linux安装xrdp实现远程控制

12:21 星期一 eehello 发表于 linux 分类,标签: xrdp

0

工作台安装了linux桌面发行版,同时想要做远程控制

参考自:http://www.cnblogs.com/tutuye/p/3746289.html

                http://vbird.dic.ksu.edu.tw/linux_server/0310telnetssh_5.php


百度搜索远程linux,结果搜出一大堆的在linux安装vnc,问题是VNC并不好用。
于是继续搜索,搜到了xrdp

centos系:

需要首先配置epel

epel真的是太方便了,免除了编译安装的繁琐,我们的目的在于快速使用,而非具体的调优

https://fedoraproject.org/wiki/EPEL/zh-cn

CentOS 用户可以直接通过 yum install epel-release 安装并启用 EPEL 源

配置epel

#yum install epel-release
#yum clean all
#yum makecache

 然后安装xrdp

xrdp直接yum安装,安装完后无需修改任何配置,直接启动即可

#yum install xrdp

启动xrdp

#/etc/init.d/xrdp start

xrdp会启动2个进程,2个端口

   1:  [root@master log]# netstat -nlp|grep xrdp
   2:  tcp        0      0 127.0.0.1:3350              0.0.0.0:*                   LISTEN      16922/xrdp-sesman
   3:  tcp        0      0 0.0.0.0:3389                0.0.0.0:*                   LISTEN      16918/xrdp

 

连接,试用

通过windows的远程桌面连过去,有一个输入框,输入系统账号和密码,点“OK”。

debian系:

#apt-get install xrdp
#/etc/init.d/xrdp start

debian9:

$sudo apt install xrdp vnc4server


xrdp的设置:
相关设置放在 "/etc/xrdp/",比较重要的是 "/etc/xrdp/sesman.ini" 这个文件,在 [Globals] 中的这一行:
ListenAddress=127.0.0.1
表示只允许从本机连结 RDP Server,如果要从别的主机进行操作 (配合登入 xrdp 的 "sesman-any" 选项,如不不用这个功能,不用改),可将 "127.0.0.1" 改成 "0.0.0.0"。
登入 xrdp

启动 xrdp 之后,你的 Linux 主机基本上已经具备了接受远端桌面连线的功能,其 Port 为 3389,请用 linux的rdesktop或者Windows 的 "远端桌面连线" 进行登录。
连线后,首先会看到 xrdp 的登录窗口,你可以选择:

sesman-Xvnc: 使用 xrdp 内建的 libvnc.so 模组登入本机,本机不需启动 VNC Server。(默认选这个)
console: 登入本机的 VNC Server。
vnc-any: 登入其它已经启动 VNC Server 的主机。
sesman-any:登入其它有安装 xrdp 的主机。
rpd-any: 登入其它已经启动远端桌面 (RDP Server) 的 Windows 电脑或主机。
sesman-X11rdp: 这个项目我没有测试成功,从字面上的意思来看,应该是连结本机端由 X Server 提供的 RDP,但目前 Linux 的桌面应该还没有具备这样的功能!


桌面环境

以 "sesman-Xvnc" 选项登入 Linux 桌面后,默认是使用 KDE 桌面,但其操作接口是英文的,这些设定都与 "/usr/local/xrdp/startwm.sh" 这个指令档有关。

如果要改成中文环境,请编辑 /usr/local/xrdp/startwm.sh,在程式的第二行加入:

export.UTF-8
这样就可以了。

下面贴一下配置文件的重要部分:

xrdp.ini 关键部分在globals

[globals]
bitmap_cache=yes 位图缓存
bitmap_compression=yes 位图压缩
port=3389 监听端口
crypt_level=low 加密程度(low为40位,high为128位,medium为双40位)
channel_code=1 不知道是什么

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 系统日志记录等级


解决centos中xrdp服务远程桌面不一致问题



发表评论: