启用Windows10的Linux子系统并安装图形界面

前言

目前市面上的PC电脑主要运行着四大类系统,它们分别是微软的Windows、苹果的MacOS、Linux的发行版以及Unix类系统。其中Linux和Unix都是开源的,因此市面出现的众多基于Linux内核和Unix内核的发行版系统,其中Linux类系统数量最多、用户基数大,广泛使用于各行各业。相对于Windows在桌面系统中的统治地位,Linux凭借着强大的命令工具,以及极其可靠的稳定性扎根于服务器端的应用,当今全球至少三分之二的服务器运行着Linux系统。毋庸置疑,Linux是一款魅力十足的操作系统,就连独霸一方的Windows系统也在最新的Windows10中引入了Linux子系统。

对于Win10中的Linux子系统,它并非通过虚拟化技术实现的,所以它的性能高于虚拟机。并且集成于windows系统中,免去了之前Linux、Windows双系统来回切换的麻烦。这或许是目前最为完美的Linux和Windows双系统解决方案。

这里额外提一下,MacOS是基于unix内核开发的,Linux则兼容Unix--或者说Linux是Linus编写的一个类Unix系统。而Windows之前几乎和这三者没有任何有关联的地方,但现在这一情况似乎有所转变。如果读者想要更多地了解这些操作系统之间的恩怨情仇,请自行查阅资料,这里不作过多阐述。

从win10的Linux子系统发布到现在,已经快两年多了,我也使用了近两年,使用体验总体不错,完全满足一般学习和开发任务。在这里特此分享出安装教程,特别是图形界面的安装,当初可谓是遇坑无数。

安装Linux子系统

目前windows应用商店为win10 提供了多款Linux发行版本,包括Ubuntu、Debian、OpenSUSE等。

这里我安装的Ubuntu系统。

1、准备工作

在控制面版中启用Linux子系统

启用Windows10的Linux子系统并安装图形界面

在设置-更新和安全中-开发者选项中切换到开发人员模式

启用Windows10的Linux子系统并安装图形界面

2、开始安装

在Windows应用商店安装一个Linux发行版本,我这里选择的是Ubuntu。

 

启用Windows10的Linux子系统并安装图形界面

启用Windows10的Linux子系统并安装图形界面

安装完成后可以在开始菜单找到,点击即可打开

启用Windows10的Linux子系统并安装图形界面

第一次进入需等待安装完成。

启用Windows10的Linux子系统并安装图形界面

设置用户名和密码。

启用Windows10的Linux子系统并安装图形界面

 设置完成,进入系统。

 启用Windows10的Linux子系统并安装图形界面

 若需要使用root用户,可通过sudo passwd设置root的密码。

 接下来是把软件源修改为国内,因为默认官方源服务器在国外,访问太慢。当然你也可以选择跳过这一步,前提是你不嫌下载软件慢。

源的修改有两种方式:

  1. 通过修改源列表,即/etc/apt/sources.list。
  2. 通过apt-add-repository命令。

这里我修改为清华大学的服务器源。

启用Windows10的Linux子系统并安装图形界面

安装图形界面

对于Linux来说使用shell命令行完全满足大部分场景的使用。但是某些情况还是需要图形界面,比如查看图片、视频,浏览网页,UI设计等,这也是我折腾图形界面的原因。

1、安装必要软件包

可以通过执行sudo dpkg-reconfigure locales 选择zh-CN.UTF-8将系统切换为中文环境。

安装桌面、语言包、字体包、输入法等必要软件。

这里选择的是lxde轻量化桌面,个人比较推荐,当然也可以选择xfce,lxqt等其他桌面。

sudo apt install lubuntu-core lxde fcitx fcitx-googlepinyin
sudo apt install language-pack-gnome-zh-hans
sudo apt install fonts-wqy-zenhei

2、安装远程桌面软件(tigervnc)

受限于Linux子系统实现原理,图形界面无法直接输出到显示器。这里选择vnc远程桌面来解决,当然你也可以选择其他远程桌面方案。

最新版二进制包tigervnc_X86_64,下载解压到根目录即可使用。

执行vncserver :0 打开一个远程桌面端口。:0 表示开启5900端口,:1表示5901端口,依次类推。vncserver详细用法见vncserver -h。

打开Windows端vnc客户端,输入IP和对于端口号即可进入图形界面。若为第0个端口(即5900)可省略。

通过客户端我们会发现,进入后为黑屏无图像显示。这是因为lxde桌面没启动。

第一次使用vnc会在用户家目录下生成 .vnc目录,里面是vnc的配置文件。通过在~/.vnc/xstartup 末行加上 startlxde& 。

通过vncserver -kill :0;vncserver :0重启端口即可进入桌面。

启用Windows10的Linux子系统并安装图形界面

这里是我的桌面。

启用Windows10的Linux子系统并安装图形界面

 安装到此结束,然后就可以愉快地使用了。

其他

1、进入Linux子系统的几种方式

1、通过开始菜单图标。

2、通过命令行输入对应发行版名称。比如的ubuntu、debian等。

我同时安装了debian和ubuntu,通过名称可以进入对于版本。

启用Windows10的Linux子系统并安装图形界面

启用Windows10的Linux子系统并安装图形界面

3、通过bash命令。

 启用Windows10的Linux子系统并安装图形界面

可以看到这两个命令都能进入Linux系统。但是我这里安装了两个Linux子系统,这种方式只会进入默认的Ubuntu系统。下面会介绍到怎么修改默认的Linux发行版。

4、通过wsl命令

启用Windows10的Linux子系统并安装图形界面

查看wsl的用法,我们可以看到wsl -d可以指定版本。

 启用Windows10的Linux子系统并安装图形界面

启用Windows10的Linux子系统并安装图形界面

2、切换默认Linux版本

通过wslconfig命令即可切换。

启用Windows10的Linux子系统并安装图形界面

比如wslconfig /s debian

2、无法切换中文输入

如果在fcitx工具和fcitx输入法已经安装的情况下,还是无法在图形界面下打出中文。

可以尝试如下步骤。

在~/.xprofile中添加(没有则创建):

export XIM=fcitx
export XIM_PROGRAM=/usr/bin/fcitx
export XIM_ARGS=""
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DEPENDS="fcitx"
export XMODIFIERS="@im=fcitx"

也可将其写入~/.bashrc或者直接写入~/.vnc/xstartup。

修改~/.vnc/xstartup末行: