WSL折腾笔记

通篇都是引用,这大概算是一篇综述?

什么是WSL

Windows Subsystem for Linux

Wikipedia 介绍

适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。

WSL提供了一个由微软开发的Linux兼容的内核接口(不包含Linux内核代码),然后可以在其上运行GNU用户空间,例如Ubuntu,openSUSE,SUSE Linux Enterprise Server,Debian和Kali Linux。这样的用户空间可能包含Bash shell和命令语言,使用本机GNU/Linux命令行工具(sed,awk等),编程语言解释器(Ruby,Python等),甚至是图形应用程序(使用主机端的X窗口系统)。

对比原生 Linux 与普通虚拟机 Linux

在一些性能测试中,WSL接近于原生的 Linux,这一点我也与本地的虚拟机进行了一些对比,性能吊打VMware中的Linux虚拟机,底层还是厉害啊。据说在 I/O 上存在一些瓶颈,但是自己比较愚钝,没感觉出来。

但是该子系统因为没有“真正的”Linux内核,所以无法运行所有的Linux文件,而且不仅需要自己手动安装桌面环境与图形化文件管理界面,还因为没有针对图形界面的优化以及加速导致了GUI程序的运行缓慢,不过现在自己还是在不断探索学习,短时间内还没有接触到这方面的瓶颈。

Shell 与 Bash

Shell 是用户Linux内核之间的接口程序,是一个命令语言解释器,拥有自己内建的 shell 命令集,shell 也可以被系统中其他的有效地 Linux程序(包括实用程序与应用程序)调用。该语言支持了在高级语言中能见到的绝大多数程序控制结构,比如循环函数变量数组。shell 有很多种,常用的有

shell特点
Bourne shell (sh)编程优秀、与用户交互略菜
The Bourne Again Shell (bash)前者的拓展,灵活的编程接口与友好的用户界面
C shell (csh)用户友好、支持命令补齐
Korn shell (ksh)集合前两者优点,与 sh 完全兼容

以上内容节选参考自 linux超级基础系列——什么是shell? bash和shell有什么关系?(转)

其余内容直接去查阅菜鸟教程就行了,没必要再抄一遍了

安装过程

对着官方wiki莽就完事了 https://wiki.ubuntu.com/WSL

一些情况

安装步骤比较简单,过程中发生了一些不明不白的东西。

在调整为开发者模式的时候,系统一直显示正在下载相关文件,我等了大约半小时左右,感到有些不妙,进行了一次重启。

但是重启之后还是在下载文件,于是从网上找了相关的博客,在命令行用了以下命令重置了Windows的网络设置

netsh winsock reset

再次进行重启的过程中,卡在了正在准备Windows这个蓝屏的界面,约一个小时,大着胆子进行了一次重启,万幸没有出事,无法复现问题,原因未明。

省略一些内容

  • 一般的 Ubuntu 安装流程
  • 对于用户权限的一些更改
  • 设置密码等一系列东西
  • 更换 apt 源

更加好看的Windows Terminal

下载安装

相关技术内容在gayhub上有 https://github.com/microsoft/terminal/

从gayhub上下载有点点卡,可能是线路问题?建议直接从Windows的应用商店下载,更方便且易于更新

个人调教

安装完成之后,最初的界面应该是类似于 powershell 的蓝底界面,说实话真的难看,相关内容可以在设置中进行调整

按住 Alt 再点击“设置”,就可以查看那些不可更改的设置内容,其中包括了一些很好看的主题,可以在普通的“设置”中直接选择使用,不过我从网上还找到了一些更加好看的内容。

官方提供了一个毛玻璃的效果,真的好看到爆炸!配色啥的我倒是不是很在意。

参考资料

dalao博客

Windows Terminal 安装与配置指南

官方文档

初次使用zsh

sudo apt install zsh
# 安装zsh

安装 oh-my-zsh

安装过程直接用官方的就好 https://ohmyz.sh/

遇到问题

遇到了一个找不到solution的问题,好像自己的电脑上,wsl访问 raw.githubusercontent.com 有点困难,最终还是自己手动下载了,然后转到了wsl中(期间还忘了转CRLF到LF)(蠢死我了)

其他安装内容参见 https://blog.csdn.net/le_17_4_6/article/details/102544521

文章中还推荐了一个主题,用起来还是蛮舒服的。

以及一个代码补全的插件,还没有开始进一步使用,也不知道效果如何。