WSL 是什么?

WSL 是 Windows Subsystem for Linux 的简称,是为在 Windows 10 上能够原生运行 Linux 二进制可执行文件而制作的兼容层。 它是由微软与 Canonical 公司合作开发,目标是使纯正的 Ubuntu 14.04/18.04, OpenSUSE, Kali Linux 和Debian 映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

WSL 对我们有什么用?

不是所有的计算机支持虚拟机。学生安装虚拟机状况不断,难以保证都能解决。 然而,事实上学生自己的电脑多数是 Windows 10 系统。 只要是 Windows 10 系统,就可以用 WSL。另外,WSL 在和 Windows 系统之间分享文件非常容易,适合学生目前的需求。

安装 WSL

确定 Windows 的内部版本号是 Windows build 16215 或以上,如果不满足,请升级。 在左下角的搜索里搜索 powershell,右键,点击以管理员权限打开,执行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

然后,重启电脑。

访问 Windows 软件商店 下载 Ubuntu 18.04。 点击后,下载会陆续开始,等待下载完毕。下载安装过程完全自动。 装好以后,在开始菜单中可以看到 Ubuntu 18.04,点击即可启动。接着你可以看到一个命令行窗口:

pic

这就是 Ubuntu 的Shell。英语看不懂,请查字典。输入一个自己的用户名和密码。 这个用户名和密码只管 WSL。输入密码时,不会显示出来,类 UNIX 系统都不显示,怕你背后有人。

下面系统更新,依次执行下面两个命令:

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
sudo apt upgrade

上面第一个命令是把更新的下载站点更改为 mirrors.ustc.edu.cn。 第二个命令是更新全系统(只管 WSL)

安装一些重要的依赖和安装 X11

sudo apt install libc6 libsm6 libice6 libxpm4 libx11-6
sudo apt install zlib1g libncurses5
sudo apt install x11-apps fontconfig dbus-x11 xfonts-wqy fonts-wqy-zenhei fonts-wqy-microhei

把 X11 的转发地址输入到环境变量:

echo "export DISPLAY=127.0.0.1:0" >> ~/.bashrc

下载 x11 软件vcxsrv 下载后,在 Windows 安装。 然后在 Windows 的开始菜单可以找到这个 x11 程序,启动它,选择 Multiple windows 模式,其他用默认选项,最后点击完成。 简单的说,只要涉及图形界面界面,你都需要 X11 作为基础。 X11 是 80 年代,Unix 为解决图形显示留下的解决方案。

安装 gedit

执行以下命令:

sudo apt install gedit

启动 gedit,检查 gedit 是否能正确启动:

gedit

理解文件系统

首先你需要对 Linux 的文件系统和 Windows 的差异有所了解,你才能知道使用 Linux 的正确习惯。 先说 Windows 的特点,Windows 上任何一个文件的位置都包含了硬盘的盘符, 也就是 Windows 上面所有文件的路径就是指明它在硬盘的哪个位置。 Windows 的做法很自然。然而,Linux 不同。 在使用 Linux 的时候,你不需要关心文件在哪个盘符。 比如,在我的家目录有一个文件叫 file.txt,那么它的 Linux 系统的地址是 /home/wangliang/file.txt。 系统上各个用户各自的路径,叫家目录,都放在 /home 的下面。 我们可以看到这个地址是没有任何盘符的信息的。 也就是说 Linux 给了用户一个计算机世界,在这个世界中,用户基本可以忘记文件是放在哪一个物理存储介质的位置。 文件究竟放在哪里是操作系统软件处理的事,用户平时用的时候不需要考虑。 所有你在用 Linux 的时候,自己的各种文件等等在你的家目录下搞就好了。 Linux 的文件系统和一个新来的文件系统,比如插入电脑的闪存盘、或者新加的硬盘,融和的过程(或者说让你能用上的过程)成为 mount。 mount 在以前翻译为挂载,现在似乎有人翻译为挂装。 所谓的挂载就是要让两个文件系统能有一个对应的点,然后连接起来。 emmm,这里有些抽象。 如果你是把 Linux 直接装在电脑上,那么闪存盘用起来和 Windows 几乎一样。 你可以看看,WSL 里,路径/mnt 下面是什么。 没错,是你的 Windows 上的一切。这里,就是把磁盘这个文件系统的根路径挂载到了 Linux 文件系统的 /mnt 下面。 或者说把磁盘的根路径这个点和 /mnt 连接起来。

另外,WSL 和用 Virtualbox 安装的 Linux 虚拟机有本质的区别。 WSL 是 Windows 操作系统的一个部分,然后 Ubuntu 18.04 是基于这个部分为 Windows 10 安装的一个 app。 Virtualbox 是一个应用软件,它构建了一个虚拟的独立的电脑,让 Ubuntu 以为自己是装在一个电脑里的。 你可以认为 WSL 是让 Ubuntu 直接装在了 Windows 上,WSL 就是连接的部分。

把文件放在 Windows 的各个盘的根目录下面,Linux 的读取就很方便。

安装sac

按照普通 Linux 一样的方式安装 sac。