继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序

给WSL安装桌面环境在前面三篇文章的基础上,我的小小WSL系统初步有了网页服务、私有云盘和SSH服务,可以用PuTTY远程操作。今天继续探索图形桌面环境的搭建和使用。
首先,换镜像源!

# vi /etc/apt/sources.list

将文件内容替换成清华tuna镜像:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

保存并更新系统:

# apt update
# apt upgrade

之前我用阿里云的镜像,发现无法安装桌面程序,很多包都无法locate,不知道什么原因,最后换成上面的清华大学镜像才成功。清华的源速度时快时慢,快的时候满速,慢的时候只有几K,似乎休息日和平日上午速度快,大家可以自己试一下。
然后打开tasksel,安装桌面环境。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
tasksel安装界面

我们选择Xubuntu minimal installation安装,Xubuntu基于Linux的xfce4桌面,是一套轻量化的桌面环境,比gnome、kde都轻快的多,全套安装大约两个G,本次只为体验,不想安装那么多用不到的桌面应用,比如office等,所以选择minimal installation。
选择OK开始安装,如果清华的源速度给力,763个包很快就下载完毕,接下来是一个较长的安装时间。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
tasksel安装界面

无错误返回命令行后,桌面系统安装完成。

远程电脑安装X server

在给WSL系统安装桌面系统Xubuntu的同时,我们在另一台电脑上安装X server。上次我们在这台电脑上安装配置了PuTTY,可以通过ssh远程操作WSL系统,参见<<继续折腾!给Windows 10内置Ubuntu子系统安装SSH服务>>。
先下载安装X server。Windows上的X Server应用有vcxsrv,Xming,cygwin等,我们选择比较稳定而且开源免费的vcxsrv。
点击这里下载vcxsrv,下载到一个vcxsrv-64.1.20.1.4.installer.exe文件,傻瓜式安装即可。
安装完毕,点击开始菜单的XLaunch图标启动X server。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
填写Display number

第一个画面的Display number填写0。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
Start no client

选Start no client下一步。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
Disable access control

第三个画面勾选Disable access control,下一步。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
完成

最后点击完成按钮。
视窗右下任务栏出现X图标,X server启动成功。

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
启动成功

配置ssh和PuTTY

最后还有一些配置要做。
先用PuTTY登陆WSL,修改一下ssh服务的设置文件:

# vi /etc/ssh/sshd_config

将下面几句前面的“#”去掉,保存退出vi,重启ssh服务。

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

# /etc/init.d/ssh restart

再次打开PuTTY终端,在Connection->X11里,将Enable X11 forwarding前面打上勾,然后连接进入WSL。

 

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
Enable X11 forwarding

 

接下来是见证奇迹的时刻了。在PuTTY终端窗口输入命令:

# xfce4-session

一大串信息之后,linux系统的桌面出现在眼前。

 

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
Xfce4桌面

 

这就是最轻量的“小耗子”xfce4桌面系统了,打开几个应用体验一下吧!

 

继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
多窗口

原理简述

  • X
    Linux的桌面环境基于X Window System ,1984年由MIT研发,
    主要特点就是Server/Client网络模型。命名为X的原因据说是因为英文字母X就在W(indow)后面,戏称为下一版的新视窗之意。
  • X11
    X Window推出之后快速演化,到1987年,其核心协议已经是第11版本了,简称:X11。然后到2019年,整整32年了,X Window依然是X11,可见这套协议一开始就设计的非常成功。X11最成功的应用就是苹果的Mac OS桌面系统。
  • X Client
    Linux的桌面应用程序都可以看做基于X11 协议的客户端;X Client 最重要的工作就是处理来自 X Server 的命令,并根据该命令向X Server返回绘图处理资料。上面打开的那些桌面程序都是X Client。
  • X Server
    我们在Windows上安装的vcxrv就是个X Server程序,它负责接收X Client程序传来的绘图请求,并把用户的各种鼠标、键盘命令传回X Client,等待客户端的处理指示。这就是X server的基本功能,它负责在屏幕上绘制图形界面。也就是说,必须在安装了X Server的系统上,才可以使用Linux的各种图形程序。本文的尝试就是例子。
  • X11 forwarding
    我们在PuTTY和ssh做的一系列配置,实际上就是直接通过ssh客户端PuTTY,实现X Server和X Client之间的通信转发,从而允许我们在安装了X server的电脑上,远程打开Linux系统上的X client图形程序。

为了更好地说明问题,给WSL安装一个firefox浏览器试着远程打开看看会怎样。在PuTTY终端如下操作:

# apt install firefox
# firefox
继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序
火狐浏览器

 

可以不用进入xfce4桌面,单独打开火狐浏览器的窗口,这就是一个典型的X client程序应用。

后记

Linux的优势其实不在桌面环境,折腾桌面系统只不过是为了尝鲜体验。Linux的乐趣就在于各种折腾,想方设法让它为自己工作,搭建各种环境,调试各种服务,在折腾中积累各种经验吧。

① 由于本网站资源是搜集整理而成,版权均归原作者所有。本站仅提供一个观摩学习的环境,将不对任何资源负法律责任。
② 若无意中侵犯到您的版权利益,请来信联系我们,我们会在收到信息后会尽快给予处理。
⑥本公告的解释权及对本网站使用的解释权归结于 Drexi.cn-爱分享
Drexi-爱分享 » 继续探索!怎样远程使用Windows 10内置Ubuntu子系统的桌面程序