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,安装中文输入法
浙公网安备 33010602011771号