1. WSL的安装
1.1 升级Windows
WSL需要高版本的windows,可使用微软官方的易升
工具或直接从设置中升级,升级需要一定的时间。
1.2 安装WSL
- 使用管理员模式打开
power shell
, 使用如下命令开启WSL功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
重启你的机器
- 启用虚拟机功能
以管理员身份打开
powershell
,使用如下命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动电脑
- 下载Linux内核更新包 适用于 x64 计算机的 WSL2 Linux 内核更新包
运行你下载的更新包。
- 将WSL2设置为默认版本
以管理员身份打开
powershell
,使用如下命令:
wsl --set-default-version 2
- 选择你要安装的发行版
这里我选择了Ubuntu18.04,获取后安装
- 启动安装的发行版即可
2. 使用WSL图形界面(可选)
- 设置环境变量
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1
安装Xserver,这里选择的软件是
vcxsrv
, 可在sourceforge中下载安装。安装完成后直接启动即可
每次重新启动电脑都要重新打开一下,略烦。微软官方的WSLg已经发布,不过需要Windows Insider,先等等吧
- 在wsl中安装
gedit
sudo apt install gedit
尝试启动gedit:
gedit
完成!!!
可以从wsl中启动图形界面意味着你可以将vscode、idea、goland等开发工具直接装在wsl中。但我强烈建议你使用vscode的
Remote-WSL
插件来进行开发,而只在一些必要的时候才从wsl中直接启动图形界面。
3. WSL中文(如未安装GUI,则不需要配置)
3.1 WSL中文显示
- 安装语言包
sudo apt-get -y install locales xfonts-intl-chinese fonts-wqy-microhei
- 语言环境设置
sudo dpkg-reconfigure locales
使用空格键选中en_US.UTF-8 UTF-8、zh_CN.UTF-8 UTF-8,使用Tab键切换至OK,再将en_US.UTF-8选为默认。
- 重启系统
exit
...
wsl --shutdown
wsl
3.2 WSL中文输入法配置(如未安装GUI,则不需要配置)
- 安装fcitx及输入法
安装fcitx核心及CJK字体
sudo apt install fcitx fonts-noto-cjk fonts-noto-color-emoji dbus-x11
安装搜狗输入法,直接到搜狗输入法官网网站下载并按照说明安装即可
- 配置输入环境
首先使用root账号生成dbus机器码
dbus-uuidgen > /var/lib/dbus/machine-id
用root账号创建/etc/profile.d/fcitx.sh
文件,内容如下:
#!/bin/bash
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
#可选,fcitx 自启
fcitx-autostart &>/dev/null
- 其他配置
将以下内容添加到你的
bashrc
配置文件中
vim ~/.bashrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &>/dev/null
source ~/.bashrc
运行fcitx-config-gtk3
,会出现如图的界面:
按照提示将键盘布局放在第一位,输入法放在第二位。
为防止和Windows上的输入法切换快捷键冲突,这里将快捷键切换更改为ctrl+shift
(Windows上为shift
)
到这里,配置就完成了。
- 开始输入
4. WSL 开发环境备份
可以使用wsl --export <DistributionName> <fileName>
, 例如,我们使用Ubuntu18.04
的Linux版本,那么使用如下命令导出:
# --export <分发版> <文件名>
wsl --export Ubuntu18.04 ubuntuLinux
那么就会在当前文件夹下生成一个名为ubuntuLinux的文件,这就是我们的WSL开发环境了。
如何导入?
# --import <分发版> <安装位置> <文件名>
wsl --import Ubuntu18.04 . ubuntuLinux
导入的WSL默认用户会被设置为root,但是有时候使用root会比较麻烦,比如我们使用普通账户开发的项目,如果用root打开的话,可能有些文件的所有人和所有组会变成root,这时候如果再使用普通账户读写就会产生问题。因此要设置默认用户为普通用户。
sudo vim /etc/wsl.conf
文件内容如下:
[user]
default=lc
FAQ
打开的图形界面字体很模糊
找到自己的VcXsrv安装位置,找到vsxsrc.exe
和xlaunch.exe
两个应用程序文件,右键属性>兼容性>更改高DPI设置>勾选替代高DPI缩放行为(应用程序)> 确定。如何从windows访问wsl2的网络
在命令行中使用如下命令显示wsl2的ip地址
wsl -- ifconfig eth0
- 启动vsxsrc后,依然不能打开图形界面 首先检查vsxsrc的配置是否正确,环境变量是否配置,若检查无误,则可能是防火墙阻止了连接。 尝试关闭全部防火墙(事后再重新打开),再次尝试启动,若可以启动成功,则证明为防火墙问题。 修复方法:确保防火墙入站规则中私有和公有规则都允许连接
Reference
在WSL上配置输入法
wsl下Ubuntu中文显示方法
WSL 下 Ubuntu 20.04 中文显示设置
Windows Subsystem for Linux Installation Guide for Windows 10