Win10 子系统安装
更新WSL2需要Windows10版本2004且内部版本高于19041。
安装过程可参考 https://blog.csdn.net/qq_33306246/article/details/107367629
图形桌面安装
安装过程可参考https://zhuanlan.zhihu.com/p/149501381
该文章中提到了重要的一点 由于WSL2里面不能用systemd,所以需要手动启动
自动启动win10 Linux子系统程序
参考第三篇文章 https://blog.csdn.net/hiqiming/article/details/105244147
我的启动脚本如下
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-20.04 -u root /etc/init.wsl"
实际测试脚本执行了,但是远程连接并不能连接上
问题分析
在测试脚本时,每次都重启太麻烦,于是直接使用 (在win10中运行命令 启动子系统中 桌面服务)来测试。
但是运行命令后,使用远程工具连接并不能成功。(但是从子系统中直接运行命令却可以成功)
会不会是权限问题。
我用管理员权限运行
wsl -d Ubuntu-20.04 -u root /etc/init.wsl
发现居然成功了。
更诡异的事情
我又试了一下mysql,看看mysql和xrdp是不是一样的效果,发现mysql可以成功,但是xrdp不可以。
init.wsl 文件如下
#! /bin/sh
/etc/init.d/xrdp start
service mysql start
但是如果重启会发现mysql会报一个异常关机的错误。
为了消除该错误,我们在启动mysql服务前先关闭mysql服务
修改后init.wsl 文件如下
#! /bin/sh
/etc/init.d/xrdp start
service mysql stop
usermod -d /var/lib/mysql/ mysql
service mysql start
然后 mysql没问题,xrdp远程桌面也可以直接访问了!!!