黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南
之前,本人写了一篇文章 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程,介绍了玩转Windows terminal的两种方式。
今天这篇文章,主要介绍如何美化 Windows terminal 中 WSL 的 Linux 终端,依然是以本人最熟悉的Ubuntu
为例,其他版本的 Linux 请参考本文的流程换用对应的命令。假定你已按我的上一篇文章已安装好 Windows terminal预编译版本,同时安装好了 Ubuntu,并设置好了 WSL
的权限,然后就可以按本文继续操作了。
修改默认源,为apt-get安装提速
由于 Ubuntu
官方的源实在是太慢了,建议大家缓存阿里云镜像的 Ubuntu 源,其具体操作步骤如下:
首先将原配置文件备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.20190516
然后 vim 打开sources.list
,
sudo vim /etc/apt/sources.list
i
(插入)模式下,在末尾输入依次输入每一行进行替换:
:%s/security.ubuntu/mirrors.aliyun/g
:%s/archive.ubuntu/mirrors.aliyun/g
每输入一行,回车一次,然后就替换好了。
更新源:
sudo apt update; sudo apt upgrade
安装python 和 python pip
依次输入如下命令:
sudo apt-get install python3
sudo apt-get install build-essential
sudo apt-get install python-pip
pip install --upgrade pip
安装 zsh
sudo apt-get install zsh
安装powerline-font中的特定字体
从github下载字体"DejaVu Sans Mono for Powerline",并安装。安装字体时,选择对应的哪一个ttf后缀的安装即可。
手动安装字体"Fira code" 或 "DejaVu Sans Mono for Powerline"
然后在命令行应用之,具体操作是在profiles.json中把字体设置成它,即可生效。
powerline/fonts: Patched fonts for Powerline users.
https://github.com/powerline/fonts
安装powerline-shell
cd ~
mkdir src
cd src
git clone https://github.com/b-ryan/powerline-shell
cd powerline-shell
sudo python setup.py install
修改~目录下的配置文件 .bashrc 和 .zshrc
首先,插入一点背景知识:
ps1格式简介:
shell有四种不同的命令提示,称为PS1,PS2,PS3和PS4。 PS代表Prompt String。Windows/Linux/Ubuntu都用得比较多的是PS1脚本。
"$PS1", "Prompt String 1" 指定命令行界面中的环境变量。
先编辑文件 .zshrc
vim ~/.zshrc
在末尾加入内容:
function powerline_precmd() {
PS1="(powerline-shell --shell zsh ?)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
编辑完后更新文件 .zshrc
source ~/.zshrc
再编辑文件.bashrc
vim ~/.bashrc
在末尾加入内容:
function _update_ps1() {
PS1="(powerline-shell ?)"
}
if [ "$TERM" != "linux" ]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
编辑完后更新文件 .bashrc
source ~/.bashrc
然后,我随便输入几个命令:
sudo su
ls
此时Windows terminal中的效果如下:
我直接就使用这个默认主题了。
那么,如果要在命令提示符中插入emoji表情,怎么弄呢?就在下图相应的地方(对应文件 `.bashrc`)加~
![emoji-prompt](https://img2018.cnblogs.com/blog/436938/201905/436938-20190518013926229-1636878313.png)
此时的 terminal 为:
更有意思的玩法可以参考:
https://loige.co/random-emoji-in-your-prompt-how-and-why/
zsh主题定制
此外,如果想更深入地定制zsh
主题,推荐安装oh_my_zsh
,下面详细介绍。
安装 oh_my_zsh
Linux下安装oh-my-zsh
,需要在终端输入命令:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
如果 遇到证书类似问题
apt-get install ca-certificates
解决权限问题
如果启动时会出现zsh-syntax-highlighting
权限问题,运行下面的命令即可:
compaudit | xargs chmod g-w,o-w
卸载oh_my_zsh
的方法
uninstall_oh_my_zsh
从 Windows 10 的 Bash 中运行 WSL
对于windows 10中 WSL
独立的默认Bash窗口,只能选择字体"DejaVu Sans Mono for Powerline",可以在界面上选择后使用。
开始菜单中搜索 bash 并打开,
右键 属性-> 字体,选字体"DejaVu Sans Mono for Powerline"。
最后的运行结果是:
Scott Hanselman:
请注意我在 prompt 中也使用了Powerline 。 我正在使用Fira Code ,它含有我需要的glyphs,但你当然也可以使用改进过的Powerline字体或使用像Nerd Fonts和它的字体补丁程序那样的工具制作自己的字体 。 此字体补丁程序通常用于获取你最喜欢的等宽字体,并为其添加Powerline glyphs。
注意:如果您看到字形有任何奇怪的间距问题,您可以尝试使用--use-single-width-glyphs
来解决它。 通过发布,我认为所有这些小问题都将得到解决。 在我的终端环境下使用Fira Code
没有任何问题,您的环境可能有所不同。
**参考:**
修改 WSL Ubuntu 18.04 默认源为阿里云镜像 - Windows - 大象笔记
https://www.sunzhongwei.com/modify-the-wsl-ubuntu-1804-default-source-for-ali-cloud-images
b-ryan/powerline-shell: A beautiful and useful prompt for your shell
https://github.com/b-ryan/powerline-shell
How to Install Powerline Fonts, Symbols for Bash on Windows 10 - The Customize Windows
https://thecustomizewindows.com/2018/01/install-powerline-fonts-symbols-bash-windows-10/
**敲黑板**:更多干货可关注 公号「大白技术控」,持续输出优质的技术文章~
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。
文末彩蛋
微信后台回复“asp”,给你:一份全网最强的ASP.NET学习路线图。
回复“cs”,给你:一整套 C# 和 WPF 学习资源!
回复“core”,给你:2019年dotConf大会上发布的.NET core 3.0学习视频!
黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南的更多相关文章
- 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的极简美化指南
目录 安装python 安装git 安装powerline字体 主题定制 安装oh-my-posh 查看策略组的执行权限 使用choco 安装终端模拟器 - ConEmu 优化 PowerShell ...
- 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)
目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...
- [ Terminal ] 在 Windows Terminal 中使用 Git Bash
https://www.cnblogs.com/yeungchie/ Git 自带的 git-bash 太简陋了,ConEmu 又太卡了,还是这个 Windows Terminal 最好用. 安装 W ...
- 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境
发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...
- 有关 Windows 10 中“适用于 Linux 的 Windows 子系统(Beta)”
1.如何启用?(未来应该可从应用商店中直接安装) 在"控制面板"的"启用或关闭 Windows 功能"中进行勾选安装.(安装完成后需要重新启动) 2.然后呢? ...
- WSL2:在Windows系统中开发Linux程序的又一神器
作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...
- Windows Terminal 和 WSL
Windows Terminal ,配置启动目录为 WSL : \\wsl$\Ubuntu\home
- 在Windows环境中学习Linux
如何在Windows环境下学习Linux?方法如下: 方法一: 下载Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,网上有很多安装教程,这里不多说. 方法二: 下载一个 ...
- 极简SpringBoot指南-Chapter05-SpringBoot中的AOP面向切面编程简介
仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...
随机推荐
- Louvain Modularity Fast unfolding of communities in large networks
Louvain Modularity Fast unfolding of communities in large networks https://arxiv.org/pdf/0803.0476.p ...
- MySQL——函数
MySQL数据库提供了很多函数包括: (1)数学函数 (2)字符串函数 (3)日期和时间函数 (4)条件判断函数 (5)系统信息函数 (6)加密函数 (7)格式化函数 一.数学函数 数学函数主要用于处 ...
- HTML5/CSS3动画下拉菜单
在线演示 本地下载
- jzyz集训 0612
今天闵神找的题,题目质量还算不错,就是有些偏套路了. 第一题:定义一个排列是合法当且仅当这个排列中不存在大于2的循环节,询问有多少长度为n的排列是合法的且B排列是该排列的子序列. 恩...这题目其实不 ...
- 深入理解SP、LR和PC
深入理解ARM的这三个寄存器,对编程以及操作系统的移植都有很大的裨益. 1.堆栈指针r13(SP):每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式.非异常模 ...
- Could not find JSON in http://updates.jenkins-ci.org/update-center.json?id=default&version=2.7.4
14-Sep-2016 21:43:58.241 INFO [Download metadata thread] hudson.model.AsyncPeriodicWork$1.run Finish ...
- IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA
前言: 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug. 使用步骤: 1):打开 Settings ...
- linux进程学习-进程描述符的存储
当进程被新建时,内核会给进程分配一个8K的空间作为进程的内核堆栈.同时我们知道task_struct结构体也会被创建,但有意思的是,内核不会给task_struct单独分别空间,而是直接将其扔到8k的 ...
- HihoCoder1642 : 三角形面积和([Offer收割]编程练习赛37)(求面积)(扫描线||暴力)(占位)
描述 如下图所示,在X轴上方一共有N个等腰直角三角形.这些三角形的斜边与X轴重合,斜边的对顶点坐标是(Xi, Yi). (11,5) (4,4) /\ /\(7,3) \ / \/\/ \ / /\/ ...
- poj3017 Cut the Sequence[平衡树+单调队列优化]
这里已经讲得很清楚了. 本質上是決策點與區間最大值有一定關係,於是用单调队列来维护决策集合(而不是常规的),然后在决策集合中选取最小值. 然后觉得这题方法还是很重要的.没写平衡树,用优先队列(堆)来维 ...