xrdp 相对 vnc 以及第三方的其他的原创桌面的软件 例如 todesk rustdesk(自建) nomactione 以及 串流等,都有速度优势。
但是xrdp 肯定是只支持x11/xorg的,目前只有gnome自带的远程(用户级且不稳定)支持Wayland
在不同桌面的下 xrdp的处理也稍有差异,这里分别记录常见的
安装配置xrdp
这里跳过桌面环境的搭建 kde、i3、xfce4 ,以及驱动部分,只记录xrdp相关的
1
2
3
4
5
| sudo pacman -S xorg-xinit # 一般桌面应该都带了
sudo pacman -S base-devel #all 一些编译要用的包
yay -S xrdp
yay -S xorgxrdp-glamor
sudo pacman -S xorg-xrdb
|
声卡的处理要用pulseaudio
1
2
3
4
| sudo pacman -S pulseaudio
sudo pacman -S sbc bluez
yay -S pulseaudio-module-xrdp
|
处理启动脚本
xrdp 使用xinit 启动
1
2
3
4
5
6
7
8
| cp /etc/X11/xinit/xinitrc ~/.xinitrc #复制一个过来
nano ~/.xinitrc
#注释掉最后的几行
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
|
pulseaudio
1
2
3
| # 声音部分可能需要 有的桌面环境不需要
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa pulseaudio --daemonize=no
pulseaudio &
|
添加需要启动的桌面
i3w / dwm
添加一行
gnome
1
2
3
| unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec dbus-launch gnome-shell --x11
|
kde
1
2
| export DESKTOP_SESSION=plasma
/usr/lib/plasma-dbus-run-session-if-needed startplasma-x11
|
xfce4
1
2
3
| unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec dbus-launch startxfce4
|
后续处理
Xwrapper
1
2
| sudo nano /etc/X11/Xwrapper.config
allowed_users=anybody
|
启动xrdp
1
2
| sudo systemctl enable xrdp
sudo systemctl start xrdp
|