Deepin GNU/Linux的WSL 2发行版
<h1 id="deepin-gnulinux的wsl-2发行版">Deepin GNU/Linux的WSL 2发行版</h1><p>本文旨在引导制作支持在WSL 2正式版上完整运行的Deepin GNU/Linux发行版。</p>
<h2 id="系统要求">系统要求</h2>
<p>能够正常安装及使用WSL 2 1.0.0版本(Windows 11)。最少要求能够支持systemd。</p>
<h2 id="使用虚拟机安装deepin-gnulinux">使用虚拟机安装Deepin GNU/Linux</h2>
<p>安装时选择手动安装,<strong>只需要</strong>创建一个boot分区以及一个root分区就行。<br>
安装完成待到要重启时,按住Ctrl Alt F2切换到tty2。</p>
<h2 id="导出根文件系统">导出根文件系统</h2>
<ol>
<li>切换到root用户</li>
<li>挂载安装的root分区,例如</li>
</ol>
<pre><code class="language-cpp"># cd /tmp
# mkdir rootfs
# mount /dev/sda2 rootfs
</code></pre>
<ol start="3">
<li>打包根文件系统,例如</li>
</ol>
<pre><code class="language-cpp"># cd rootfs
# echo > etc/fstab
# tar -zcvf deepin.tar.gz * --exclude=deepin.tar.gz
</code></pre>
<ol start="4">
<li>导出根文件系统<br>
可以通过重启,在grub界面选中第一行按Tab键编辑,把livecd-installer改成livecd,按F10。启动后通过smb等方式把安装的root分区下的deepin.tar.gz导出来。</li>
</ol>
<h2 id="为wsl-2安装deepin-gnulinux">为WSL 2安装Deepin GNU/Linux</h2>
<ol>
<li>导入WSL<br>
这个自己看LxRunOffline怎么用,例如</li>
</ol>
<pre><code class="language-bash">LxRunOffline i -n deepin -f C:\Users\feihong\Downloads\deepin.tar.gz -d C:\Users\feihong\AppData\Local\deepin
</code></pre>
<ol start="2">
<li>升级成WSL2<br>
例如:</li>
</ol>
<pre><code class="language-bash">wsl --set-version deepin 2
</code></pre>
<h2 id="开启systemd支持">开启systemd支持</h2>
<p>为wsl的deepin添加systemd支持<br>
https://baijiahao.baidu.com/s?id=1744728044698772539&wfr=spider&for=pc</p>
<h2 id="修改lightdm配置">修改LightDM配置</h2>
<ol>
<li>修改/etc/lightdm/lightdm.conf及/etc/lightdm/lightdm.conf.real<br>
通过 <code>ip route | grep default | awk '{print $3; exit;}'</code>获取WSL 2网关。<br>
为lightdm.conf追加如下内容</li>
</ol>
<pre><code class="language-clike">type=xremote
xserver-hostname=[网关] //替换此处
xserver-display-number=0
</code></pre>
<p>修改lightdm.conf.real,找到 <strong></strong> 之后与上述追加内容相同的字段,去掉开头的 <strong>#</strong> ,修改成相同的内容。</p>
<h2 id="配置x显示服务">配置X显示服务</h2>
<p>打开X410,改成Floating Desktop模式,勾选Allow full public access。重启</p>
<h2 id="重启wsl的deepin-gnulinux">重启WSL的Deepin GNU/Linux</h2>
<p>例如</p>
<pre><code class="language-bash">wsl -t deepin
wsl -d deepin
</code></pre>
<p>此时应当能够看到Deepin的初始化配置界面了</p>
<h2 id="设置默认登录用户">设置默认登录用户</h2>
<p>图形界面登录似乎有一点点问题,因此需要设置成自动登录。<br>
修改/etc/lightdm/lightdm.conf 组之后的autologin-user字段,去掉注释,后面添加你的用户名。</p>
<h2 id="使用wslg">使用WSLg</h2>
<p>Deepin自带的wine.cfg等会破坏WSLg的正常使用,因此需要替换并修复</p>
<ol>
<li>删除/etc/binfmt.d/wine.cfg</li>
<li>添加/etc/binfmt.d/WSLInterop.conf</li>
</ol>
<pre><code class="language-cpp"># Enable WSL Interop
:WSLInterop:M:0:MZ::/init:PF
</code></pre>
<p>支持Xnest的LightDM尚未完善,请待后续</p>
<h2 id="结束">结束</h2>
<p>似乎窗口特效开不了,其他的没什么大问题。<br>
原本是想修改LightDM使之适用于Xnest的显示服务器,这样就可以直接使用WSLg提供的显示服务运行Xnest为系统提供显示服务。但是Deepin似乎与WSLg存在兼容性问题,会导致WSLg崩溃。</p>
<h2 id="联系方式">联系方式</h2>
<p>QQ群:236510798</p>
<h2 id="版权声明">版权声明</h2>
<p><strong>严禁转载至CSDN</strong></p><br><br>
来源:https://www.cnblogs.com/mobeisiran/p/16987272.html
頁:
[1]