windows系统下的Linux子系统----wsl2

目录

本文只介绍安装Ubuntu系统,其他Linux系统安装大同小异,会在功能扩展的方式上有不同,获取kali的功能扩展方式

前提

启用windows系统的虚拟机平台和Linux子系统功能

在PowerShell中分别输入以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

该命令用于开启虚拟机平台。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

该命令用于开启Linux子系统。

在执行以上两条命令时,可能会遇到 重新启动计算机的提示 ,在命令行中输入“Y”确认即可。


也可在控制面板中启用windows系统的虚拟机平台和Linux子系统功能。

方法:在 控制面板>所有控制面板项>程序和功能>启用或关闭windows功能 窗口列表中,找到 适用于Linux的Windows子系统虚拟机平台 勾选启用。

安装WSL2

  1. 下载最新的Linux内核更新包。
  2. 安装完成后,默认是wsl1,在PowerShell中执行以下命令将wsl1默认为wsl2
wsl --set-default-version 2

安装适合的Liunx系统

  1. 打开 Microsoft Store,并选择你偏好的 Linux 分发版。
  2. 首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

到此,你已经完成了windows下Linux子系统的安装。已经可以使用了,但仅仅是一个黑黑的终端窗口。下面就来说一下在windows下使用Linux系统软件的GUI。

功能扩展

使用Linux系统的软件有两种模式,一种是:使用完整的Linux系统桌面系统(GUI)。一种是:仅仅使用指定的某些Linux系统软件(无缝模式)。

无缝模式

三种选择:

  • VcXsrv Windows X Server (免费)
  • X410 App available on Microsoft Store (付费)
  • Kali App available on Microsoft Store (免费) kali官方出品,其他Liunx版暂无测试。

第一种选择:VcXsrv Windows X Server

安装第三方窗口器 VcXsrv Windows X Server :https://sourceforge.net/projects/vcxsrv/

下载并解压后,在根目录下找到 xlaunch.exe 并运行。选择自己喜欢的模式,然后在 Extra settings 窗口下 一定 要勾选 disable the access control 这个很重要。下一个窗口中选择 Save configuration 保存即可。

提示:一定要允许 VcXsrv 访问防火墙设置。

打开安装的Linux版的子系统:

有三种方式获取windows IP:

export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"

export DISPLAY="`sed -n 's/nameserver //p' /etc/resolv.conf`:0"

export DISPLAY=$(ip route|awk '/^default/{print $3}'):0.0

查看ip:

echo $DISPLAY

为了避免每次启动wsl时都需要执行此过程,只需要在 /etc/bash.bashrc 文件夹中的最后位置添加你所选获取windows IP方式。

最后执行:

echo xfce4-session > ~/.xsession

完成,现在可以下载一些Linux app来运行测试了!

e.g. :安装好firefox浏览器(火狐浏览器)即可执行

xxx@xxxx$ firefox	直接输入app的名字

GUI

使用的是xfcexrdp,远程桌面。

依次执行一下命令:

#安装xfce
sudo apt install xfce4
#安装xrdp
sudo apt install xrdp
#保存文件很重要
echo xfce4-session > ~/.xsession

#查看ip
ip a
inet后的是ipv4地址
inet6后的是ipv6地址

运行windows系统下的 远程桌面客户端

可以直接搜索也可以在开始菜单> windows附件下找到。

在弹出的窗口中输入 inet 地址,链接。在新的页面中输入Liunx版子系统的 usernamepassword

至此,全部完成!

可能报错及解决办法

问题描述: 从terminal启动ubuntu1804报错: 参考的对象类型不支持尝试的操作. 直接启动ubuntu1804也不行。

解决方法: 以管理员身份打开Windows PowerShell, 然后执行netsh winsock reset, 重启电脑即可, 如下图所示。


参考文献(资料):https://discourse.ubuntu.com/t/getting-graphical-applications-to-work-on-wsl2/11868

https://techcommunity.microsoft.com/t5/windows-dev-appconsult/running-wsl-gui-apps-on-windows-10/ba-p/1493242

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

https://www.bilibili.com/video/BV1LA411n7BK?t=406

获取kali的功能扩展方式:https://www.bilibili.com/video/BV14v411t7Cs?t=204

声明:参考中的视频链接与本人无任何关系,本人只是知识上借鉴的引用,无任何其他用途。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐