PC机Manjaro KDE Plasma的远程桌面配置

半年前在树莓派上配置了远程桌面,近期看到Red Hat、Canonical公司在开源政策上的一些变化,所以就想继续在PC上深入体验,为了方便使用,首先解决了Manjaro(KDE Plasma)的远程桌面连接问题。简单做个记录。

基本配置

  • 操作系统:Manjaro Plasma Desktop
  • xrdp版本:
    • xorgxrdp 0.9.19-2
    • xrdp 0.9.22.1-1
    • pulseaudio-module-xrdp 0.7-1

1688548028536

配置步骤

安装xrdp相关包

在AUR中关于xorgxrdp和xrdp有多个版本,在这里我选择的是xrdpxorgxrdp。首先安装好yay,然后执行命令

1
yay -S xrdp xorgxrdp

如果要提供声音功能还需要安装pulseaudio-module-xrdp

修改配置文件

需要修改的配置文件包括~/.xinitrc/etc/xrdp/startwn.sh/etc/X11/xrdp/xorg.conf,分别如下:

修改~/.xinitrc

在文件末尾做如下修改

1
2
3
4
5
6
7
8
# 注释掉原来的命令
# exec $(get_session "$1")

# 如果安装了pulseaudio-module-xrdp,才可以使用
pulseaudio-module-xrdp

# 修改启动命令,注意只适用于KDE Plasma桌面
/usr/lib/plasma-dbus-run-session-if-needed startplasma-x11

修改/etc/xrdp/startwm.sh

确认xrdp会读取~/.xinitrc

1
2
3
4
5
6
7
# arch user
if [ -r ~/.xinitrc ]; then
pre_start
. ~/.xinitrc
post_start
exit 0
fi

修改/etc/X11/xrdp/xorg.conf

由于我的计算机是Nvidia显卡,并且安装了相应的包,如果直接运行就无法启动会话,查了以下可能是xorg会加载Nvidia的GPU驱动,解决办法参考:

Section "Screen"下面增加GPUDevice ""

image-20230706094918717

我没有在Section "ServerFlags"下添加Option "AutoAddGPU" "off" ,如果上面的修改不起作用可以试下。

修改默认启动环境

如果启动之后直接进入桌面环境,可能会导致远程桌面环境无法启动,为了解决这个问题,需要设置默认运行级别为多用户模式:

1
systemctl set-default multi-user.target

启动服务

配置完成,启动相关服务

1
2
3
4
sudo systemctl enable xrdp
sudo systemctl enable xrdp-sesman
sudo systemctl start xrdp
sudo systemctl start xrdp-sesman

连接测试

image-20230706112901812

一些问题

  1. Nvidia显卡的支持问题,尝试使用xorgxrdp-nvidia来支持Nvidia显卡,但是没能够正确启动;
  2. 远程声音的问题,与远程Windows相比,使用pulseaudio-module-xrdp 的性能较差,可能用Pipewire会更好一些
  3. 桌面窗口尺寸的问题,如果以不同的分辨率登录,窗口的适配会出现问题,解决的办法是logout然后重新登录。

参考资料

  1. https://wiki.archlinux.org/title/xrdp
  2. https://github.com/neutrinolabs/xrdp/discussions/
  3. https://zhuanlan.zhihu.com/p/412486314