Light OS中Arch安装XRDP教学文档

medium

发布于74天前
还没想好签名
本文适用于:

- Light OS安装的Arch Linux
- 部署时勾选XFCE桌面环境

## 1. 先搞清楚 XRDP 是什么

`xrdp` 可以让 Linux 提供 RDP 远程桌面服务。

简单理解:

- 你的 Linux 机器是“被控端”
- 你的 Windows / macOS / 另一台 Linux 是“控制端”
- 控制端通过 RDP 协议连接到 Linux 机器

## 2. 安装前准备

先确认几件事:

1. 你能通过 SSH 登录这台 Linux 机器
2. 你知道这个普通用户的密码
3. 这个普通用户可以执行 `sudo`
4. 网络上能访问这台机器的 `3389` 端口

说明:

- `xrdp` 默认监听 `3389`

## 3. 为什么推荐 XFCE

原因很简单:

- XFCE 轻量
- 跟 `xrdp` 兼容性好
- 出问题时比 GNOME / Wayland 更容易排查

## 4. 小白安装步骤

下面的命令,默认都是在 SSH 终端里执行。

注意:

- 不要用 `root` 账号直接跑 `makepkg`
- 用普通用户登录,然后在需要权限时加 `sudo`

### 第一步:连接到Light OS里的arch,并安装基础工具

![imagepng](https://dl.playground.lazycat.cloud/guidelines/625/daa72757-32ce-4d0e-83d1-d06c5e3ba74a.png "image.png")

![imagepng](https://dl.playground.lazycat.cloud/guidelines/625/ade45d88-b347-484b-a55d-8ee2a80c44dc.png "image.png")

```bash
# 执行:
sudo pacman -S --needed base-devel git gnupg
```

这些包的作用:

- `base-devel`:编译 AUR 软件时需要
- `git`:从 AUR 拉取源码
- `gnupg`:验证签名时需要

### 第二步:安装 XFCE 桌面和编译依赖

```bash
# 执行:
sudo pacman -S --needed xfce4 xorg-xinit xorg-server-devel jack2
```

说明:

- `xfce4`:桌面环境
- `xorg-xinit`:提供 `.xinitrc` 使用环境
- `xorg-server-devel`:编译 `xorgxrdp` 时需要
- `jack2`:提前装好,避免 AUR 构建时出现音频依赖二选一提示

如果你还没装图形环境,这一步时间会比较久,正常。

### 第三步:编译安装 xrdp

进入临时目录:

```bash
cd /tmp
git clone https://aur.archlinux.org/xrdp.git
cd xrdp
makepkg -si
```

说明:

- 第一次执行会下载源码并编译
- 过程中会多次提示输入 sudo 密码,正常输入即可
- 安装完成后会自动生成 `/etc/xrdp/rsakeys.ini`
- 编译会用时较久,lc02用时7分钟左右,请作参考

### 第四步:导入 xorgxrdp 的 GPG 公钥

先执行下面的命令导入公钥才能拉取到下面git仓库内容:

```bash
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 03993B4065E7193B
```

### 第五步:编译安装 xorgxrdp

继续执行:

```bash
cd /tmp
git clone https://aur.archlinux.org/xorgxrdp.git
cd xorgxrdp
makepkg -si
```

如果 `/tmp/xorgxrdp` 已经存在,可以先删掉旧目录,或者直接进入旧目录重新执行。

### 第六步:设置远程登录后启动 XFCE

分别执行:

```bash
echo "exec startxfce4" > ~/.xinitrc
ln -sf ~/.xinitrc ~/.xsession
```

这一步的作用是:

- 告诉 `xrdp` 登录后启动 `XFCE`
- 让 `~/.xsession` 指向同样的配置

### 第七步:启动并设置开机自启

执行:

```bash
sudo systemctl enable --now xrdp
sudo systemctl enable --now xrdp-sesman
```

### 第八步:检查服务是否正常

执行:

```bash
systemctl status xrdp --no-pager
systemctl status xrdp-sesman --no-pager
ss -lnt | rg 3389
```

如果正常,你应该看到:

- `xrdp` 是 `active (running)`
- `xrdp-sesman` 是 `active (running)`
- `3389` 端口处于监听状态

## 5. 客户端怎么连接

### Windows

按 `Win + R`,输入:

```text
mstsc
```

然后:

1. 在“计算机”里输入 Linux 机器的 IP
2. 点击连接
3. 输入 Linux 用户名和密码
4. 登录后应进入 XFCE 桌面

![imagepng](https://dl.playground.lazycat.cloud/guidelines/625/e646d2ba-c8fd-4433-a732-04d131309d02.png "image.png")

### macOS / Linux

可以使用下面任意一个 RDP 客户端:

- mac安装"Windows App"
- Remmina
- FreeRDP

连接时填写:

- 地址:Linux 机器 IP 或域名
- 端口:`3389`
- 用户名:你的 Linux 普通用户
- 密码:该用户密码

```bash
# 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
```

```bash
# arch linux安装及连接代码段:
sudo pacman -S freerdp          # RDP 客户端
xfreerdp3 /v:192.168.xx.xxx /u:用户名 /p:199337 /w:1440 /h:900 /cert:ignore /t:60
```

## 6. 常见问题排查

### 1. 安装 `xorgxrdp` 时提示缺少 `xorg-server-devel`

先补装:

```bash
sudo pacman -S --needed xorg-server-devel
```

再重新安装 `xorgxrdp`。

### 2. 安装 `xorgxrdp` 时提示找不到 `xrdp`

这通常说明 `xrdp` 还没有真正安装成功。

先回到 `xrdp` 目录重新执行:

```bash
cd /tmp/xrdp
makepkg -si
```

确认 `xrdp` 装好以后,再装 `xorgxrdp`。

### 3. 能连上,但黑屏或闪退

优先检查这几项:

1. `~/.xinitrc` 是否是 `exec startxfce4`
2. `~/.xsession` 是否已经链接到 `~/.xinitrc`
3. `xfce4` 是否真的安装了
4. 服务是否正常运行

检查命令:

```bash
cat ~/.xinitrc
ls -l ~/.xsession
pacman -Q xfce4
systemctl status xrdp xrdp-sesman --no-pager
```

### 4. 远程连不上

依次检查:

```bash
ss -lnt | grep 3389
systemctl status xrdp --no-pager
systemctl status xrdp-sesman --no-pager
```

如果服务正常,但客户端还是连不上,就去检查:

- 机器 IP 是否正确
- 防火墙是否放行 `3389`
- 路由器或云安全组是否放行 `3389`

### 5. 查看日志

最常用的排查命令:

```bash
journalctl -u xrdp -u xrdp-sesman -b --no-pager
```

如果想看最新 100 行:

```bash
journalctl -u xrdp -u xrdp-sesman -b --no-pager | tail -n 100
```

评论

0

暂无评论

说点什么呢~
收藏
2
0
0