记录wsl2配置和使用

上一级页面:index-windows

前言

WSL有2个版本,我目前用的是2,总体性能比1好,但是跨操作系统的文件读写性能比1差。具体如何选择,以及WSL下的最佳实践,可以参考: 比较 WSL 2 和 WSL 1

wsl2是一个完整的linux系统环境,支持docker等服务。不支持system.d服务。本文讲讲wsl2里环境的配置。

在最新版Windows2004内核下,wsl2的安装包只有1.05MB左右,貌似已内置了。查看Windows内核方法,win + R键,输入winver回车就可以看到。

笔者熟悉 Ubuntu 的使用, WSL 也对 Ubuntu 有很好的支持. 全文皆以 Ubuntu18.04 为例说明.

ubuntu在微软商店搜wsl或linux或ubuntu之类的关键词,就可以找到。

为了简便, 有时使用 WSL 指代 WSL2 .

WSL2 安装与基本环境配置

首先配置最基础的环境和依赖:wsl2安装与基本环境配置

个人常用的包列表,主要是通过apt进行安装,少部分手动安装:wsl-常用基本包列表

wsl2 git zsh等基本包的安装配置

wsl2下安装和配置git,见git-安装-配置

WSL2下更换默认shell为zsh,并配置oh-my-zsh:oh-my-zsh-好看好用的shell

wsl2 基本运维–系统更新、磁盘清理、apt卸载软件等

设置wsl自启动

让wsl中的服务随win开机自启动

linux如何卸载安装的软件并且清理残留

liunx如何卸载安装的软件

ubuntu系统更新

安装依赖

1
sudo apt install update-manager-core

更新命令

1
do-release-upgrade

更新到开发版(不建议)

1
do-release-upgrade -d

WSL2 常用命令–重置/注销/备份/恢复等

wsl2-常用命令-重置-注销-备份-恢复等

Ubuntu删除添加的PPA源

ubuntu删除添加的ppa源

压缩WSL2系统的vhdx文件

释放wsl2占用的硬盘空间

基本设置(中文语言、systemd)

设置中文语言,字体优化和更改输入法:wsl2设置中文语言-更换中文字体-进行中文优化

wsl2有很多地方需要用到systemctl,最好安装一个完整的启用systemd实现。wsl2开启systemctl命令简单方法

WSL2与vscode、docker等开发软件的集成

WSL2在日常开发过程中,常常与一些软件进行集成化整合,下面是相关的配置

vs-code远程连接wsl2安装配置

WSL2下的Docker 配置

对于windows端的一些shell、包管理器、terminal等,可以见index-windows

WSL2配置工作在GUI图形界面

方案一:WSLG(推荐)

按照官方推荐方案,使用WSLG,

对于WSLG的使用,见index-wslg

安装配置GPU驱动:wsl2安装配置gpu驱动

然后设置使用独显:wsl2设置使用独显

WSL2自带的OPENGL库是1.4版本的,建议更换opengl版本,见ubuntu安装opengl

测试:你也可以尝试用glxspheres64来跑一个gpu的测试,纯娱乐性质。

glxspheres64被包含在virtualgl中virtualgl与glxspheres64测试软件

方案二 : X server on Windows

首先配置使用gui:wsl2配置使用gui

安装配置GPU驱动:wsl2安装配置gpu驱动

然后设置使用独显:wsl2设置使用独显

然后设置让x server正常获取到屏幕信息(启用windows程序高DPI设置),wsl2-解决高分辨率屏的模糊问题

WSL2自带的OPENGL库是1.4版本的,建议更换opengl版本,见ubuntu安装opengl

如何让声音在wsl2中工作,见如何让声音-pulseaudio-在-wsl2-上工作

测试:你也可以尝试用glxspheres64来跑一个gpu的测试,纯娱乐性质。

glxspheres64被包含在virtualgl中virtualgl与glxspheres64测试软件

WSL2安装系统必要软件–输入法、浏览器、文件管理器

在WSL开发过程中,不可避免会调用到系统的一些软件,需要预先安装配置

推荐安装fcitx输入法,linux-安装中文输入法

(可选)安装浏览器和浏览器驱动:wsl2安装和配置浏览器

(可选)更改默认的文件管理器 wsl2设置默认文件管理器

WSL2配置IDE及开发环境

所有开发环境也放到 wsl2 里,所有的IDE放WSL2里,源码也放wsl2里,git等工具链也使用linux原生的

界面通过 x 11技术传到 win10,wsl2配置使用gui

获得丝滑开发体验。这样的开发方针,只在输入法上麻烦一些,

其他的开发过程中,至今没出过什么幺蛾子

也许有人会说,你都完全塞 wsl2 了干嘛不用单独虚拟机?

答案很简单,WSL2应当是一个定位为融合体验最佳的虚拟机

wsl2 轻量,在文件操作方面和windows系统集成的很好好,

wsl2 这样,多个虚拟机共用同一块内存, windows 和 linux 共用同一个 docker ,这种融合体验在开发环境中是很棒的

下面配置相应的工具链和IDE等

Windows界面快速启动IDE

windows界面快速启动ide

安装OpenGL/OPENGL ES图形库开发所需依赖

按照实际开发需求安装,无需求跳过

对于OpenGL/OpenGL ES /EGL等软件开发,需要配置对应库:安装与卸载opengl-dev

WSL2安装和配置科学计算及硬件加速

按照实际开发需求安装,无需求跳过

对于进行科学计算、人工智能等软件开发,需要配置cuda:wsl2-cuda安装

部分使用Python进行科学计算的,可以安装对应的Python库:wsl2科学计算配置

linux安装配置mysql

mysql安装配置-linux

mysql-workbench-安装使用

mysql-workbench-修改界面和字体的大小

snap

snap需要启动snapd,而snapd则需要完整的systemd,见wsl2开启systemctl命令简单方法

如何卸载snap,怎样在 Ubuntu Linux 中移除 Snap 软件包-51CTO.COM

WSL2配置桌面环境以及美化

安装桌面环境

  1. 安装也用不上几次,别折腾桌面了
  2. WSL的桌面環境效能极差
  3. 微软并没打算给 WSL 加入桌面支持,一定要装的话可能出现一些问题。

非要安装的话,安装过程见wsl2配置桌面环境

wsl2配置桌面环境-kde

使用字体管理器来管理所有安装和添加的字体

使用字体管理器来管理所有安装和添加的字体

设置gtk主题

重置默认字体

1
2
3
4
5
6
7
gsettings reset org.gnome.desktop.interface monospace-font-name

gsettings reset org.gnome.desktop.interface document-font-name

gsettings reset org.gnome.desktop.interface font-name

gsettings reset org.gnome.desktop.wm.preferences titlebar-font

ubuntu当前版本的GTK3默认主题是yaru,可以通过命令查看

1
cat /etc/gtk-3.0/settings.ini
1
2
3
4
5
[Settings]
gtk-theme-name = Yaru
gtk-icon-theme-name = Yaru
gtk-sound-theme-name = Yaru
gtk-icon-sizes = panel-menu-bar=24,24

先安装主题

1
sudo apt install yaru-theme-gtk yaru-theme-icon yaru-theme-sound

设置环境变量

1
2
# 设置默认GTK3主题
export GTK_THEME=Yaru:dark

有些 GTK 3 的主题包含深色版本, 但只有应用程序明确要求时才会使用. 要在所有 GTK 3 程序中应用深色模式, 请使用以下配置:

1
sudo vim /etc/gtk-3.0/settings.ini

尾部加上一行

1
gtk-application-prefer-dark-theme = true

安装gui工具来调整主题

1
sudo apt install lxappearance

启动lxappearance

1
lxappearance

设置qt主题

1
2
3
sudo apt install qt5ct 
# qt5-style-plugin提供仿造GTK主题样式
sudo apt install qt5-style-plugin

修改环境变量

1
export QT_QPA_PLATFORMTHEME=qt5ct

启动qt5ct

1
qt5ct

之后选择风格为gtk2

Pasted%20image%2020220708170626.png

参考、引用、致谢

Windows 10 WSL2 安装使用及Docker安装

WSL2 Docker自启动/ 使用Windows代理/ (nediiii.com)

微软win10子系统wsl2安装教程(附三个实例应用场景) | 佰阅部落 (baiyue.one)

在 Windows 10 上安装适用于 Linux 的 Windows 子系统 (WSL)

如何启用hyper-v?