medium
本文适用于:
xrdp 可以让 Linux 提供 RDP 远程桌面服务。
简单理解:
先确认几件事:
sudo3389 端口说明:
xrdp 默认监听 3389原因很简单:
xrdp 兼容性好下面的命令,默认都是在 SSH 终端里执行。
注意:
root 账号直接跑 makepkgsudo

# 执行:
sudo pacman -S --needed base-devel git gnupg
这些包的作用:
base-devel:编译 AUR 软件时需要git:从 AUR 拉取源码gnupg:验证签名时需要# 执行:
sudo pacman -S --needed xfce4 xorg-xinit xorg-server-devel jack2
说明:
xfce4:桌面环境xorg-xinit:提供 .xinitrc 使用环境xorg-server-devel:编译 xorgxrdp 时需要jack2:提前装好,避免 AUR 构建时出现音频依赖二选一提示如果你还没装图形环境,这一步时间会比较久,正常。
进入临时目录:
cd /tmp
git clone https://aur.archlinux.org/xrdp.git
cd xrdp
makepkg -si
说明:
/etc/xrdp/rsakeys.ini先执行下面的命令导入公钥才能拉取到下面git仓库内容:
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 03993B4065E7193B
继续执行:
cd /tmp
git clone https://aur.archlinux.org/xorgxrdp.git
cd xorgxrdp
makepkg -si
如果 /tmp/xorgxrdp 已经存在,可以先删掉旧目录,或者直接进入旧目录重新执行。
分别执行:
echo "exec startxfce4" > ~/.xinitrc
ln -sf ~/.xinitrc ~/.xsession
这一步的作用是:
xrdp 登录后启动 XFCE~/.xsession 指向同样的配置执行:
sudo systemctl enable --now xrdp
sudo systemctl enable --now xrdp-sesman
执行:
systemctl status xrdp --no-pager
systemctl status xrdp-sesman --no-pager
ss -lnt | rg 3389
如果正常,你应该看到:
xrdp 是 active (running)xrdp-sesman 是 active (running)3389 端口处于监听状态按 Win + R,输入:
mstsc
然后:

可以使用下面任意一个 RDP 客户端:
连接时填写:
3389# mac安装及连接代码段
brew install --cask xquartz # X11 图形支持,安装后需重启 Mac
brew install freerdp # RDP 客户端
重启Mac
xfreerdp /v:192.168.xx.xxx /u:用户名 /p:199337 /w:1440 /h:900 /cert:ignore /t:60
# arch linux安装及连接代码段:
sudo pacman -S freerdp # RDP 客户端
xfreerdp3 /v:192.168.xx.xxx /u:用户名 /p:199337 /w:1440 /h:900 /cert:ignore /t:60
xorgxrdp 时提示缺少 xorg-server-devel先补装:
sudo pacman -S --needed xorg-server-devel
再重新安装 xorgxrdp。
xorgxrdp 时提示找不到 xrdp这通常说明 xrdp 还没有真正安装成功。
先回到 xrdp 目录重新执行:
cd /tmp/xrdp
makepkg -si
确认 xrdp 装好以后,再装 xorgxrdp。
优先检查这几项:
~/.xinitrc 是否是 exec startxfce4~/.xsession 是否已经链接到 ~/.xinitrcxfce4 是否真的安装了检查命令:
cat ~/.xinitrc
ls -l ~/.xsession
pacman -Q xfce4
systemctl status xrdp xrdp-sesman --no-pager
依次检查:
ss -lnt | grep 3389
systemctl status xrdp --no-pager
systemctl status xrdp-sesman --no-pager
如果服务正常,但客户端还是连不上,就去检查:
33893389最常用的排查命令:
journalctl -u xrdp -u xrdp-sesman -b --no-pager
如果想看最新 100 行:
journalctl -u xrdp -u xrdp-sesman -b --no-pager | tail -n 100
评论
0暂无评论