启用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子系统。
启用Windows10的Linux子系统并安装图形界面的更多相关文章
- WIN10下安装Linux子系统并安装xface4界面
WIN10下安装Linux子系统并安装xface4界面,使用win10自带的远程桌面工具登陆成功. 成功截图: 安装步骤 1.安装[适用于Linux的Windows子系统]组件 2.win10应用商店 ...
- 001 win10下安装linux子系统--Ubuntu及其图形界面
首次启动图形界面关键步骤及相关命令: 步骤: 打开Xlunch 打开XLaunch,选择:"one large window",Display number设置成0,其它默认即可, ...
- linux -- Ubuntu Server 安装图形界面
1.连接网络,你一定要确保网络通畅,如果你和我一样使用Wireless,那先找根网线插上,因为下面的安装都要通过网络下载组件的. 2.进入图形界面的命令是startX,敲击后会有安装xinit的提示. ...
- Windows10系统的Linux子系统中安装MySQL数据库心得
后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...
- 手把手教你启用Win10的Linux子系统(超详细)
原文:手把手教你启用Win10的Linux子系统(超详细) 版权声明:转载请保留出处,谢谢! https://blog.csdn.net/zhangdongren/article/details/82 ...
- Windows 10 下 Linux 子系统的安装和使用
介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2 ...
- 远程访问linux环境安装图形界面问题解决汇总
本文内容转摘于其他网页,仅用于学习: 通常Linux出现 DISPLAY 尚未设置 解决方法,在root用户目录下执行#xhost +: [root@TEST144239 ~]# xhost + ac ...
- Linux 为linux enterprises 6安装图形桌面教程
为linux enterprises 6安装图形桌面教程 by:授客 QQ:1033553122 安装系统后发现没图形界面,安装Xwindow[为了避免权限不足,以root登录] 步骤1.启动图形界面 ...
- windown下linux子系统的安装和卸载
原文:windown下linux子系统的安装和卸载 安装 第一步 打开开发人员模式 第二步 勾选适用linux的window子系统 第三步 打开powershell 第四步 在PowerShe ...
随机推荐
- phpStudy安装配置小记
一.phpStudy简介 该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境·该程序不 ...
- bzoj 2194: 快速傅立叶之二【NTT】
看别的blog好像我用了比较麻烦的方法-- (以下的n都--过 \[ c[i]=\sum_{j=i}^{n}a[i]*b[j-i] \] 设j=i+j \[ c[i]=\sum_{j=0}^{n-i} ...
- (2)css的复合选择器与特性
css的复合选择器与特性 在本篇学习资料中,将深入了解css的相关概念,上一篇介绍的3种基本选择器的基础上,学习3种由基本选择器复合构成的选择器,然后再介绍css的两个重要的特性. 1.复合选择器 复 ...
- sigaction函数的功能
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...
- [SPOJ375]Qtree
Description You are given a tree (an acyclic undirected connected graph) with N nodes, and edges num ...
- [POI2007]大都市meg
Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了.不过,她经常回忆起以前在乡间漫步的情景.昔日,乡下有依次编号为1..n ...
- foreach的学习使用归纳
1: 实现对双向链表的遍历使用 LinkedList<string> llary = new LinkedList<string>(); llary.AddLast (&quo ...
- js中toFixed重写
在测试原生的toFixed发现,它在个浏览器上表现不一致,并且有些值在保留小数时得到的结果并不是想要,如在chrome下测试: 所以针对toFixed方法不准的问题,我们进行方法改造: 主要思路是:对 ...
- 数据流和ByteArray
问题:如何把一个long类型的数写进一个文件里 所以现在有DataInputStream和DataOutputStream 这两个是节点流 例子代码: import java.io.*; public ...
- 一个net程序猿必备工具
自古以来,人类的进步都是依赖于工具的进步,从刀耕火种,到使用青铜器,再到现在的科技,每一次都使我们的工作效率提高了无数倍,所以一个好的工具能使我们提高无数倍的工作效率,下面,我就根据自己简单的总结一下 ...