配置Xrdp - 通过RDP连接Arch Linux KDE远程桌面

Tag: archl的简单。基本上参考ArchWiki

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 安装必要的软件包,其中 xorgxrdp-glamor 可以硬件加速
gpg --recv-keys 03993B4065E7193B
paru -S xrdp xorgxrdp-glamor pulseaudio-module-xrdp
# 修改配置文件
echo "allowed_users=anybody" | sudo tee /etc/X11/Xwrapper.config
cp /etc/X11/xinit/xinitrc ~/.xinitrc
# 注释掉.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
echo "export DESKTOP_SESSION=plasma" >> ~/.xinitrc
echo "exec /usr/lib/plasma-dbus-run-session-if-needed startplasma-x11"  >> ~/.xinitrc

# /etc/pam.d/xrdp-sesman 加入kwallet5相关的配置
-auth   optional  pam_kwallet5.so
session         optional        pam_keyinit.so force revoke
-session  optional  pam_kwallet5.so auto_start

# /etc/polkit-1/rules.d/49-nopasswd_global.rules 需要添加一些配置
/* Allow members of the wheel group to execute any actions
 * without password authentication, similar to "sudo NOPASSWD:"
 */
polkit.addRule(function(action, subject) {
    if ((  action.id == "org.freedesktop.policykit.exec"
    || action.id == "org.fedoraproject.FirewallD1.all"
    || action.id == "org.fedoraproject.FirewallD1.config"
    || action.id == "org.freedesktop.NetworkManager.settings.modify.system") &&
      subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});
# 如果还有权限问题
sudo systemctl edit polkit.service
# 打开调试
[Service]
Environment=G_MESSAGES_DEBUG=all
ExecStart=
ExecStart=/usr/lib/polkit-1/polkitd
# 然后把相应的权限添加到rules中

# 启用xrdp服务
sudo systemctl enable --now xrdp.service xrdp-sesman.service

然后就拿出iPad,用微软的RDP客户端连Arch Linux吧。微软的RDP客户端有个问题,不能手动设置Network connection type。需要设置成LAN来开启压缩,不然网络流量会很惊人。iPad上默认是对的,但是调高分辨率后,反而没有开启压缩了。

iPad+键盘,连远程桌面写代码,这才是生产力!