Ubuntu 使用XRDP 实现远程桌面连接-安装+配置+体验优化

2023-11-06 10:34:01 浏览数 (3)

XRDP是一个跨平台的远程桌面连接工具,可以在Windows和Linux上使用。在Ubuntu上使用XRDP可以让你从Windows计算机远程连接到Linux服务器,进行文件传输、远程控制等操作。

安装XRDP

首先,需要在Ubuntu上安装XRDP。打开终端,输入以下命令进行安装:

代码语言:javascript复制
sudo apt updatesudo apt install xrdp

安装完成后,可以通过输入以下命令来检查XRDP是否安装成功:

代码语言:javascript复制
xrdp --version

连接黑屏问题

这个问题,主要是当你的本机没有注销的话,远程桌面就会黑屏,最佳解决策略就是退出本地登录,也就是注销登录,这个方法一定没问题。与windows那种完美的远程控制不同,在ubuntu中,本地登录和远程登陆是隔离开的,远程登录了不注销,那么本地就会黑屏,反过来本地登陆了不注销,远程就会黑屏。所谓注销就是logout,应该都懂,就是和关机、重启放在一起的那个选项。

或者使用网上的一些解决方案,但是这个放在在Ubuntu 22中会导致闪退。即,编辑 /etc/xrdp/startwm.sh 文件:

1. 打开文件

代码语言:javascript复制
sudo vim /etc/xrdp/startwm.sh

2. 添加配置

代码语言:javascript复制
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

3. 重启xrdp服务

代码语言:javascript复制
sudo systemctl restart xrdp.service

桌面优化

注意,一定要先修改下面配置文件,再远程连接,否则会黑屏,这个时候需要重启。

反正记住一句话,重启后不在本地登录,那么远程必不黑屏!

如果不做任何配置,启动之后的桌面是非常别扭的,因为是Gnome的原始桌面,没有左侧的任务栏,窗口也没有最小化按钮,等等一些列问题。解决方案也很简单:

1. 添加配置文件

代码语言:javascript复制
vim ~/.xsessionrc

添加:

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg

2. 重启xrdp服务

代码语言:javascript复制
sudo systemctl restart xrdp.service

此时再连接,你将得到与原生桌面完全一样的效果!

Xrdp 体验优化 减少/解决画面卡顿

调整 Xrdp 配置参数

编辑 /etc/xrdp/xrdp.ini

代码语言:javascript复制
tcp_send_buffer_bytes=4194304
tcp_recv_buffer_bytes=6291456

tcp_send_buffer_bytes, tcp_recv_buffer_bytes 两个参数默认被注释了,注释默认值(32768),根据实际情况进行调整。

调整系统参数

临时生效

代码语言:javascript复制
sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_max=8388608

重启后保留

将以下内容写入配置文件 /etc/sysctl.conf

代码语言:javascript复制
net.core.rmem_max = 12582912
net.core.wmem_max = 8388608

然后执行

代码语言:javascript复制
sudo sysctl -p

重启 xrdp 服务生效

代码语言:javascript复制
sudo systemctl restart xrdp

.jztagtree{max-height:85vh;left:0px}.jzDown{top:10vh}.jztagtree li a{background-color:#448EF6}.jztagtree li a:before{border-right:10px solid #448EF6}.jztagtree li a:hover{background:#0045a6}.jztagtree li a:hover::before{border-right:10px solid #0045a6}

$("#jztoc").toc({content: ".post-body", headings: "h2,h3,h4"});

1 人点赞