win10 使用WSL2 添加Linux子系統,設置圖形桌面,並設置開機啟動桌面服務


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遠程桌面也可以直接訪問了!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM