Windows 图形化界面子系统安装教程

Windows 图形化界面子系统安装教程

一、概述

为什么需要Windows子系统?

WSL(Windows Subsystem For Linux)是Windows自身提供的对Linux系统的支持套件。

相较于双系统,WSL省去了来回切换系统的工作;相较于VM,WSL提供了更高的性能。

安装WSL的必要条件?

几乎大部分的Win10系统都能安装WSL,但都是没有GUI的那种。

本文探讨的也是这种情况下如何为命令行添加图形渲染能力。

在Win10 Insider Preview内部版本21362+以后提供官方渲染工具WSLg,无需本文中繁琐步骤能一步到位,有条件的朋友可以通过更新系统直接体验。

Microsoft官方同时也宣布Win11内部版本22000或更高版本也支持Linux GUI应用的安装,感兴趣的朋友可以自行参考官方文档

二、安装步骤

注: 本安装步骤以Ubuntu18.04为例,其它系统同理

2.1 安装子系统

  1. 打开开发者模式(非管理员账号登录的同学请移步到文末,有解决方案)

    image-20211222132615752

    image-20211222132634662

    image-20211222132658431

  2. 打开或关闭Windows功能中添加Hyper-V支持和WSL支持

    image-20211222135600985

    image-20211222135754393

    image-20211222135831372

  3. 重启电脑应用更新

  4. 打开Windows应用商店,搜索并安装Ubuntu(以ubuntu18.04为例)

    image-20211222140108575

    image-20211222140316129

  5. 设置默认管理员角色

    至此我们已经可以在开始菜单中找到安装好的Ubuntu

    image-20211222140640695

    先不着急启动,我们配置一下管理员角色,可以省去我们以后每条指令都要加“sudo”的烦恼

    打开Ubuntu安装目录(我是 C:\Users\{user}\AppData\Local\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc)执行以下指令即可

    ubuntu1804.exe config --default-user root
    

2.2 安装图形化界面

  1. 切换WSL版本

    • 下载并安装WSL2内核更新包

    • 管理员身份运行PowerShell执行以下指令升级WSL

      # 查看当前版本 如果VERSION是1才切换
      wsl -l -v
      # 关闭wsl
      wsl --shutdown
      # 重启vm service
      Get-Service vmcompute | Restart-Service
      # 切换版本,切换版本会中断子系统
      wsl --set-default-version 2 / wsl --set-version Ubuntu-18.04 2
      # 等待数分钟后查看切换后的结果
      wsl -l -v
      
  2. 安装MobaXterm,Moba为子系统提供了图形化渲染接口

  3. 安装好后设置Moba X11,主要是设置权限控制方式和剪贴板

    image-20211222142021763

  4. 重启电脑

  5. 重启电脑后打开Moba,通过Moba连接Ubuntu命令行界面(如果此步出现问题可以移步至文末查找解决方案)

    image-20211222142249605

  6. 连接后在Ubuntu下执行指令,配置图形化界面ip和端口

    vim ~/.bashrc
    # 编辑模式里加入以下脚本,该脚本自动找路由第二跳,也就是WSL虚拟网卡IP,在Windows下用ipconfig可以看到WSL网卡地址
    export DISPLAY=`ip route | grep default | awk '{print $3}'`:0
    # 使脚本立即生效
    source ~/.bashrc
    
  7. 然后我们就可以下载IDEA在命令行执行以下命令启动idea

    # 先cd到你Ubuntu IDEA安装bin目录下
    sh idea.sh
    
  8. Moba会自动帮我们渲染出IDEA的图形化界面,剩下步骤和我们在Windows上使用一样

2.3 后续

  • 非管理员账号登录打开开发者模式

    注: 这一步是针对非管理员账号登录,但是能申请到管理员权限(比如公司、网吧非PC的权限管理方式),如果拿不到管理员权限就没必要继续下去了

    非管理员账号无法直接通过设置打开开发者模式,但是可以通过修改注册表的方式实现同样的效果。

    非管理员账号进入开发者选项大概率会看到以下的界面:

    image-20211027105153590

    Follow以下步骤即可完成开启工作:

    1. 使用管理员身份运行CMD

      image-20211222092206290

    2. CMD中输入以下内容回车

      regedit
      
    3. 打开注册表编辑器后找到键值

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock
      

      image-20211222092407027

    4. 右键新建DWORD值名为AllowDevelopmentWithoutDevLicens,双击输入值为1(进制无所谓)

    5. 再增加一项AllowAllTrustedApps 也是Dword 值为1

    6. 这样就打开了开发者模式(注意图形界面显示可能是没有打开,但是实际打开了)

    7. 不放心可以重启下电脑

  • Moba连不上Ubuntu

    常发生于重启电脑第一次连接时,重启下服务就好了,PowerShell管理员权限执行以下指令:

    restart-service vmms
    
  • Windows下Ubuntu挂载位置

    我的电脑里是以下路径

    C:\Users\{user}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ling
    
  • Ubuntu连不上网

    如果Windows网络好用的情况下,Ubuntu连不上很可能是Name Server的问题

    在Ubuntu下执行以下指令

    sudo rm /etc/resolv.confsudo bash -c 'echo "nameserver 10.237.161.149" > /etc/resolv.conf'sudo bash -c 'echo "[network]" > /etc/wsl.conf'sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'sudo chattr +i /etc/resolv.conf
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值