自从 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 -v
NAME 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 主题:

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

Win10 Terminal + WSL 2 安装配置指南,精致开发体验的更多相关文章

  1. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  2. 【转】服务器证书安装配置指南(Weblogic)

    服务器证书安装配置指南(Weblogic) 详情请点击: http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpe ...

  3. 大数据应用日志采集之Scribe 安装配置指南

    大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...

  4. 【转】Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置 原贴:https://www.cnblogs.com/jackadam/p/8568833.html ...

  5. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  6. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

  7. Gitolite v3安装配置指南

    使用gitolite对git仓储进行权限配置 gitolite在近期做了很多代码改动,升级到了v3版本,而我使用的是v3.5.2.在<Git权威指南>中所提及的是v2版本,有很多东西已经不 ...

  8. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  9. 在win10系统环境下,安装配置sublime 3,构建python和vue.js开发环境(插件)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_131 疫情当下,最近一直在用mac下的虚拟机运行win10系统,由于在线人数过多,直播授课的时候使用vscode的时候内存暴涨,于 ...

随机推荐

  1. 基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中。

    react-amap 这是一个基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中. 文档实例预览: Github Web | Gitee Web 特性 ️ 自动加载高德地 ...

  2. Python练习题 049:Project Euler 022:姓名分值

    本题来自 Project Euler 第22题:https://projecteuler.net/problem=22 ''' Project Euler: Problem 22: Names sco ...

  3. Django 联合唯一UniqueConstraint

    from django.db import models class UserAttention(models.Model): watcher = models.ForeignKey('user.Us ...

  4. 再玩树莓派(二)Jexus&.NetCore

    接上一篇,操作系统弄好之后,轮到开发运行环境的搭建. 先说说目标,也就是我到底想搞什么飞机.先说说小目标吧. 现有一个手机App客户端,以答题小游戏作为其内容(例如:口算题,24点,科学百科等) 树莓 ...

  5. Linux系统编程 —线程属性

    在之前的章节中,我们在调用pthread_create函数创建线程时,第二个参数(即线程属性)都是设为NULL,即使用默认属性.一般情况下,使用默认属性已经可以解决我们开发过程中的大多数问题. 但是, ...

  6. 日志分析平台ELK之前端展示kibana

    之前的博客一直在聊ELK集群中的存储.日志收集相关的组件的配置,但通常我们给用户使用不应该是一个黑黑的shell界面,通过接口去查询搜索:今天我们来了ELK中的前端可视化组件kibana:kibana ...

  7. java安全编码指南之:方法编写指南

    目录 简介 不要在构造函数中调用可以被重写的方法 不要在clone()方法中调用可重写的方法 重写equals()方法 hashCode和equals compareTo方法的实现 简介 java程序 ...

  8. rustup命令速度慢

    通过以下命令更换镜像: $ENV:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static' $ENV:RUSTUP_UPDATE_ROO ...

  9. Python解析yaml配置文件

    1.代码测试 import yaml fd = open('fileName.yaml', 'r') dict_tmp = yaml.load(fd) fd.close() print dict_tm ...

  10. 99%的Android开发不得不面对的三道坎,到底该怎么破?

    今年比往年要特殊一些,受疫情的影响,很多公司都出现了裁员现象.以至于最近很多技术同学也在纷纷向我倒苦水. 王鹏便是其中的一员,王鹏之前是在一线城市的一家小型互联网公司做Android应用开发.从毕业实 ...