XRDP on WSL2

1,使用Windows11安装助手升级win11到22H后升级到23H(这是大前提,否则很费劲或问题层出不穷)

2,Linux on Windows: WSL with Desktop Environment via RDP - DEV Community(此步必要且有用)

sudo apt update && sudo apt -y upgrade
sudo apt -y install kali-desktop-xfce
sudo apt-get install xrdp
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
sudo /etc/init.d/xrdp start(这一步测试时需要,最终不需要,因为服务靠systemd拉起了)

3,将/etc/xrdp/xrdp.ini的 port=3390 更改为 port=tcp://:3390。解决只监听ipv4的问题9(此步是监听ipv4的必要)

4, sudo vi  /etc/X11/Xwrapper.config , console->anybody  or dpkg-reconfigure xserver-xorg-legacy(此步可能必要)

5,sudo adduser someuser ssl-cert(读权限) , sudo chmod 644 /etc/ssl/private/ssl-cert-snakeoil.key,/var/log/xrdp*.log有写权限(此步对于使用ssh的rdp必要)

6,wsl的用户是独有的。而不是与windows一致。且一般不建议控制台和远程同时使用(在此耗费了很多时间,此步需注意)

7,wsl --shutdown。netstat -an。ifconfig。whoami(基本检查命令)

8,遇到问题检查/var/log/xrdp*.log(最终此步又不必要了)

9,可能有用,未用。echo xfce4-session > ~/.xsession,then cd, then chmod 755 .xsession。(一般步骤,但在startwm.sh添加之后,此条变得无用了)

编辑startwm.sh

unset DBUS_SESSION_BUS_ADDRESS(无效作废)
unset XDG_RUNTIME_DIR(无效作废)

直接在此文件中添加 startxfce4(此法有效),取代

引用自【Try this:

Edit the xrdp start script: sudo nano /etc/xrdp/startwm.sh

In this file, replace the lines

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession】

10,服务自启动:添加并编辑/etc/wsl.conf,添加systemd 。重启(自启服务所必须)

11,杂项:

sudo systemctl list-unit-files --type=service,(检查)

sudo systemctl enable xrdp.service,(自启必须)

sudo systemctl enable xrdp-sesman.service,(无需,会被xrdp拉起)

sudo useradd -m -s "/bin/bash" someuser,

sudo adduser someuser ssl-cert (如果使用ssl则必须)

由于rdp客户登陆时需要颜色管理器,有必要将该用户加入更高权限组,避免每次都要输入高权限密码。sudo adduser someuser 高权限组

linux用户名区分大小写 

12,协议可降级为RDP,省去安全协商。此法可行。但与协商模式速度上差别不大(最终又改回了安全协商模式)

13,安装中文输入法

posted @ 2023-12-28 16:19  Augustone  阅读(172)  评论(0)    收藏  举报