Windows10 Linux子系统安装图形化界面的两种方法及其对比
理论上讲,所有Win10的Linux子系统都可以通过Windows10本机远程桌面和Xming的方法来安装使用图形化界面,笔者目前只接触了Debian系的Linux系统,故以Debian GNU/Linux系统和xfce4为例介绍(Ubuntu系统装完Xming就能使用,在此不再叙述,详情请关注IT之家极客学院,同时本文也是为了方便一些有一定Linux使用经验朋友而写的,不喜勿喷)。另外,如果是Linux使用比较多的话,笔者推荐使用Debian系统,稳定性、依赖方面强过Ubuntu及Kali Linux等。
一、使用Windows10本机远程桌面连接
1.1、首先安装好Debian
具体过程不再叙述,参见IT之家Win10使用进阶:一周年更新14316如何开启Linux Bash命令行,安装好并设置密码之后如下:

1.2.使用国内软件源
众所周知的原因,在国内如果使用官方源的话,更新软件、安装软件会非常的慢,非常痛苦,我们需要替换成国内软件源:
1、在win10资源管理器中打开C:\Users\username\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\etc\apt文件夹(将username替换为你自己的win10账户名)。
2、编辑sources.list文件,用#号注释掉原有的官方更新源,增加国内源。下面我贴出中科大比较稳定的stretch分支的源,软件比较老,但是稳定。然而我个人用的是buster分支,软件比较新,有些奇怪的事,Ubuntu默认用的很多软件的版本就比较新,所以系统稳定性要比Debian差些,求稳的同志们就用下面的源吧:
deb https://mirrors.ustc.edu.cn/debian/ stretch main contrib non-free
deb-src https://mirrors.ustc.edu.cn/debian/ stretch main contrib non-free
deb https://mirrors.ustc.edu.cn/debian/ stretch-updates main contrib non-free
deb-src https://mirrors.ustc.edu.cn/debian/ stretch-updates main contrib non-free
deb https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free
deb-src https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free
笔者在此也放出中科大大佬的工具,上面有常用的Linux发行版的国内源文件,已经设置好的,供各位下载:https://mirrors.ustc.edu.cn/repogen/
3、编辑完保存,如图:

1.3.更新软件源
代码:sudo apt-get update

注意:这里有个坑,因为是https协议的,但Win10的Debian子系统,并没有安装apt-transport-https,直接更新会报错,建议第一次更新先使用http协议或者官方源,在装完apt-transport-https之后,再使用1.2中https协议的软件源(Debian的buster以上分支也不需要,stable类的分支必须先安装apt-transport-https才能使用https协议的软件源,使用https协议可以有效防止运营商劫持)。
更新完如图:

1.4.安装xorg
xorg是xfce桌面需要的一个基础依赖性质东西,开机时候提供登陆界面。这里我说的可能不太准确,个人理解就是要装xfce必须先安装xorg,不然使用起来会有些问题,比如缺少这个组件那个组件的,如果装Ubuntu桌面的话替换成kdm,xfce也可以先装xdm,看个人喜好。
代码:sudo apt-get install xorg
大约需要占用361M空间。

选择语言区域(建议选英文,选汉语也没用,就当学英语了),一路回车:


最后那行报错不用管,研究好些天都没解决掉,反正软件安装成功了。
1.5.安装xfce4
代码:sudo apt-get install xfce4

大概需要441M空间,如果不换国内源的话怕是需要下载一天。
1.6.安装并配置xrdp
Xrdp允许Windows或Linux系统通过远程桌面的方式来访问另外一台主机,特别适合本地虚拟机使用,详情参考Linux公社文章:xrdp完美实现Windows远程访问Ubuntu 16.04。
1、安装xrdp,代码:sudo apt-get install xrdp

2、设置使用3390端口
代码:sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

3、向xsession中写入xfce4-session
代码:sudo echo xfce4-session >~/.xsession
4、重启xrdp服务,代码:sudo service xrdp restart

这时,可能会有防火墙提示,允许就好。
1.7.启动远程桌面
1、在Cortana中搜索远程桌面并启动:

2、点击显示选项,填入本机IP(这里是局域网IP,所以你也可以用局域网内其他Windows10电脑试试,建议使用静态ip)、刚刚设置的端口号、还有你的Linux子系统用户名(也可以使用root账户登陆,比较麻烦,因为Debian默认是禁止使用root账户登陆的),如图:

3、点击链接:


4、输入Linux子系统密码:

5、尽情享(shí)用吧:


至于后面需要做的配置,参见:debian 9安装后需做的几件事。
二、使用Xming及ssh连接
如果你用的Windows10子系统是Ubuntu,那安装完就能用了,很简单的详见IT之家相关教程,理论上所有Linux都可以通过本方法来实现安装,下面是Debian以及Kali Linux等系统需要做的配置,参考了:Use SSH and XMing to Display X Programs From a Linux Computer on a Windows Computer
首先需要安装Debian还有xfce4,与上面第一种方法述1.1至1.5的内容完全一致,在此不再赘述,安装好之后近些如下操作:
2.1.安装xming
没什么特殊的,下载安装,打开就行。
地址:https://xming.en.softonic.com/?ex=REG-60.2
2.2.确定OpenSSH已经安装
在终端执行:sudo apt-get install openssh-server
要是如下图这样,那就是没有安装,输入y确认就是了:

2.3.配置DISPLAY方法运行变量
安装完xming之后你会发现并不能像Ubuntu一样运行DISPLAY=:0 startxfce4指令来启动Debian的应用程序,提示找不到DISPLAY方法,那是没有配置ssh相关内容,我们需要做如下配置:
1、打开${HOME}/.bashrc文档,在最后面加入:
if [ -d "${HOME}/bin" ] ; then
export? PATH="${PATH}:${HOME}/bin"
if [ -f "${HOME}/bin/ssh_login" ] ; then
. "${HOME}/bin/ssh_login"
fi
fi
2、在${HOME}/bin/文件夹下新增ssh_login文件(bin文件夹没有就新建一个),内容如下:
if [ -n "${SSH_CLIENT}" ] ; then
if [ -z "${DISPLAY}" ] ; then
export DISPLAY='localhost:10'
fi
fi
3、给ssh_login文件777权限,代码:sudo chmod 777 ${HOME}/bin/ssh_login



2.4.在终端中启动xfce4桌面
如果你没有配置xming,没改里面东西,那默认实在0号显示器上显示Linux系统的程序,输入代码如下:
DISPLAY=:0 startxfce4
也可以直接启动root账户:
sudo su
DISPLAY=:0 startxfce4
默认状态会只有两个比较简陋的panel,如下图:

你也可以再进行拖动调整,比如笔者上面是Windows10的任务栏,下面是Debian的panel,结合到一起美滋滋:

其实正常状态下,还会启动一个桌面进程的,由于我用的是buster分支的软件源,这就导致软件不是最稳定版本,然后desktop启动失败,于是就剩下这两个panel,然而因祸得福,个人感觉这样很舒服,所以保留了这种,如果你用了我上面写的源,启动后的将会和前面的远程桌面类似。
三、Win10远程桌面与Xming连接的对比
其实实现原理都比较接近,都需要配置一系列东西,但两者体验还是有些不一样的,下面做个简要的对比:
1、安装难易度:
个人感觉,就Debian来讲使用xming的方式安装稍微简单一些,但二者相差不多,如果是Ubuntu,那会更加简单,各位可以自行体验。
2、启动便携度:
相同点是:两者都需要先在powershell或者cmd中先启动bash。
不同点是:远程桌面的方法启动bash后再启动远程桌面,只用配置一次,以后点击链接就可以,相当于每次启动需要鼠标点击一次powershell,输入bash,点击远程桌面,点击链接;
xming的方法需要再启动xming,然后在powershell里输入DISPLAY=:0 starxfce4,但是终端都会记录以前输入的内容,所以也不用每次都输入,其实就我个人而言,xming的方法更加方便启(zhuang)动(bi),哪怕每次都输入DISPLAY=:0 startxfce4。
使用远程桌面的方法启动后,可以关掉powershell了,只要后台服务在运行,就不会影响体验,但是xming不行,如果刚刚那个启动xfce4的powershell关掉,所有打开的窗口都会关闭。
3、使用体验:
采用远程桌面连接的方式,将会有非常完整的沉浸式体验,你会获得一个完整而不割裂的Linux系统,如在电脑上单独安了一个完整的Linux体验:

而使用xming的方法,你会感觉两个系统合二为一了,有种混血儿的感觉,每一个Linux程序都将会开启一个xming窗口,而且这些窗口也支持win10的分屏功能:


4、资源占用情况:在启动系统只开一个文件管理器的情况下,使用远程桌面的方法资源占用稍多,个人猜测可能是远程桌面本身占用的资源稍多一些,另外说一下,两者是可以同时打开的:

5、与Windows10系统的互通性:
文件互通性:两者都支持在两个系统下实时更改文件,但是都需要使用root账户登陆才能完全实现实时更改文档,不然在Windows10下的更改,在Linux下看不见,但在Linux下的更改立刻就能在Windows10上看到。
剪贴板互通性:两者都可以实现剪贴板文本内容的互通,但对于文件就有所不同。如使用远程桌面,文件的话由于两个系统的路径不同,无法从Windows10下粘贴文件到Linux下,如图:

但是可以从Linux下把文件粘贴到Windows10下的,比如粘贴到桌面,这是通过远程桌面本身实现的,如图:

而如果使用xming的话,只能文本互通,文件无法通过剪贴板复制粘贴,有时候还会有意外发生,需要清空剪贴板,比如笔者就在桌面上放了个

6、性能方面
个人实际体验,xming方式的性能较差,比如使用Firefox的时候往往比较卡,这可能是实现方式不同的原因,尝试过提高xming优先级,也没多大用。
综上所述,如果希望有完整的沉浸式Linux体验,推荐使用远程桌面连接的方式,如果主要用的还是Windows10,希望使用Windows10的同时也使用Linux,那么笔者推荐使用xming的方式,这种方式可以将两个系统同时结合起来,从而获得很神奇的体验。在此再感谢下参考文献中的大神,有了他们的无私奉献,我们才能学到更多的知识。
参考文献:
1、Win10使用进阶:一周年更新14316如何开启Linux Bash命令行
3、使用xrdp实现windows远程桌面ubuntu linux
5、Use SSH and XMing to Display X Programs From a Linux Computer on a Windows Computer
Windows10 Linux子系统安装图形化界面的两种方法及其对比的更多相关文章
- Linux服务器安装图形化界面
Linux服务器安装图形化界面 1.检查有无安装gnome桌面 [root@localhost ~]# rpm -qa |grep gnome 2.查看可安装组件列表 [root@localhost ...
- linux访问windows共享文件夹的两种方法
有时需要在linux下需要访问windows的共享文件夹,可以使用mount挂载或者使用samba连接. 1.mount挂载 首先创建被挂载的目录: $ mkdir windows 将共享文件夹挂载到 ...
- (转)linux访问windows共享文件夹的两种方法
有时需要在linux下访问window的共享文件,可以使用mount挂载或使用samba连接. 1,mount挂载 $ mkdir windows 将共享文件夹挂载到windows文件夹: mount ...
- Linux上安装Perl模块的两种方法
Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载 您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...
- Linux(Centos)安装图形化界面步骤
最近有重新来捣鼓捣鼓Linux了,这次撸的版本是centos7.4的,虽然说是不要桌面,但是感觉还是安装一下比较好balalalala.........废话不说的直接进入正题: 安装X 首先安装X(X ...
- linux服务器上安装jdk8的两种方法
这里介绍两种安装方式: yum安装(力荐) 从官网下载包安装 获得一台linux服务器 要在linux下安装jdk,首先你得先有一台linux服务器,虚拟机或者租一台都可以 yum安装jdk 在l ...
- Linux 第一个静态库 (两种方法)
方法1 --------------------------------------------- Linux下 静态库 一般为.a为扩展名 类似 lib***.a 的文件名.利用静态函数库编译 ...
- Win7系统取消登录界面的两种方法(图文)
windows7系统设置电脑密码后,即使取消密码,也会出现登录界面 ,每次都要点击用户图标才能进入系统,这样比较麻烦.那么有什么办法可以取消登录界面呢?方法当然是有的,阅读下文教程,我们一起来看下Wi ...
- jQuery中清空元素.empty()和.html(''),两种方法的对比
jQuery 中有 .empty() 和 .html() 两种方式,都能够清空所选父元素中的所有子元素.但是这两者清空元素的方式上,有着很大的区别: 1.empty() jQuery对象.empty( ...
- mybatis学习之路----批量更新数据两种方法效率对比
原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方 ...
随机推荐
- iOS中搜索框EVNCustomSearchBar使用小结
最近在项目开发中用到了搜索框,之前都是用的系统的searchbar,现有项目中用的是EVNCustomSearchBar,我试了一下还挺方便,下面说一下具体的用法. 第一步:引入添加相关的委托代理EV ...
- 前端 export default 和 export const name 的区别?
export default 是默认导出export const 是命名导出 在一个vue文件中export const可以有多个,但是export default只有且仅有一个,{}表示导入非默认变 ...
- kali Linux及mac os 破解WiFi
wpa-dictionary 用于 Wi-Fi 密码破解. Linux 篇(推荐) 1. 安装 aircrack-ng 使用相应包管理工具安装,例如 Debian/Ubuntu 使用 apt 安装: ...
- 使用 KubeKey 安装部署 Kubernetes 与 Kube-OVN
作者简介:林瑞超,锐捷网络开发工程师, KubeSphere 社区 contributor, 关注Kube-OVN, Cilium 等容器网络相关技术 背景 KubeKey 是 KubeSphere ...
- cornerstone中RAFT的buffer的实现
1.概览: 谈到raft协议实现就绕不开网上流行的mit6.824,但其为go语言,官方没有lab的答案,框架也很晦涩难懂,且全网没有一个博客对其有清晰的解释,有的只是甩一堆名词然后直接贴没有任何注释 ...
- flink jobmanager 终止任务失败问题
flink jobmanager 终止任务失败问题 :root { --default-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, ...
- "开源"是什么?为啥这么火?一定免费吗?
在科技快速发展的今天,"开源"一词频频出现在我们的视野中.究竟什么是开源?为何它能在技术圈引发如此热潮? 开源软件到底有什么魅力?它是如何改变软件开发和使用的方式的?开源软件是 ...
- 解决IDEA中SpringBoot框架使用@Autowired注解方式注入mapper对象出现红色下划线的问题
点击编译器左上角File,点击settings进入设置界面,找到图片中对应的位置,将红线圈住的地方改为Warning,点击右下角的Apply即可
- MySql5.7及以上 ORDER BY 报错问题
一.问题 本人使用的MySql版本是8.0的 当MySql5.7及以上的版本执行带有 ORDER BY 的SQL语句时可能会报错. 例如,执行以下mysql语句: SELECT id, user_id ...
- .NET + 微信小程序开源多功能电商系统
前言 推荐一款基于微信小程序.LayUI 和 .NET 平台的多功能电商系统,支持二次开发和扩展,帮助大家轻松快速搭建一个功能全面且易于管理的在线商城. 项目介绍 该项目不仅包含了微信小程序前端,还配 ...