Linux下远程桌面连接Xrdp+vnc+xfce4以及黑屏等问题
技术分享|2019-12-23|最后更新: 2023-9-4
type
status
date
slug
summary
tags
category
icon
password
order
update: 2021-12-9 10:52
目前新版的xrdp不需要这样指定端口重连了
只需要设置/etc/xrdp/xrdp.ini中Xvnc片段的port为-1就可,他自己会复用
因为他启动的vnc进程是随机密码,所以重连时使用指定的5910端口+系统账户是登录不上了,只能让他自动选择端口登录
问题1:xrdp service fails to start,xrdp用systemctl start启动时发现失败,查看错误信息、日志也没啥明确提示,解决方案如下,意思是缺少了xrdp.log这个文件
问题2:黑屏问题:Xfce4会自动锁屏,当你远程桌面断开连接一阵子在恢复,会发现黑屏,这时候不管teamviewer还是什么都连不了的,所以需要关掉自动锁屏,在第一次远程连接上桌面后,左上角Applications-->Settings-->Power Manager, Security标签,"Automatically lock the session"-->"Never" 从不锁定,就OK了。
用Xrdp是因为比VNC好很多,磁盘共享这种附带功能不说,关键是RDP的算法,用起来要比VNC这RFB快
VNC采用的RFB算法,下面放一下他们俩的主要区别、
RFB是在服务器端将窗口在显存中画好之后将图像传给客户端,客户端只充当一个图像解码显示的角色;
RDP则将画图的工作交给了客户端,服务器需要了解客户端显示能力的具体情况,以便作出相应调整。 RFB主要传图像,RDP主要传指令。就一般应用而言,RFB数据量太大,RDP对客户端要求较高,因此RFB适用于瘦客户端,RDP适用于低速网络。
下面开始安装教程,以下都是在debian9下操作的,centos也大同小异,安装命令用yum即可
1.首先更新下包列表
apt-get update
2.安装vnc以及xfce4和xrdp
apt install xfce4 xfce4-goodies tightvncserver xrdp
3.修改配置文件用于启动xfce4桌面
echo xfce4-session >~/.xsession
以及在 vi /etc/X11/Xsession
首行添加xfce4-session,如图
 
notion image
前两步就是安装配置vnc+xfce4,vnc不需要多余的配置
3.配置xrdp
首先说下 xrdp目录位于/etc/xrdp,log位于/var/log下的xrdp开头以及syslog都可以看,出现问题可以看看日志
xrdp不配置的话不支持断开连接后同用户恢复链接
vi /etc/xrdp/xrdp.ini
往下找,找到; Session types这一段,在下面加上这两条配置内容
Session types配置对应的就是你远程连接时,登陆界面那个菜单
notion image
notion image
编辑完保存,执行service xrdp restart 或systemctl restart xrdp重启xrdp
然后我再说下配置含义
上面的[XXXX]不要动,代表的是另一个配置文件里的配置
name就是远程桌面时,菜单里显示的名称
lib自然就是用的哪个程序去连接
username/password ask的意思是询问,让你输入,你可以可以直接把ask改成你用户名/密码 但是肯定是不安全的
port为-1,代表自动分配端口,为其他数字则指定(第一次连接时不可指定)
这时候看上面那个Reconnect配置,里面port参数是写死的5910,就是为了可以恢复之前的连接。
xrdp默认端口是3389,用本机的mstsc或者其他支持RDP的都可以,
还有xrdp端口修改的话,还是修改/etc/xrdp/xrdp.ini里,前面有个port参数,修改完记得重启服务
我们每次使用时,Session选择[Xvnc] (LoneKing) 这个配置去连接一次,然后去ssh下执行netstat -tlnp | grep vnc查看他连接的是哪个端口,这时候要把Reconnect里那个port=5910改成对应的这个端口,不过一般默认的就是5910,应该不用改。
这样的话,我们再断开连接, 以后随时Session选择Reconnect恢复连接即可,不会丢失之前的工作。
愉快的玩耍吧~
notion image
 
记一次mysql断电后恢复Linux下tinyPortMapper端口转发的使用