Win10 Terminal + WSL 2 安装配置指南

自从 Windows Terminal 正式发布后就再没有用过 Windows 系统自带的终端了。主要是 Terminal 简洁且灵活,更重要的是支持特殊字体,通过一些简单的配置可以使得终端看起来更舒适养眼。

自从 Win 10 有了 Linux 子系统(WSL),早就把电脑上的 vmware 虚拟机软件卸载了。WSL 体验之好,谁用谁知道。

先给大家看看我个人的配置效果图:

安装 WSL 2

WSL,Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统)的简写。它有两个版本,WSL 1 和 WSL 2。建议使用 WSL 2,它具有更好的整体性能。

安装 WSL 2,对不同架构的 CUP 有不同的 Win10 版本要求。为了简单起见,你只需确保你的 Win10 版本号为 2004(内部版本19041或更高)即可。PS:使用 win + r 输入 winver 可快速查看 Windows 版本。

如果你的 Win10 版本号低于 2004,可使用 Windows 10 易升工具手动升级。下载 Windows 10 易升工具:

https://www.microsoft.com/zh-cn/software-download/windows10

下载下来后双击运行,等待完成升级即可(升级过程比较漫长)。

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。使用管理员身份打开 PowerShell,执行以下命令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

接下来需要安装 Linux 分发版本。打开微软应用商店,搜索 Ubuntu,在列表中选择最新的长期支持版本 20.04 LTS 并安装。

使用任一终端,输入以下命令查看 WSL 版本,确保 WSL 的版本为 2.0:

$ wsl -l -vNAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2

如果你之前安装过 WSL,当前不是 WSL 2 版本,可以通过以下命令设置 WSL 的默认版本:

wsl --set-version Ubuntu-20.04 2

PS:从 WSL 1 更新到 WSL 2 可能需要几分钟才能完成,具体取决于目标分发版的大小。

安装 Terminal

打开微软应用商店,搜索“Terminal”,安装,打开后的界面是这样的:

默认打开的是 PownerShell 终端,我们可以设置为默认打开 Ubuntu 终端。点击标签右边的下拉三角,选择设置:

会打开一个 JSON 配置文件,在 profiles->list 中找到 Ubuntu 的 guid 并复制。

将它粘贴为文件开头的 defaultProfile 的值:

安装 oh-my-zsh

我们需要先安装一些额外的字体来支持 oh-my-zsh 显示特殊的符号。打开 PowerShell,依次执行如下命令 Powerline 字体集合:

git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1

接着安装 zsh:

sudo apt update
sudo apt install git zsh -y

再安装 oh-my-zsh:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

此步如果报如下错误:

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

解决办法有很多种,请自行解决。

安装完 oh-my-zsh 后,编辑 ~/.zshrc 文件,将主题设置为 agnoster

再次打开 Terminal 的 JSON 配置文件,在 schemes 中添加一个主题,主题名随意,这里为 wsl2

"schemes": [{"name" : "wsl2","background" : "#002B36","black" : "#002B36","blue" : "#268BD2","brightBlack" : "#657B83","brightBlue" : "#839496","brightCyan" : "#D33682","brightGreen" : "#B58900","brightPurple" : "#EEE8D5","brightRed" : "#CB4B16","brightWhite" : "#FDF6E3","brightYellow" : "#586E75","cyan" : "#2AA198","foreground" : "#93A1A1","green" : "#859900","purple" : "#6C71C4","red" : "#DC322F","white" : "#93A1A1","yellow" : "#B58900"}
],

然后在该 JSON 文件中把 wsl 终端的主题设置为该 wsl2 主题,并把字体改为你喜欢的一个 Powerline 字段:

最后一步,再做一点点美化:把命令行的机器名称去掉,并调整用户名的背景色。编辑 agnoster 主题文件:

vi ~/.oh-my-zsh/themes/agnoster.zsh-theme

把 92 行修改为:

prompt_segment green black "%(!.%{%F{yellow}%}.)%n"

修改后如下:

关闭 Terminal 再重新打开,效果如下:

配置完成!

当然,你也可以去 Google 自己喜欢的主题,比如更为鲜亮的 Dracula 主题:

如若你在安装配置过程中遇到问题,请留言。

-

精致码农

带你洞悉编程与架构

↑长按图片识别二维码关注,不要错过网海相遇的缘分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速解剖数据背后隐藏的信息

1946年2月16日,是一个值得纪念的日子。在这一天,人类历史上真正意义上的第一台电子计算机诞生了,此后计算机便随着科技的发展以强大的生命力飞速发展着。而作为用来定义计算机程序的形式语言——编程语言也紧跟计算机其后蓬勃发展&#xff0c…

mysql改密码脚本_mysql密码修改脚本

网上搜索: mysql密码修改工具 title 护卫神MySQL密码修改工具 echo off color 0a ECHO ┏━━━━━━━━━━┥ 护卫神www.huweishen.com ┝━━━━━━━━━┓ ECHO ┃ 提示: ┃ E…

来,Consul 服务发现入个门(一看就会的那种)

前言在微服务架构中,对于一个系统,会划分出多个微服务,而且都是独立开发、独立部署,最后聚合在一起形成一个系统提供服务。当服务数量增多时,这些小服务怎么管理?调用方又怎么能确定服务的IP和端口&#xf…

深入理解alias, alias_method和alias_method_chain

对于alias, alias_method, alias_method_chain的深入理解是有益的,因为rails3的源码里很多地方使用了alias_method_chain的魔法。 有人评论说alias_method_chain使用的过多不好,具体怎么不好,是后话了,这篇文章集中在理解这3个方法…

mysql数据库的安装和配置文件_MySQL 数据库安装与配置详解

目录一、概述MySQL 版本:5.7.17客户端工具:NavicatforMySQL** 二、MySQL 安装**安装条件:如果 Windows Server 2003 在安装.net framework4.0 安装过程中报错: net framework 4.0 安装时提示产生阻滞问题:运行安装程序前&#xff…

Magicodes.IE Excel合并行数据导入教程

说明Magicodes.IE.Excel目前已支持合并行单元格导入,如本篇教程所示。安装包Magicodes.IE.ExcelInstall-PackageMagicodes.IE.Excel添加Dto参考示例代码如下所示:public class MergeRowsImportDto {[ImporterHeader(Name "学号")]public long…

2010.7.27 OnDraw与OnPaint有什么区别

引用:http://wenku.baidu.com/view/bc9b1c661ed9ad51f01df2ab.html OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。 OnPaint()是CWnd的类成员,负责响应WM_P…

D轮融资1亿美金,6亿美金估值,3位计算机学霸如何带领海归团队创造业内神话?!

顺为资本在创始合伙人雷军及许达来的带领下成功领投了51Talk、丁香园、爱奇艺、一起作业等超级公司有近20家公司估值超过10亿美元如今顺为资本为何愿意投资这家公司?酷家乐6年破6亿美金的公司估值17年全年营收超3亿有着设计师300万这家以家居云设计为核心的创业公司…

linux下mysql案例_Linux下安装MySQL多实例

环境说明:Centos 6.6 64位mysql 使用最新版本5.7.16版本这里安装两个MySQL实例,分别使用3306/3307端口号目录结构:/data/mysql/mysql3306/data/mysql/mysql3306/data/data/mysql/mysql3307/log/data/mysql/mysql3306/tmp执行命令:…

Navicat

作为Oracle, MySQL, Sqlite, PostgreSQL的统一客户端,Navicat无疑是最方便简洁的,而且界面非常友好。导入导出支持的格式也很全。 在连Oracle的时候,会报错说字符集不支持。只要手工指定OCI就好,方法如下: 在OCI libra…

分布式链路追踪框架的基本实现原理

目录分布式追踪分布式系统分布式追踪分布式追踪有什么用呢什么是分布式追踪Dapper分布式追踪系统的实现跟踪树和 spanJaeger 和 OpenTracingOpenTracing 数据模型Span 格式TraceOpenTracingJaeger 结构SpanOpenTracing API分布式追踪什么是分布式追踪分布式系统当我们使用 Goog…

mysql外键约束创建及删除_MySQL中的外键的创建,约束和删除

一、外键的创建语法一:后续添加方法alter table 表名 add constraint 约束名 foreign key(当前表中约束的字段) references 主表表名(要约束的字段名);alter table student add constraint fk_class_student foreign key(cls_id) class(cls_id) on update cascade o…

不爱读书怎么办?用这个新奇的方法,熟知137亿年来的地球通史

今天,小木为模友们挑选的小荐货:《地球通史墙书》第一次接触《地球通史》墙书的时候,虽然“地球通史”的概念非常吸引我,但“墙书”的叫法怎么听都像是一个噱头,所以小木一直有些莫名的排斥,直到在小天把试…

测试驱动开发简介

本文节选自《测试驱动的面向对象软件开发》 第1章第4节“测试驱动开发简介” TDD核心的循环是:写一个测试;写一些代码让测试通过;重构代码,使被测试特征的实现尽可能简单。重复这个过程,如图1-1所示。 图1-1基本TDD循环…

在 .NET 中使用 Flurl 高效处理Http请求

简介官方介绍,Flurl是一个现代的,流利的,支持异步的,可测试的,可移植的,URL增强和Http客户端组件。Url构建现在有一个登录的接口,地址如下:https://www.some-api.com/login?nameLee…

java jdbc 删除_java使用jdbc实现各种类型添加删除修改数据

项目描述上次为大家分享了使用jdbc实现各种类型查询数据,这次为大家分享使用jdbc实现各种类型添加、删除、修改数据运行环境jdk8tomcat7mysql项目技术(必填)jdbcdao层数据库文件DROP TABLE IF EXISTS class;CREATE TABLE class (id int(11) NOT NULL auto_increment…

图像还可以这样玩!如何用波的算法处理图像

我对图像处理一直很感兴趣,曾经写过好几篇博客。前几天读到一篇文章,它提到图像其实是一种波,可以用波的算法处理图像。我顿时有一种醍醐灌顶的感觉,从没想到这两个领域是相关的,图像还可以这样玩!下面我就…

[存档]CxServer的项目周期管理

2019独角兽企业重金招聘Python工程师标准>>> 主题:大学生创新性实验计划 项目周期管理 作者:宋志民备注:本文为《 基于CxServer的大学生科学研究项目管理实践探索》的一部分 内容: 一般情况下大学生科研计划的种类较多…

C# 在PC上的通过蓝牙(bluetooth)发送数据到手机

概述在PC端用.NET开发一个蓝牙下载的程序。实现在PC上查找周围的蓝牙设备(主要是手机),并将PC上的文件通过蓝牙传输到手机上。目前我采用的是OpenNETCF.Net.Bluetooth,能够正常发现周围的蓝牙设备,手机也能够正常进行蓝…

新浪股票接口 java_新浪股票接口Android SDK(非官方)

新浪股票接口AndroidSDK昨天想到一个点子,需要访问股票行情。于是在网上搜了一下免费的股市行情的接口。发现新浪股票的数据接口比较稳定,于是就用它了。网上对于新浪股票的数据接口介绍比较详细,并且实现也很简单,所以花了一下午…