值此 WSL2 即将到来之际,先记录一波 WSL 开发环境的配置,以便折腾,因为 WSL 真的很方便。
下载,安装,配置
下载
在 Microsoft Store 可以直接下载要安装的 Linux 发行版,这里以 Ubuntu 为例:
直接点击下载,下载完成之后直接启动就行了。想要删除系统只需要按一下“卸载”
安装
启用系统就会自动开始安装并且初始化:
需要创建一个用户,输入用户名和密码。
安装成功后,一般是将系统安装在类似这样的一个目录:
C:\Users\{user}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
打开这个目录就可以看到bin, boot, home, root, 等等 Linux 系统根目录下的那些目录了。
默认用户
默认用户为一开始创建的用户,可以通过以下命令来修改 ubuntu 默认用户:
ubuntu1804 config --default-user root
这样下次启动就直接是用 root 用户了,不过我们这里就不这么做了,这不是个好习惯。
可以通过以下方式切换到 root 用户:
sudo -i
包管理
Microsoft Store 上的系统,据我观察,上线之后,似乎就不更新的,所以包的更新还是得靠自己。
更新软件包:
sudo apt-get update
先安装一些必备的包:
apt-get install vim git curl ca-certificates gcc make
有些软件包在一些 Linux 发行版已经默认安装了,看情况安装升级就行。
Shell
安装 zsh
安装 zsh 也不是必须的,这个纯粹看个人习惯了。
echo $SHELL
可以查看当前使用的 shell:
gzp@goozp:~# echo $SHELL
/bin/bash
安装 zsh:
sudo apt-get install zsh
查看安装了哪些 shell:
gzp@goozp:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/zsh
/usr/bin/zsh
将默认 shell 设置为 zsh:
gzp@goozp:~# chsh -s /usr/bin/zsh
重启即可生效。
zsh 一开始会有一个配置需要初始化,这个就看个人了,看情况选择:
Bash 启动默认终端
虽然已经设置了默认终端是 zsh 了,但是如果是通过windows bash启动的话,仍然是 bash shell,这种情况也能处理。
可以修改 bash 默认为 zsh,创建.bash_profile(有则直接编辑):
# cd ~
# touch .bash_profile
# vim .bash_profile
在.bash_profile末尾加上:
exec zsh
source .zshrc
保存。这样 zsh 就是我们的默认终端了。这个设置,其实不设置也行,因为不一定通过 bash 去启动,特别是现在有了 Windows Terminal。
安装 oh-my-zsh
执行脚本(需要git):
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
这是一个脚本,基本上什么也不用干了:
安装 oh-my-zsh 插件
本身默认集成的插件,在目录 ~/.oh-my-zsh/plugins
下,而需要自己下载的插件,可以下载到~/.oh-my-zsh/custom/plugins
下进行拓展。
下载完后在 ~/.zshrc
中激活:
# 将需要激活的插件名写在小括号中
plugins=(git)
举个例子:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
可以直接从 github 上把插件拉下来,然后在 ~/.zshrc
中加入插件的名字 plugins=( zsh-autosuggestions zsh-syntax-highlighting)
插件有权限问题的话,会有警告,加入:
# 在引入 oh-my-zsh 之前加入
ZSH_DISABLE_COMPFIX="true"
oh-my-zsh 主题
oh-my-zsh 提供了很多默认的主题,这里是所有自带主题预览:
https://github.com/robbyrussell/oh-my-zsh/wiki/themes
目前我用的主题是:ys
代理 Proxy
在 ~/.zshrc
中添加下面内容(如果是用 zsh 的话):
# proxy list
alias proxy='export http_proxy=socks5://127.0.0.1:1080; export https_proxy=socks5://127.0.0.1:1080'
alias unproxy='unset http_proxy; unset https_proxy'
然后就可以在终端输入命令 proxy
开启代理,通过 unproxy
关闭代理,当然端口什么的是由你自己搭建的代理决定的。
酸酸乳或者 v2ray 什么的运行在 Windows 中,Linux 子系统也可以共享到,完美。
语言环境
Golang
即是在 Linux 安装 Go 的步骤:
- 下载并解压
wget https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz tar -C /usr/local -xzf go1.12.9.linux-amd64.tar.gz
- 设置环境变量
添加/usr/loacl/go/bin
目录到PATH变量中。添加到/etc/profile
或$HOME/.profile
都可以:
保存后退出,执行以下命令让其生效:vim /etc/profile // 在最后一行添加 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin
source /etc/profile
- 编辑 ·~/.zshrc
前两部已经完成安装了,但是如果要在 zsh 中使用,还需要在.zshrc
中加上环境变量:export PATH=$PATH:/usr/local/go/bin
检查 go 的版本: go version
Python
目前很多Linux发行版已经自带了 Python 了,比如我们安装的 Ubuntu 18.04 就已经预装了 Python 3.6。
工具链
Docker
WSL1 目前不支持 Docker 的守护进程,所以还是需要搭配 Docker for Windows,配置 daemon 暴露出 2375 端口。然后在 Linux 中配置:
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.zshrc
source ~/.zshrc
这样才能够正常使用Docker,不过这样跟直接使用 Docker for Windows 没区别了。 Docker for Windows 好是好,硬伤就是资源消耗太大,而且不大稳定。
所以,无视这波操作,等 WSL2 出,原生支持 Docker 吧。
Windows Terminal
目前在 Microsoft Store 上可以直接下载到 Windows Terminal 了,不过还是预览版。等 Windows Terminal 完善起来后,基本上终端,用它就够了,已经集成了CMD、PowerShell、WSL,而且颜值很高。
放个油管链接:The new Windows Terminal,反正我就是被这个视频吸引了。
Visual Studio Code
为什么提 VS Code 呢,因为我感觉 WSL2 + VS Code + Windows Terminal 未来将是 Windows 下做开发的大杀器,会成为标配。
VS Code 本身就是微软的产物,现在有了一个插件。叫:Remote - WSL,谁用谁知道,可以直接连接 WSL 系统进行开发。
比如,我们打开一个开发目录:
我的 local 环境中并没有安装 Python,VS Code 也没检测到编译器。点击左下角的小按钮连接“远程”WSL开发环境,比如在远程 WSL 中打开当前目录:
就会发现,显示了当前的 Ubuntu WSL 环境,而且在 VS Code 的终端内都可以直接敲命令,体验非常好。
以后开发再也不用在本地折腾这环境那环境的了,在 WSL 的 Linux 中随取随用,不要了直接删,现在就等 WSL2 的 Docker 加持了。
0 条评论
来做第一个留言的人吧!