最近在win10下面搭建了一个 WSL+cmder+oh-my-zsh 的程序员命令行环境,为什么呢?还不是买不起mac,加上自己的黑苹果瘫了,所有又回到了win10上面。不过上面不管是Cmd还是PowerShell都是难看的要死要死的,而且很多命令不支持,所以有了这一次的实践。
win10系统需要更新到1067及其以后的版本,并且是64位的系统才可以安装。相信做开发的都是64位系统吧。
win10打开程序和功能
勾选适用于系统的Linux的子系统,然后重启系统。
重启以后,此时我们已经可以使用Linux系统,但是我们还差一个系统,所以需要安装一个
我们在win10应用商店里面搜索linux,安装Ubuntu。
安装完成后在开始菜单里面找到程序,启动。
刚开始的时候需要等一下,在配置环境。完成后需要设置用户名以及密码。
cmder有两个版本,Mini版与完整版(包含了git以及一些其他的命令)。推荐安装完整版。 安装完成后打开,我们需要进行配置一下
如上图,在tasks中添加一个task
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl --distro-guid={9df562ee-848c-4af4-ab4e-aedad54ceba9} -cur_console:pm:/mnt
。这里面的9df562ee-848c-4af4-ab4e-aedad54ceba9
指的是Ubuntu的唯一标识符,如果重装了子系统,那么这个标识符实惠变得。可以在在注册表(regedit)中查找
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
。win+R搜索regedit
。
在常规里面设置刚刚的名字为默认的启动项。如果你要打开其他的,比如cmd,可以点窗口右下角的+
,里面有所有的配置。
在Ubuntu系统中使用命令行而不是win中
安装任何包之前一定要先更新!
sudo apt-get update
安装zsh
sudo apt-get install zsh
安装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
vim ~/.bashrc
或者nano ~/.bashrc
(推荐使用)打开编辑.bashrc
文件,添加以下内容:
if test -t 1; then
exec zsh
fi
如果你使用的是vim ~/.bashrc
,编辑后使用:wq
退出。
如果你使用的是nano ~/.bashrc
,使用Ctrl+Shift+X
保存并退出。
修改主题:
nano ~/.zshrc
# 主题名字ys,你可以搜索其他的主题使用,ys挺好的
ZSH_THEME="ys"
修改以后保存。
终端字体补全
sudo apt-get install fonts-powerline
客户端字体补全 注意: 有些字符在windows 上无法显示,所以需要安装字体 nerdfonts.com,选择 Hack
修改cmder字体为
当然,你也可以设置为其他你认为好看的字体。
这个是我的配置的最后的效果,还设置了透明度以及背景什么的,你们也可以自己进行配置。
由于博主是做前端开发的,用的是VSCode所以这里说一下,怎么在VSCode上面使用。
在VSCode的设置文件中添加这一句
"terminal.integrated.shell.windows": "C:\\\\Windows\\\\System32\\\\wsl.exe",
如果需要使用node,npm等工具,WSL里面是不能够直接使用windows自带的这些环境变量的,我们需要在WSL中安装,具体的安装方法可以google–Ubuntu安装软件
之前说的字体fonts-powerline
,Hack Nerd Font Mono
这个字体,其实还是挺好看的,大家可以使用,包括在PC上面也可以。这个字体可以使用Git下载https://github.com/powerline/fonts
,不过这个实在是有点慢,这里我已经下载下来放在了这里。
下载下来以后使用PowerShell
,到字体目录下,运行以下命令
.\install.ps1
可能会遇到报错,此时先执行set-Executionpolicy Remotesigned
关于启动时候报错
有时候我们启动子系统的时候会报错,错误代码:0x800703fa
具体错误内容:WslRegisterDistribution failed with error: 0x800703fa
此时win+R
在运行窗口中执行“services.msc”指令,在本地服务中重启 LxssManager 服务即可
[1]. https://segmentfault.com/a/1190000016827068 [2]. https://blog.joaograssi.com/windows-subsystem-for-linux-with-oh-my-zsh-conemu/