Windows10下使用Linux的另一种方式 —— WSL与其桌面环境安装

早在 Build 2016 上,微软就介绍了处于 Beta 阶段的 Windows 下的 Linux 子系统 —— Windows Subsystem for Linux(WSL),它可以让开发者们在 Windows 10 下不需要虚拟机就可以运行 Linux 系统。

Ubuntu 子系统的安装

为了体验这一功能,需要在控制面板->程序和功能->启用或关闭Windows功能 中 开启 WSL 服务,如图所示:

也可以通过在 PowerShell(管理员) 运行以下命令开启开启

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

之后在设置里开启开发人员模式

然后在 Windows 的应用商店里就能只能下载想要体验的 Linux 子系统了。可以看到它提供了很多类型的 Linux 系统,这里就选择我最喜欢的 Ubuntu Linux 来做演示。

等待安装完成后,点击开始菜单里的 Ubuntu 图标或者在 powershell 里输入bash即可启动 Ubuntu Linux 子系统。等待了几分钟的初始化之后,我们输入用户名和密码(可以跳过),然后就能看到 Ubuntu 的命令行界面了.

在刚安装好 WSL 后,与普通实体机上的 Ubuntu 系统一样,需要更新软件列表和软件包:
sudo apt update
sudo apt upgrade

这样就可以像使用普通 Ubuntu 系统一样使用 WSL 了。

桌面环境的安装与启动

WSL 的方便之处就在于它和双系统的 Linux 没有很大区别,并且比虚拟机性能更快一点。美中不足的是,WSL 并没有自带图形化界面,因此如果想要运行桌面应用,就不禁徒叹奈何了。
不过在 WSL 推出不久,就有大神提供了 WSL 安装桌面环境的方法,并发到了 WSL github 的 issues 里:Run any Desktop Environment in WSL

根据这个教程,我们就可以在 WSL 里安装桌面环境以获得比较完整的体验。

  • 安装 X-Windows

    可供选择安装的 X-Windows 有多个:VcXsrv Windows X Server、Xming、Cygwin X Server,教程中选择的是 VcXsrv,因为比较容易和稳定。

    软件首页:
    https://sourceforge.net/projects/vcxsrv/

    下载地址:
    https://ncu.dl.sourceforge.net/project/vcxsrv/vcxsrv/1.19.3.3/vcxsrv-64.1.19.3.3.installer.exe

    安装后首次启动会自动进入界面设置。

    选择:“one large window”,Display number 设置成 0,其它默认:

    ![](//cdn.c1oudust.cn/20185Xwindow.png)
  • WSL 安装桌面环境

    这里选择安装 unity 桌面环境,我们同样可以选择 xfce4 桌面环境。

    在 bash 下执行 sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager

    需要提醒的是,Ubuntu 桌面版自带的 unity 桌面环境与依赖包有 600 多 M,解压之后近 2.6G,所以前提需要保证足够的磁盘空间。

  • 配置 compiz 并运行桌面环境

    启动 X-Windows,在 Bash 中执行:

    export DISPLAY=localhost:0

    ccsm

    在 X-windows 中,即会弹出 ccsm 的配置界面,勾选需要的 Desktop 组件(只需要勾选 Desktop 中的 Ubuntu Unity Plugin 即可,其它默认):

    点击 close 关闭 ccsm,执行 compiz,短暂的加载后,在 X-windows 的界面中就能看到桌面版的 Ubuntu 了。

其他推荐

关于 WSL 的玩法有很多,可以参照:玩转 Windows 10 中的 Linux 子系统Windows10 内置 Linux 子系统初体验

这里推荐一个软件 —— wsl-terminal,用于 WSL 的终端模拟器,基于 mintty 和 wslbridge。github 上有很全的中文文档,添加了很多实用功能,可以利用终端做更多很酷很有趣的事~


自此,开始折腾自己的 Linux 吧~

以上。