参考文章
- 超详尽教程!在Windows 10内置Ubuntu子系统上搭建私有云
- (续):超详尽教程!在Windows 10内置Ubuntu子系统上搭建私有云
- 继续折腾!给Windows 10内置Ubuntu子系统安装SSH服务
给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,安装桌面环境。
我们选择Xubuntu minimal installation安装,Xubuntu基于Linux的xfce4桌面,是一套轻量化的桌面环境,比gnome、kde都轻快的多,全套安装大约两个G,本次只为体验,不想安装那么多用不到的桌面应用,比如office等,所以选择minimal installation。
选择OK开始安装,如果清华的源速度给力,763个包很快就下载完毕,接下来是一个较长的安装时间。
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。
第一个画面的Display number填写0。
Start no client
选Start no client下一步。
Disable access control
第三个画面勾选Disable access control,下一步。
完成
最后点击完成按钮。
视窗右下任务栏出现X图标,X server启动成功。
启动成功
配置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。
Enable X11 forwarding
接下来是见证奇迹的时刻了。在PuTTY终端窗口输入命令:
# xfce4-session
一大串信息之后,linux系统的桌面出现在眼前。
Xfce4桌面
这就是最轻量的“小耗子”xfce4桌面系统了,打开几个应用体验一下吧!
多窗口
原理简述
- 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
火狐浏览器
可以不用进入xfce4桌面,单独打开火狐浏览器的窗口,这就是一个典型的X client程序应用。
后记
Linux的优势其实不在桌面环境,折腾桌面系统只不过是为了尝鲜体验。Linux的乐趣就在于各种折腾,想方设法让它为自己工作,搭建各种环境,调试各种服务,在折腾中积累各种经验吧。
网友评论