WSL2 Ubuntu图形界面使用指南

文章目录

  • 本文概要
  • WSL2的启用
  • WSL2 Ubuntu安装
  • 图形界面的安装
  • 图形界面的优化
    • 中文输入法的安装
    • 界面美化
    • 操作优化
      • 1.简化启动过程
      • 2.添加快捷路径
      • 3.添加快捷键
  • 其他
  • 总结

:本文因为是边实践边写的,所以不能一次性把成功的实践写出,复现时每个部分以日期最新的更正为准(如果有的话)。

本文概要

win10的WSL(Windows Subsystem for Linux)使得可以在win10下运行linux系统作为其子系统。作为一个既尝试过win10+vmware虚拟机ubuntu以及双系统的,说一下我自己的感受以及为什么使用WSL:

  • 使用虚拟机运行ubuntu是最简单的直接同时运行两个系统的方式,但是虚拟机太耗费资源,吃配置,而且启动慢、关机慢;
  • 对于双系统来说,两个系统各自都能运行很好,但是如果有使用两个系统的需求,来回切换非常麻烦
  • 既然双系统来回切换太麻烦,一个很自然的想法是只用一个系统。对于我个人而言,我主要用ubuntu来写代码,学习linux知识,但是就目前来说,linux的软件生态还不足以完全取代windows,所以只用ubuntu不够(有些软件号称跨平台,但是在linux上其实是阉割版),单系统不足以满足我的需求
  • 另一个思路是在单系统中虚拟另一个系统——1)比如使用虚拟机,这就回到了第一点;2)或者linux下使用wine安装windows软件,这个我也尝试过,可以从wine的官网按照指示安装,或者考虑到外网网速的限制使用我这里下载好的wine安装包,提取码:neo4。(按照文件夹内readme指示安装)(不知道为什么被河蟹了);3)或者使用WSL,这是这篇文章要讲的。linux下使用wine安装windows软件原理是使用一个兼容层,把软件对windows系统底层的调用转换成对linux底层调用,WSL1本来也是这个思路,但是兼容层的存在总归是降低了效率,且并不能完全模拟另一个系统的调用;WSL2据说是使用了一个真正的linux内核,所以这也是吸引我的点之一。

==>本文内容:主要记录WSL2下安装与使用ubuntu,WSL中ubuntu的图形界面的安装,以及对图形界面的调教。另外,本文作为一个how to教程,没啥创新性,基本是我自己网上找到的各个问题解决方案的集合。

WSL2的启用

=>本部分可以参考官网教程:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
=>为了使用WSL2,还需要启用BIOS虚拟化(不然没法把WSL1下的ubuntu转换成WSL2下的ubuntu),参考这个教程
=>如果原先装了WSL的ubuntu转换成WSL2的ubuntu,参考这个教程

WSL2 Ubuntu安装

安装ubuntu超简单,完成了上述启用WSL步骤后,直接在windows应用商店搜ubuntu,随便安装18.04LTS版本还是20.04LTS版本。不过如果要使用ubuntu桌面,目前我测试成功的只有ubuntu18.04LTS。如下:
WSL2 Ubuntu图形界面使用指南_第1张图片
安装完后建议执行——换源,换成清华源:

#  sudo vi /etc/apt/sources.list                 use `:%d` command  empty file contents 
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

图形界面的安装

我个人需要用ubuntu写代码,需要趁手的IDE,所以需要图形界面。在我找到的解决方案里,一种是通过在ubuntu中安装xfce4桌面,目前我找到的大部分可行方案都是这种,比如:

  • 直接安装xfce4桌面然后设置xrdp远程连接,参考这个B站视频教程
  • 或者安装xubuntu桌面,然后设置xrdp远程连接,参考这个教程,xubuntu桌面相当于xfce4桌面加上一些小工具。

另外一种是给ubuntu安装ubuntu-desktop,安装一个X显示服务器程序,把图形界面显示转发到本地的X显示服务器,因为我个人比较习惯ubuntu桌面,所以使用的是这种方法。(另外,安装ubuntu桌面然后使用xrdp远程连接的方式我也试过,没找到成功的例子)。下面介绍的ubuntu桌面的安装以及其使用优化。

=>在WSL2下ubuntu18.04LTS中安装ubuntu桌面并使用VcXsrv显示服务器程序显示,参考本文使用的这个教程,但是这个方法在ubuntu20.04LTS下测试失败。

更正1-2021.3.13可以使用以上方法安装ubuntu20.04桌面环境,只要遵循以下两步:

  • 安装systemd。据说gnome桌面是基于systemd,而WSL不支持systemd,所以需要先安装systemd,参考这篇博客(不知道为何这篇博客访问有点问题,可以直接去参考这个教程或者去原git repository:https://github.com/DamionGans/ubuntu-wsl2-systemd-script;如果访问github有问题,直接下载仓库到本地然后参照readme步骤执行,百度云下载链接,提取码:i2a5)
  • 按照上面安装18.04桌面环境那篇博客一样安装ubuntu20.04桌面环境

图形界面的优化

安装完ubuntu桌面并通过VcXsrv显示效果如下:
WSL2 Ubuntu图形界面使用指南_第2张图片
可以进一步优化该图形界面,提高美观度与可用性。

中文输入法的安装

  1. 安装中文语言包
    sudo apt install language-pack-zh-hans
    
  2. 安装完整的语言支持
    打开ubuntu的language support,在dashboard中搜索language,启动即可,启动后会自动查找需要安装的完整中文语言支持包,点击install安装即可。
    WSL2 Ubuntu图形界面使用指南_第3张图片
    如果安装失败,重新进入,然后不点install,而是点击detail,查看具体需要安装哪些包,在命令行中安装或者使用synaptic安装这些包。
  3. 安装fcitx
    sudo apt install fcitx
    
  4. 之后是按照搜狗输入法for linux官方教程安装搜狗输入法,除了最后一步中的使用dpkg安装deb包,将其改为使用apt安装更好:sudo apt install --fix-missing ./sogoupinyin_2.4.0.3469_amd64.deb
    出错,以上安装中文输入法的方法不行,暂未找到在子系统下使用中文输入的方法。

更正1-2021.3.13:上述方法在ubuntu20.04测试成功。只需要先执行以下步骤:

  • 执行以上1、2步骤,安装中文语言包支持
  • 设置区域语言为中文编码与中文,参考这篇博客
  • 然后以上3、4步骤安装fcitx与搜狗输入法
  • 执行以下命令重启fcitx与搜狗输入法(或者将以下命令写成脚本,添加到开机自启)——参考这个教程:
     pidof fcitx | xargs kill
    pidof sogou-qimpanel | xargs kill
    nohup fcitx 1>/dev/null 2>/dev/null &
    nohup sogou-qimpanel 1>/dev/null 2>/dev/null &
    

界面美化

界面美化参考其他美化ubuntu的教程,应该是与ubuntu实体机一样折腾。过程略。

更正1-2021.3.13:使用gnome-tweaks可以优化窗口效果,安装gnome-tweaks——sudo apt install gnome-tweaks gnome-shell-extensions
=>开启窗口最大最小化按钮、开启桌面图标显示、开启ubuntu dock栏、开启应用菜单,如下操作:
WSL2 Ubuntu图形界面使用指南_第4张图片
WSL2 Ubuntu图形界面使用指南_第5张图片
因为在dock栏点击“显示应用程序”,列出所有程序的快捷方式时还比较卡。 针对dock栏里显示所有程序会出现较严重拖影问题,改为使用gnome-tweaks提供的"应用程序菜单"功能来查看所有程序,开启方式如下:
WSL2 Ubuntu图形界面使用指南_第6张图片
查看所有程序方法如下:
WSL2 Ubuntu图形界面使用指南_第7张图片
==>其他的主题更改、壁纸更改、字体更改、terminal换成zsh等等与ubuntu实体机下基本一样,查看其它教程,略过。

操作优化

1.简化启动过程

参考了一些教程,说是在windows下启动脚本bat让ubuntu子系统启动时执行一些命令来实现子系统的部分开机自启操作,未实践过。

更正1-2021.3.13:没必要,当前的启动方式已经较为简易了:

  • 在开始菜单启动ubuntu20.04
    WSL2 Ubuntu图形界面使用指南_第8张图片
  • 启动显示服务器——上图中的第一个程序,之后三步参数基本默认,只需要改动三处:选择one large window;display number设为0;勾上disable access control
  • 在ubuntu20.04启动的命令窗口运行gnome桌面
    gnome-session
    

==>可以设置开机自启动,与实体机ubuntu是一样的——在系统工具里提供的“启动应用程序”里添加即可;或者在“优化”里“开机启动程序”中添加,与系统提供的功能是一样的

2.添加快捷路径

我们知道WSL中中window的各个盘符分别在/mnt/盘符下,通过这种方式可以访问windows下的文件以及共享文件给windows系统,以下是我个人在ubuntu的文件浏览器中设置的快捷方式:
WSL2 Ubuntu图形界面使用指南_第9张图片
其中,win-desktop对应windows下的桌面,如果有其他需要快捷访问的windows目录也可添加,直接把目录拖到ubuntu的侧边栏然后改名即可。

3.添加快捷键

默认的桌面上不会显示任何图标,把快捷启动方式放进~/Desktop中也不会显示在桌面上(不知道为啥),访问程序的方式之能是点击Activities,然后点击图标,显示所有程序,较为麻烦。
WSL2 Ubuntu图形界面使用指南_第10张图片
可以在设置(settings)-设备(device)-键盘(Keyboard)中设置快捷键,
WSL2 Ubuntu图形界面使用指南_第11张图片
如下面是打开文件浏览器的快捷键:
WSL2 Ubuntu图形界面使用指南_第12张图片
我一般有以下几个快捷键:

  • 文件浏览器-命令:nautilus 打开位置的绝对路径-快捷键:CTRL+E(为了避免与windows本身的win+E冲突)
  • 截图-命令:gnome-screenshot -i-快捷键:CTRL_ALT+P
  • 选取窗口杀死-命令:xkill-快捷键:CTRL+K

其他

更正2-2021.4.10
因为想到可能随着ubuntu的使用,装的东西越来越多,容易占满C盘,故把wsl移动到非系统盘。(当然如果一开始就安装在非系统盘那就不需要了):

  1. 下载move_wsl脚本,github链接,百度云链接,提取码:vigx
  2. 执行命令,然后按照提示选择要移动的wsl发行版以及目标路径,比如选择ubuntu20.04移动到/d/linux
    ./move-wsl
    
  3. 貌似以上脚本移动后会更改wsl启动时的默认用户,可以自己设置默认登陆用户,参考这个教程

总结

本教程尚未完全成功(如中文输入法就没有装成),不写了懒得折腾,以后有机会再搞。

更正1-2021.3.13
最后的界面如下:

目前的问题:

  • 显示界面会有点卡。这个影响不大,只是在拖动窗口、滑动页面的时候有一点点的滑动特效不够顺滑。
  • 安装搜狗输入法后(也不知道是安装中文输入法哪一步导致的),刚启动图形界面无法输入,需要重启输入法之后才可以输入,所以这个问题相对来说也不严重

后续,

  1. 看到网上一些解决方案说可以使用mobaxterm终端,该终端自带xserver,可以替代VcxSrv显示图形界面,不过估计安装配置优化图形界面还是一样得,没再折腾了
  2. 微软承诺以后可以直接由官方支持linux GUI啦,参考The Windows Subsystem for Linux BUILD 2020 Summary

你可能感兴趣的:(ubuntu,windows,linux)