如果这篇博客帮助到你,可以请我喝一杯咖啡~
CC BY 4.0 (除特别声明或转载文章外)
什么是 WSL
Windows Subsystem for Linux(简称 WSL)是一个为在 Windows 10 上能够原生运行 Linux 二进制可执行文件(ELF 格式)的兼容层。它是由微软与 Canonical 公司合作开发,目标是使纯正的 Ubuntu 14.04 “Trusty Tahr”映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
以上来自百度百科。简单来说,WSL 是以软件的形式运行在 Windows 下的子系统。先来看一下我的最终完成效果吧,其实和真正的 Linux 已经很接近了。
相对于虚拟机的优势
相比于 VMware 等虚拟机,WSL 占用内存和 CPU 资源更少,在 WSL 上运行软件的消耗和直接在 Windows 上差不多。而且,Windows 下可以直接访问 WSL 的环境。
相对于多系统的优势
省事呀。假如需要重启 Linux 系统,WSL 只需要把软件关掉重开即可。同时,相较于多系统,文件交互也更为简单。
安装
官方教程地址,可以看到还是很简单的。
本文大部分内容写于 18/12/14,所用的机器是 VAIO Z Flip 2016,处理器i7-6567U
,内存8G
,操作系统版本号Windows 10.0.17763.134 x64
。可以看到即使是以轻薄本的配置也足够流畅完成下述环节。
开启 WSL 可选特性
在控制面板的「启动或关闭 Windows 功能」中勾选「适用于 Linux 的 Windows 子系统」。 或在 PowerShell 中运行下述代码:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
修改完毕后,重启使选项生效。
下载安装
打开 Microsoft Store,搜索 Linux,就会显示 Ubuntu、suse 等几个发行版,点击进行安装即可。这里选择了 Ubuntu。 下载之后启动菜单里就会出现Ubuntu
的图标了。让我们启动它,按照上面的提示等待几分钟,就可以进入初次登陆设置账号的界面。 好像用户名不可以有大写字母…不管怎样,到这里就算安装成功了。
切换源
默认源速度缓慢,这里切换到阿里源。
sudo sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
Remark:在 sudo apt upgrade 之前要先 sudo apt update
感谢@在评论区指出
sudo apt update -y
sudo apt upgrade -y
如果只是在终端使用 WSL(如配置我博客的开发环境),做到这里就可以了!
配置图形界面
如果要运行一些带图形界面的程序,WSL 原生是没有支持 GUI 的。这里通过 XServer 实现可视化操作,用到的软件是VcXsrv
。
实现原理
- VcXsrv 启动 Xserver 服务用于监听;
- WSL 启动程序后把界面数据发送给 Xserver;
- Xserver 接收到数据进行绘制,于是在 Win 下看到图形界面。
这里给出了另外一种通过 VNC 远程控制的解决方案,可能会比 XServer 流畅一些。
下载并安装 VcXsrv
点这里下载安装包,一路 next 即可。第一步是选择组件,默认是全部安装;第二步是安装路径。
启动 VcXsrv
开始菜单里现在出现了一个文件夹VcXsrv
,选择里面的 XLaunch,一路选择下一步即可。然后这个软件就后台运行了。之后如果有需要使用 Linux 的图形界面的,都需要提前打开XLaunch
。 提一下打开Xlaunch
后第一页的四个选项设置,我个人是喜欢选择全屏的,最接近原生系统的体验。假如你不需要打开完整的桌面环境而只需要图形化某些软件,那么就用默认的Multiple windows
也不错。
配置 DISPLAY
为了方便,打开 Ubuntu bash,运行如下代码:
echo "export DISPLAY=:0.0" >> ~/.bashrc
这样,每次打开图形界面程序就不需要额外指定DISPLAY
了。
检验
运行下述代码,安装 firefox 检验效果:
sudo apt install firefox
随后直接运行下述代码即可查看效果。
firefox
可以看到,这里虽然能正常打开网页,但是中文显示是乱码的。
解决中文乱码问题
运行下述代码,成功解决。现在可以正常显示中文了。
sudo apt install fonts-noto-cjk
修改默认语言环境为中文(可选)
安装中文语言包
sudo apt install language-pack-zh-hans language-pack-zh-hans-base
设置本地化环境变量
echo "LANG=zh_CN.UTF-8" >> ~/.profile
安装桌面
这里选择xfce4
桌面,它的优点是轻量、美观、占用系统资源少。
sudo apt install xfce4 dbus-x11
完成后,执行下面这段代码就可以看到桌面的图形界面了。
xfce4-session
中文输入法
sudo apt install fcitx fcitx-pinyin
echo -e "export XMODIFIERS=@im=fcitx\nexport GTK_IM_MODULE=fcitx\nexport QT_IM_MODULE=fcitx\n" >> .profile
软件包已装,在应用程序 - 设置 - 会话与启动 - 应用程序自启动,添加 /usr/bin/fcitx。
配置工作环境
这里以安装、配置 vscode 为例。vscode 宇宙第一!
安装 umake
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt update
sudo apt install ubuntu-make
安装 vscode
sudo umake ide visual-studio-code
执行后分别会让你选择安装地址,然后输入a
确认。稍等片刻就安装好啦。重启 bash,重新进入 xfce 桌面,在应用程序-开发里就可以找到安装好的 vscode 啦。 安装Setting Sync
来同步别的平台的设置吧。设置好自己用于同步 vscode 设置的GitHub Token
和GitHub Gist
,一起来喝上一杯咖啡吧。 现在你可以把很多事迁到 WSL 内来做了(折腾才是最好玩的),丢开虚拟机和双系统吧。完结撒花~