启用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子系统
在设置-更新和安全中-开发者选项中切换到开发人员模式
2、开始安装
在Windows应用商店安装一个Linux发行版本,我这里选择的是Ubuntu。
安装完成后可以在开始菜单找到,点击即可打开
第一次进入需等待安装完成。
设置用户名和密码。
设置完成,进入系统。
若需要使用root用户,可通过sudo passwd设置root的密码。
接下来是把软件源修改为国内,因为默认官方源服务器在国外,访问太慢。当然你也可以选择跳过这一步,前提是你不嫌下载软件慢。
源的修改有两种方式:
- 通过修改源列表,即/etc/apt/sources.list。
- 通过
apt-add-repository
命令。
这里我修改为清华大学的服务器源。
安装图形界面
对于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重启端口即可进入桌面。
这里是我的桌面。
安装到此结束,然后就可以愉快地使用了。
其他
1、进入Linux子系统的几种方式
1、通过开始菜单图标。
2、通过命令行输入对应发行版名称。比如的ubuntu、debian等。
我同时安装了debian和ubuntu,通过名称可以进入对于版本。
3、通过bash命令。
可以看到这两个命令都能进入Linux系统。但是我这里安装了两个Linux子系统,这种方式只会进入默认的Ubuntu系统。下面会介绍到怎么修改默认的Linux发行版。
4、通过wsl命令
查看wsl的用法,我们可以看到wsl -d可以指定版本。
2、切换默认Linux版本
通过wslconfig命令即可切换。
比如wslconfig /s debian
新版本windows10系统中可用wsl -s 设置默认系统版本。
3、无法切换中文输入
如果在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末行:
. ~/.xprofile startlxde & fcitx &
4、其他使用技巧
- Linux子系统中可直接运行exe程序。比如:
#在文件管理器中打开当前Linux下的目录。
explorer.exe .也就是说在Linux子系统中,我们可以同时运行为Linux和Windows编译的程序。
- 可直接在cmd/powershell中运行bash脚本,具体为:
bash test.sh
因为bash为win10内置命令,指向默认Linux子系统。