WSL系统安装与使用

1.7k words

WSL是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

官方教程

启用子系统

  • 控制面板 -> 程序和功能 -> 启用或关闭Windows功能 -> 勾选 适用于Linux的Windows子系统

  • 控制面板 -> 程序和功能 -> 启用或关闭Windows功能 -> 勾选 虚拟机平台

image-20211208114609489

安装Ubuntu

  1. 下载Ubuntu20.04系统,可以将系统下载到其他盘上

  2. 修改文件后缀名:Ubuntu20.04.appx --> Ubuntu.zip,并解压

  3. 双击exe文件,输入用户名与密码即可

    image-20211208114959128

  4. 使用默认登录用户为root

    • 打开管理员模式下的cmd,输入./ubuntu2004.exe config --default-user root
    • 输入 net stop lxssmanager重启wsl即可

WSL配置与使用

1
2
3
4
5
6
7
8
9
10
#更新
wsl --update
#查询已安装的子系统
wsl -l -v
#设置默认系统为wsl2
wsl --set-default-version 2
#将已安装的子系统升级到wsl2
wsl --set-version Ubuntu 2
#删除子系统
wslconfig /unregister xxx
  • WSL2需要保证Winows版本不低于19041
  • windwos下访问子系统目录,在文件夹路径栏上输入:\\wsl$
  • WSL1和WSL2的区别

image-20211209090047432

  • WSL2与VMware和VirtualBox的共存:需要VMware15.5.5+,VirtualBox 6+才能打开

32位交叉编译环境配置

  • 只支持WSL2版本
1
2
3
4
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 -y
sudo apt-get install g++ -y

运行图形界面

window内核版本为21+

先在windows更新WSL:wsl --update, 再在linux安装界面程序:apt-get install gedit,win10 21+系统内置了WSLG(GUI)功能,可以在Window菜单发现多了一个Ubuntu目录,其中显示了已经安装的界面程序,直接点击即可运行:

image-20211216103137449

内核版本不支持

  1. 安装VcXsrv Windows X Server download | SourceForge.net

  2. 打开并配置VcXsrv

    image-20211216103507780

    image-20211216103527258

    image-20211216103540971

    1. linux设置显示的服务端

      • 打开bashrc文件:vi ~/.bashrc
      • 在文件最后添加两行并保存:
      1
      2
      3
      #下面的IP地址为window的ip
      export DISPLAY=192.168.0.218:0
      export LIBGL_ALWAYS_INDIRECT=1
      • 刷新配置:source .bashrc
      • 测试界面软件:gedit test.ini

开启桥接网络

配置Hyper-V

  1. 打开以太网配置属性,如果Hyper-V可扩展的虚拟交换机有开启的话,需要先关闭

    image-20220615150618915

  2. 打开Hyper-V管理器,点击虚拟交换机管理器

  3. 选择WSL,连接类型选择外部网络,然后点击应用即可

image-20220526101518816

image-20220526101931101

WLS配置

  1. 设置IP

    1
    2
    3
    4
    5
    6
    7
    #静态IP
    ip addr flush dev eth0
    ip addr add 192.168.0.155/23 broadcast 192.168.1.255 dev eth0

    #动态IP
    apt-get install udhcpc
    udhcpc
  2. 设置路由

    1
    ip route add 0.0.0.0/0 via 192.168.1.1 dev eth0
  3. 设置DNS解析

    • 打开wsl配置 vi /etc/wsl.conf,输入
    1
    2
    [network]
    generateResolvConf = false
    • 打开dns配置 /etc/resolv.conf,输入
    1
    2
    3
    nameserver 192.168.1.1
    nameserver 114.114.114.114
    nameserver 223.5.5.5
Comments