工作台安装了linux桌面发行版,同时想要做远程控制
百度搜索远程linux,结果搜出一大堆的在linux安装vnc,问题是VNC并不好用。
于是继续搜索,搜到了xrdp
centos系:
需要首先配置epelepel真的是太方便了,免除了编译安装的繁琐,我们的目的在于快速使用,而非具体的调优
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: [[email protected] log]# netstat -nlp|grep xrdp2: tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 16922/xrdp-sesman3: 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 系统日志记录等级