XuLizhao 's Notes

时光,漫步


  • 首页

  • 技术

  • 文档

  • 关于

  • 搜索
close

在Win10下使用Linux无缝开发

时间: 2020-02-23   |   分类: Tech     |   阅读: 1385 字 ~3分钟

Windows进化到10后,最惊喜的功能是支持Linux子系统,即所谓的WSL: Windows Subsystem for Linux.

当时基本第一时间升级到最新版,对于开发者来说,总算可以替代Mac作为主力机了. 之前我通常都是使用VirtualBox或Hyper-V安装Ubuntu虚拟机.

该系统一直在演进,最新的WSL2相当于内嵌纯原生Linux内核,还能支持docker等,文件系统性能据说提升20倍.

另一个好消息是,新版 Win10 Home/家庭版也可以安装Linux子系统了(64位系统的要求大部分都已经满足了).

注: WSL2 需要 Win10升级到2004(即2020年5月更新)

升级到Windows10最新版

每次有大更新发布时需要到官网下载并安装Windows 10易升

按提示升级系统就好.

注: 之前我以为安装一次"易升"就总是可以更新系统,实际不是这样.

查看当前系统版本

快捷键: Win + R 然后输入 winver

配置和使用 WSL: Ubuntu 22.04

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 下载 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
wsl --set-default-version 2

安装

首先开启Linux子系统: [控制面板\所有控制面板项\程序和功能] - 启用或关闭Windows功能 - 勾选“适用于Linux的Windows子系统”

到Windows应用商店搜Ubuntu,然后"获取"就行了.

查看当前版本

# 比较诡异的是,既然已经支持WSL2了,默认居然是WSL1
wsl -l -v
# 切换到WSL2
wsl  --set-version Ubuntu-22.04 2

更新国内镜像

vi /etc/apt/sources.list

替换 archive.ubuntu.com 为mirrors.aliyun.com

:%s/archive\.ubuntu\.com/mirrors\.aliyun\.com/gc

使用

PowerShell进入Ubuntu: bash

在2019秋季更新后,WSL可以可以无缝访问Linux文件. 有两种方式:

  • 直接使用文件资源管理器: explorer.exe .
  • 命令行或文件系统浏览: \wsl$\Ubuntu-22.04

解决 wsl cannot execute binary file: Exec format error

wsl  --set-version Ubuntu-22.04 2

常规操作

安装git 和 brew

sudo apt-get install build-essential curl file git

git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew
mkdir ~/.linuxbrew/bin
ln -s ~/.linuxbrew/Homebrew/bin/brew ~/.linuxbrew/bin
eval $(~/.linuxbrew/bin/brew shellenv)

Goland

[构建、执行、部署]-[运行目标],添加WSL

  • /usr/local/go/bin/go
  • /home/xulz/go

构建时建立选项,勾选在远程目标上构建

ssh

ssh 别名 遇到错误: " Bad owner or permissions on /home/xulz/.ssh/config “的解决方法:

chmod 600 ~/.ssh/config

Windows Terminal

官方总算有好用的多标签终端了,可以到 商店下载.

注: 需要升级系统到1903+

快捷键:

  • 新标签: Ctrl + Shift + t
  • 复制标签页: Ctrl + Shift + d
  • 快捷命令面板: Ctrl + Shift + p
  • 拆分窗格: Alt + Shift + +/-
# 文件资源管理器 - 导航栏 输入
wt -d .

# 生成新guid
New-Guid
{
  "commandline": "ssh root@moon",
  "startingDirectory": "D:/coding",
  "icon": "⚡"
},
{ 
  "name": "app",
  "command": "newTab", 
  "keys": "ctrl+shift+t" 
}

Docker in WSL 2

参考 Using Docker in WSL 2

使用on-my-zsh和Powerline字体

遇到了使用oh-my-zsh皮肤agnoster时,字符显示乱码的问题.

# 先安裝字体
# refer to https://github.com/powerline/fonts
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
# cd DejaVuSansMono 右键安装所需字体即可
# 注:以下可选
set-executionpolicy bypass
./install.ps1
set-executionpolicy default

Ubuntu Terminal字体可以通过[属性]-[字体]的方式修改为powerline字体.

Windows Terminal则需要修改配置文件,在[Settings]的profiles增加fontFace 配置:

    {
        "guid": "{xxxxx-xxxx-xxxxxx-xxxxx}",
        "hidden": false,
        "name": "Ubuntu-22.04",
        "source": "Windows.Terminal.Wsl",
        "fontFace": "DejaVu Sans Mono for Powerline"
    }

Win10 老版本使用

升级到WSL2

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启机器

# 设置2为默认版本
wsl --set-default-version 2

# 查看已安装版本
wsl --list --verbose

安装

老版本Win10 安装需要两步:

  • 开启开发者模式: 更新和安全 -> 开发者选项 -> 开发人员模式 或者 Settings -> Update and Security -> For developers
  • 在命令行输入bash 按提示安装就行.

使用

访问文件系统: 通常在 %localappdata%\Lxss\rootfs 或 C:\Users\xulz\AppData\Local\Lxss\home\xulz (替换为你的用户名)

注: 默认隐藏, attrib -s -h lxss

卸载

卸载遗留WSL系统:

wsl –unregister Legacy

扩展阅读

  • 安装
  • wsl2-install
  • Homebrew for Linux
  • Windows-Subsystem-For-Linux-Setup-Guide: 有些详细的介绍
  • Windows Terminal+ WSL2+CentOS8配置
  • 使用 Windows 终端的命令行参数
  • Windows Terminal 美化配置
  • 本文作者: xulizhao
  • 本文链接: https://xulizhao.com/blog/win10-wsl/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
#linux#
一种好的做事方式
重读经典
  • 文章目录
  • 站点概览

xulz

时光,漫步

56 日志
3 分类
28 标签
  • 升级到Windows10最新版
    • 查看当前系统版本
  • 配置和使用 WSL: Ubuntu 22.04
    • 安装
    • 查看当前版本
    • 更新国内镜像
    • 使用
    • 解决 wsl cannot execute binary file: Exec format error
  • 常规操作
    • 安装git 和 brew
    • Goland
    • ssh
    • Windows Terminal
    • Docker in WSL 2
  • Win10 老版本使用
    • 升级到WSL2
    • 安装
    • 使用
    • 卸载
  • 扩展阅读
© 2017 - 2023 XuLizhao 's Notes
Powered by - Hugo/ NexT
津ICP备17010344号-1
0%