理论上讲,所有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命令行

2、中科大Debian源使用帮助

3、使用xrdp实现windows远程桌面ubuntu linux

4、debian 9安装后需做的几件事

5、Use SSH and XMing to Display X Programs From a Linux Computer on a Windows Computer

Windows10 Linux子系统安装图形化界面的两种方法及其对比的更多相关文章

  1. Linux服务器安装图形化界面

    Linux服务器安装图形化界面 1.检查有无安装gnome桌面 [root@localhost ~]# rpm -qa |grep gnome 2.查看可安装组件列表 [root@localhost ...

  2. linux访问windows共享文件夹的两种方法

    有时需要在linux下需要访问windows的共享文件夹,可以使用mount挂载或者使用samba连接. 1.mount挂载 首先创建被挂载的目录: $ mkdir windows 将共享文件夹挂载到 ...

  3. (转)linux访问windows共享文件夹的两种方法

    有时需要在linux下访问window的共享文件,可以使用mount挂载或使用samba连接. 1,mount挂载 $ mkdir windows 将共享文件夹挂载到windows文件夹: mount ...

  4. Linux上安装Perl模块的两种方法

    Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载  您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...

  5. Linux(Centos)安装图形化界面步骤

    最近有重新来捣鼓捣鼓Linux了,这次撸的版本是centos7.4的,虽然说是不要桌面,但是感觉还是安装一下比较好balalalala.........废话不说的直接进入正题: 安装X 首先安装X(X ...

  6. linux服务器上安装jdk8的两种方法

    这里介绍两种安装方式: yum安装(力荐) 从官网下载包安装 获得一台linux服务器 要在linux下安装jdk,首先你得先有一台linux服务器,虚拟机或者租一台都可以   yum安装jdk 在l ...

  7. Linux 第一个静态库 (两种方法)

    方法1 --------------------------------------------- Linux下 静态库 一般为.a为扩展名 类似  lib***.a   的文件名.利用静态函数库编译 ...

  8. Win7系统取消登录界面的两种方法(图文)

    windows7系统设置电脑密码后,即使取消密码,也会出现登录界面 ,每次都要点击用户图标才能进入系统,这样比较麻烦.那么有什么办法可以取消登录界面呢?方法当然是有的,阅读下文教程,我们一起来看下Wi ...

  9. jQuery中清空元素.empty()和.html(''),两种方法的对比

    jQuery 中有 .empty() 和 .html() 两种方式,都能够清空所选父元素中的所有子元素.但是这两者清空元素的方式上,有着很大的区别: 1.empty() jQuery对象.empty( ...

  10. mybatis学习之路----批量更新数据两种方法效率对比

    原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方 ...

随机推荐

  1. webpack的构建流程是什么?从读取配置到输出文件这个过程尽量说全

    webpack 的运行流程是一个串行的流程,从启动到结束会依次执行以下步骤 : 1. 初始化参数:在配置文件,读取并合并参数,得到最终的参数 : 2. 开始编译:拿着上一步的参数初始化 Compile ...

  2. kotlin协程——>select 表达式(实验性的)

    select 表达式(实验性的) select 表达式可以同时等待多个挂起函数,并 选择 第⼀个可⽤的. 在通道中 select 我们现在有两个字符串⽣产者:fizz 和 buzz .其中 fizz ...

  3. AWR分享案例

    [深度长文]循序渐进解读Oracle AWR性能分析报告 - ORACLE - dbaplus社群:围绕Data.Blockchain.AiOps的企业级专业社群.技术大咖.原创干货,每天精品原创文章 ...

  4. 征服 Docker 镜像访问限制:KubeSphere v3.4.1 成功部署全攻略

    近期,KubeSphere 社区的讨论中频繁出现关于 Docker 官方镜像仓库访问受限的问题. 本文旨在为您提供一个详细的指南, 展示在 Docker 官方镜像访问受限的情况下,如何通过 KubeK ...

  5. linux 配置apache的虚拟主机

    基于web的开发,若没有配置虚拟主机,一直在浏览器输入localhost/projectname有点复杂 特别是类似thinkphp框架的,一大串:localhost/php/tp5/public.. ...

  6. Chrome使用回退,出现表单提交失败,ERR_CACHE_MISS问题

    是什么.为什么.怎么办 "ERR_CACHE_MISS" 错误通常发生在你使用浏览器的"返回"按钮时.这种错误与浏览器处理缓存数据的方式有关,特别是在处理表单和 ...

  7. (系列九)使用Vue3+Element Plus创建前端框架(附源码)

    说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...

  8. 使用netsh命令行进行网络管理

    显示网络适配器状态 netsh interface show interface 显示各个网络适配器的名称和状态 启用(禁用)网络适配器 本系列命令需要以"以管理员身份运行". 禁 ...

  9. NES 名词解释

    本文介绍了 NES(FC.红白机.小霸王)中一些名词或者术语,主要与 PPU 有关. Tile 8x8 像素图像.每像素 2 比特, 共 16 字节大小.每个像素可以使用 4 种颜色. Sprite ...

  10. 为什么我越来越喜欢用DDD — DDD架构篇(1)

    Hello DDD DDD 是一种软件设计方法,DDD 是指导我们做软件工程设计的一种手段.它提供了用切割工程模型的各类技巧,如:领域.界限上下文.实体.值对象.聚合.工厂.仓储等.通过 DDD 的指 ...