参考视频教程:windows如何远程控制linux?
https://www.zhihu.com/question/589914061/answer/3032010084?utm_id=0
UOS&windows远程协助:使用xrdp实现远程访问和远程控制(https://www.cnblogs.com/drgcaosheng/p/17759682.html)
Xrdp 体验优化 减少/解决画面卡顿(https://blog.csdn.net/wu_weijie/article/details/116158271)
内网远程连接
在linux命令行里
首先更新软件包:sudo apt update
安装xrdp服务:sudo apt install xrdp
启动XRDP:sudo systemctl start xrdp(如果在启动的时候有提示错误,有可能是端口冲突可以重启ubuntu后再重新测试)
再查看一下服务状态:systemctl status xrdp(正常显示为active表示启动成功)
把XRDP设置为开机自启动:sudo systemctl enable xrdp
设置->共享->远程桌面
查看ubuntuIP地址:ifconifg or ip addr
为了防止连接出现问题,可以先在防火墙中添加一个3389端口:sudo ufw allow from any to any port 3389 proto tcp
退出ubuntu登陆使系统处于锁屏界面
使用window远程连接出现XRDP连接界面,输入用户名密码登陆,连接成功。
解决远程连接后黑屏问题
修改startwm.sh文件(如果不修改,从Windows连接到统信UOS时,会显示黑屏,需要在统信UOS上的终端里执行init 3命令,退出图形化界面,进入字符界面后,远程桌面才能正常显示)
在终端中执行sudo vim /etc/xrdp/startwm.sh
在最后两行的前面添加如下内容:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
重启xrdp服务或系统
uos@uos-PC:~$ sudo systemctl restart xrdp
解决远程连接卡顿问题
调整 Xrdp 配置参数
编辑 /etc/xrdp/xrdp.ini
tcp_send_buffer_bytes=4194304
tcp_recv_buffer_bytes=6291456
tcp_send_buffer_bytes, tcp_recv_buffer_bytes 两个参数默认被注释了,注释默认值(32768),根据实际情况进行调整。
调整系统参数
临时生效
sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_max=8388608
重启后保留
将以下内容写入配置文件 /etc/sysctl.conf
net.core.rmem_max = 12582912
net.core.wmem_max = 8388608
然后执行
sudo sysctl -p
重启 xrdp 服务生效
sudo systemctl restart xrdp
解决远程连接无法显示QtGUI问题
安装xcb插件
sudo apt-get install libxcb-xinerama0 libxcb-xinerama0-dev
内网穿透
使在公网环境下也可以远程桌面控制ubuntu
使用cpolar内网穿透工具,创建一个安全隧道将3389端口下的XRDP服务映射到公网上,然后通过所生成的公网地址来远程控制ubuntu。回到linux系统,在浏览器访问cpolar官网,下载安装cpolar,https://www.cpolar.com/,根据官网一键自动安装脚本赋值命令即可安装,查询版本号是否安装成功,下一步token认真,需要登陆到cpolar官网后台。