如何设置Windows 11的WSL系统用作备用桌面环境

news2024/10/2 9:47:13

如何设置Windows 11的WSL系统用作开发环境(含Astrill设置)

如何设置Windows 11的WSL系统用作备用桌面环境

引子:
2023年末,公司突然遭遇网络攻击,调整了防火墙设置,连接VPN用来飞X软件,与原来使用的VPN软件冲突了,因此要么设置双启动系统,要么用虚拟系统;此外,也想设置一个专用系统用于开发环境;那么最小代价是什么,WSL V2似乎是首选?

备注:

  1. 以下设置步骤基本都来自于公开资料,不少步骤都有多种操作方法(CSDN或者知乎相关文章),但是经过检索和尝试之后,本文中提供的方法经验证有效的步骤;
  2. 考虑到不同读者的背景,挑选了图形界面操作和命令行两种操作方式。如果有开发经验或者习惯于使用终端命令的读者会发现,命令行更直接和高效。

安装前准备(参加文献2)

为确保WSL V2版能使用虚拟GPU功能,确保Linux GUI程序的正确运行,推荐安装前确认显卡驱动更新到合适的版本;
特别说明】因为是支持WSL2运行虚拟GPU,因此在相应链接中请下载用于Windows 11(32/64位)对应版本的驱动

  • Intel GPU 驱动程序
  • AMD GPU 驱动程序
  • NVIDIA GPU 驱动程序

第1步:安装WSL V2(参见文献1)

1.1 安装Windows Subsystem for Linux(即WSL)

方法1:开启Windows 功能(Windows 11默认使用WSL 2)

在Windows 11的“搜索”中输入“启用功能”,选择
启用或关闭Windows功能选项
在“Windows功能”对话框中,选择如下3项
在这里插入图片描述
【注意】
Hyper V选项(见下图)不是必须的,如果仅仅使用WSL提供Ubuntu等Linux系统,建议不选择此项,节省资源。
在这里插入图片描述

方法2:直接在Powershell中使用命令

运行该命令时注意Powershell以管理员权限启动(以下无特殊说明都建议使用管理员权限进行安装和设置)

wsl --install

说明: 安装接近尾声的时候,会涉及到用户账号信息设置(名字以及账号密码),类似下方的提示内容,参考提示设置即可。
在这里插入图片描述

第2步:安装Ubuntu系统

方法1:使用 Windows Store提供的Ubuntu

在Windows Store中输入Linux关键词的时候,会出现不少可以选择的版本,截止2024年1月,最新的稳定版本(LTS版本)是22.04.3 LTS,直接选择安装即可。
在这里插入图片描述

方法2:第一步中的命令已经默认安装合适的Ubuntu发行版本,不需要额外操作

【补充说明】使用 WSL 命令安装其他Linux版本
wsl --list --online

将显示可以安装的Linux分发版本如下:
WSL可以安装的Linux版本
然后以如下命令,安装期望的版本。注意尖括号<>中的版本应该输入红色框线那一列的名字,而不是右边的“Friendly Name”

wsl --install -d <Distribution Name>

【注意】
如果运行“wsl --list --online”报错,显示如下内容,请参考此处【安装WSL时遇到“无法解析服务器名称或地址”的错误及解决方法】
在这里插入图片描述

第3步:设置WSL Ubuntu系统的中文本地信息及字体

3.1 安装中文语言包并设置中文为默认语言

1)设定中文区域配置
sudo apt install language-pack-zh-hans
sudo dpkg-reconfigure locales

运行上述第2行命令之后,会出现一个文本模式的菜单设置界面(如下),使用TAB健移动光标位置,空格键选择对应的区域选项(用PageUp/PageDown可以翻页),然后确定退出,即可完成设置。
在这里插入图片描述
说明】上图中是已经完成中文设置的显示效果,读者第一次操作时可能显示的是全英文,仔细阅读文字说明即可,不用紧张。
到这里,重启WSL Ubuntu终端即可显示中文。但是,如果运行Linux GUI软件(譬如火狐或者谷歌浏览器),还是无法正常显示中文。按照接下来步骤安装中文字体,才能解决问题。

2)为系统安装中文字体
 sudo apt install fontconfig
 sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows
 sudo apt-get install --reinstall ttf-mscorefonts-installer   
 sudo fc-cache -f -v

上述命令中:

  • 第1行:安装字体管理程序
  • 第2行:直接借用宿主操作系(即用来安装WSL的Windows11)自带的字体,复制一份到WSL的字体文件中,避免了满世界找字体的麻烦(:确实有不少文章推荐使用Linux专用字体并进行了详细说明,如果有时间和精力可以自行研究,可参见文献4)。
  • 第3行:安装微软TTF字体转换程序;安装过程中可能会出现如下菜单操作界面,按提示进行操作即可。
  • 第4行:刷新系统字体缓存

如果顺利完成以上步骤,恭喜你!此时应该能顺利使用Linux GUI程序,并且能正确显示中文(参见下图火狐窗口)。
特别说明】读者可以像使用Windows 11内置应用一样使用Linux GUI程序,因此体验很平滑。
在这里插入图片描述
不过,到此为止,仍然有一个问题,就是没有办法直接针对该Linux GUI输入中文。如果需要解决这个问题,可以继续下文的操作。

第4步:设置WSL Ubuntu系统的中文输入法(可选)

sudo locale-gen 
sudo apt install -y fcitx fcitx-googlepinyin
dbus-uuidgen > /var/lib/dbus/machine-id

说明:

  • 第1行:将生成所有本地化的配置的文件(即/usr/lib/locale/locale-archive),如果是WSL,可以直接执行,因为默认就只有如下几种本地配置,加上我们定义的中文区域设置,不会太耗时。
    在这里插入图片描述
  • 第2行:安装fctix输入法框架程序,以及谷歌的拼音输入法(注:为了图省事,直接用推荐的,其实也不错;喜欢折腾的可以再研究一下搜狗的Linux版);
  • 第3行:为防止后续某些浏览器使用出现“无法找到/var/lib/dbus/machine-id”错误,先提前生成一个;

接下来在“/etc/profile.d/”创建fcitx.sh脚本;此步骤对于Linux不熟悉的同学有点麻烦,请参考以下操作命令。

sudo apt install gnome-text-editor
cd /etc/profile.d
sudo gnome-text-editor fcitx.sh

注意:第2行中的“profile.d”是一个目录;
运行第3行之后,会启动GNome文本编辑器(图形界面的软件),编辑fcitx.sh脚本并保存。详细内容如下(可以直接复制):

#!/bin/bash
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx

#optional
fcitx-autostart &>/dev/null

为方便后续运行,直接设定脚本运行权限并运行;(备注:部分资料用的是source命令,但也有论坛上反馈说刷新无效)。

sudo chmod +x /etc/profile.d/fcitx.sh
/etc/profile.d/fcitx.sh

此时可以运行fcitx配置工具了,输入如下命令:

fcitx-config-gtk3

如果看到如下显示信息,有英文键盘(输入法)以及安装的中文输入法(Google拼音),则说明配置成功。如果看到此处的对话框中没有信息和可选项,建议先关闭终端并使用WSL命令退出Ubuntu,重新启动一次。

wsl --shutdown

在这里插入图片描述

后记

到此为止,按照本篇的各种设置步骤,应该能使用WSL进行日常的上网浏览了。如果需要使用一些特定的Linux GUI软件,则根据需要选择安装即可。

不过,默认情况下,WSL中浏览视频时播放声音无法听见。这个问题也有相关的网友进行了尝试,经过一番波折,也解决了。由于需要处理的步骤挺多,可能要专门写一篇帖子描述。

备注:我上网时用到的Astrill工具(VPN)有Linux客户端(图形界面),因此Linux下用火狐或者谷歌时,不会与公司VPN设置冲突。

参考资料

  1. How to install Linux on Windows with WSL
  2. 在适用于 Linux 的 Windows 子系统上运行 Linux GUI 应用
  3. 如何在基于 Ubuntu 的发行版上安装微软 TrueType 字体 | Linux 中国
  4. 如何在 Linux 中安装新字体 以及Linux安装中文字体

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA基础----String类型的简单介绍

文章目录 1. String类的重要性2. 常用方法2.1 字符串构造2.2 String对象的比较2.3 字符串查找2.4 转化2.5 字符串替换2.6 字符串拆分2.7 字符串截取2.8 其他操作方法2.9 字符串的不可变性2.10 字符串修改2.11 借助StringBuffer 和 StringBuilder 观察String进行修改的效率 3. S…

实时语音多实例实现设计方案(服务端)

1.端上接入协议 如何自行开发代码访问阿里语音服务_智能语音交互(ISI)-阿里云帮助中心 2.接口修改结果逻辑及端上调用步骤 阿里client server交互流程图&#xff1a; 阿里语音接收识别结果&#xff1a; begin_time time 含义 客户端循环发送语音数据&#xff0c;持续接收…

vue学习,使用provide/inject通信

提示&#xff1a;组件的provide&#xff0c;可以被其内所有层级的组件&#xff0c;通过inject引用 文章目录 前言一、通信组件二、效果三、参考文档总结 前言 需求&#xff1a;使用provide/inject通信 一、通信组件 1、AA.vue <template><div class"test"…

【开发实践】前端jQuery+gif图片实现载入界面

一、需求分析 载入界面&#xff08;Loading screen&#xff09;是指在计算机程序或电子游戏中&#xff0c;当用户启动应用程序或切换到新的场景时&#xff0c;显示在屏幕上的过渡界面。它的主要作用是向用户传达程序正在加载或准备就绪的信息&#xff0c;以及提供一种视觉上的反…

腾讯云2核2G4M云服务器值得买吗?

随着云计算技术的不断发展和普及&#xff0c;越来越多的企业和个人开始意识到云服务器的优势&#xff0c;并选择将其业务迁移至云端。作为国内领先的云计算服务提供商&#xff0c;腾讯云一直致力于为用户提供高品质的云服务器服务。其中&#xff0c;腾讯云2核2G4M云服务器备受关…

Docker 安装 MySQ

Docker 安装 MySQL MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能&#xff0c;MySQL 已成为 Web 应用程序的数据库优先选择。 1、查看可用的 MySQL 版本 访问 MySQL 镜像库地址&#xff1a;https://hub.docker.com/_/mysql?tabtags 。 可以通过 Sort b…

SpringBoot教程(十二) | SpringBoot集成JPA

SpringBoot教程(十二) | SpringBoot集成JPA 1. JPA简介 概念&#xff1a; JPA顾名思义就是Java Persistence API的意思&#xff0c;是JDK 5.0注解或XML描述对象&#xff0d;关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。 优势&#xff1a; 标准化 …

Postman使用方法指南,最全面的教程

Postman使用教程 一、Postman介绍 ​ Postman是一个英语单词&#xff0c;名词&#xff0c;作名词时意为“邮递员&#xff1b;邮差”。 ​ Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获…

【PS】PS设计图欣赏、学习、借鉴

【PS】PS设计图欣赏、学习、借鉴 bilibili萌新PS学习计划&#xff1a;PS教程全套零基础教学视频&#xff08;全套81节全新版本&#xff09;

Flink1.17 基础知识

Flink1.17 基础知识 来源&#xff1a;B站尚硅谷 目录 Flink1.17 基础知识Flink 概述Flink 是什么Flink特点Flink vs SparkStreamingFlink的应用场景Flink分层API Flink快速上手创建项目WordCount代码编写批处理流处理 Flink部署集群角色部署模式会话模式&#xff08;Session …

conda install命令无法安装pytorch

由于网络问题&#xff0c;直接采用conda install命令可能无法直接下载对应的cuda包。 方法一&#xff1a;采用pip命令替代 步骤1&#xff1a;切换pip的源为国内源&#xff1a; 若只是临时切换&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-p…

分子动力学模拟—LAMMPS 模拟(固体和液体)数据后处理软件(六)

记录一下检索到一篇分子动力学模拟数据后处理的软件。 感谢论文的原作者&#xff01; 主要功能&#xff1a; Structure Analysis Ackland Jones Analysis CentroSymmetry Parameter Common Neighbor Analysis Common Neighbor Parameter Atomic Structure Entropy Stein…

9个在线图像压缩工具,可让您直接压缩 JPG、PNG 和 GIF 文件。

在这篇文章中&#xff0c;我们收集了九个出色的在线图像优化工具&#xff0c;可让您直接从网络浏览器压缩 JPG、PNG 和 GIF 文件。 除了分享有关每个工具的信息之外&#xff0c;我们还将分享测试 JPG 和 PNG 图像的真实测试数据&#xff0c;以便您了解每个工具可以节省的文件大…

C# 实现单线程异步互斥锁

文章目录 前言一、异步互斥锁的作用是什么&#xff1f;示例一、创建和销毁 二、如何实现&#xff1f;1、标识&#xff08;1&#xff09;标识是否锁住&#xff08;2&#xff09;加锁&#xff08;3&#xff09;解锁 2、异步通知&#xff08;1&#xff09;创建对象&#xff08;2&a…

SpringBoot基础:一步步创建SpringBoot工程

摘要 本文介绍了&#xff0c;从零开始创建SpringBoot工程&#xff0c;且在每一步给出分析和原因。创建maven – 转Springboot – 引入jdbc – 引入数据库操作框架&#xff0c;最后给出了不同场景指定不同配置文件的方案。 背景 为什么要使用SpringBoot工程&#xff1f; 使用Sp…

YOLOv8全网首发:DCNv4更快收敛、更高速度、更高性能,效果秒杀DCNv3、DCNv2等 ,助力检测

💡💡💡本文独家改进:DCNv4更快收敛、更高速度、更高性能,完美和YOLOv8结合,助力涨点 DCNv4优势:(1) 去除空间聚合中的softmax归一化,以增强其动态性和表达能力;(2) 优化存储器访问以最小化冗余操作以加速。这些改进显著加快了收敛速度,并大幅提高了处理速度,DCN…

X Winner受邀出席泰国政府加密峰会,上演未来独角兽的独角戏

​在近日&#xff0c;游戏化流动性&#xff08;Gamified Liquidity&#xff09;的基础设施 X WINNER &#xff0c;受邀出席了由泰国政府举办的“Blockchain to Government Conference ”大会。据了解&#xff0c;该会议是泰国政府布局 Web3 产业的一个重要标志&#xff0c;同时…

《WebKit 技术内幕》之四(2): 资源加载和网络栈

2.Chromium 多进程资源加载 2,1 多进程 资源的实际加载在各个WebKit移植中有不同的实现。Chromium采用的多进程的资源加载机制。 ResourceHandle 类之下的部分是不同移植对获取资源的不同实现&#xff0c;Chromium 中是 多进程资源加载 。主要是多个Renderer进程和Browser进程…

【汽车销售数据】2015~2023年各厂商各车型的探索 数据分析可视化

数据处理的思路&#xff1a; 1 各表使用情况&#xff1a; 汽车分厂商每月销售表&#xff0c;该表主要分析展示top10销量的厂商销量、占比变化情况&#xff08;柱形图、饼图&#xff09;&#xff1b;中国汽车分车型每月销售量表&#xff0c;该表主要分析展示top20销量的车型销…

五、基础篇 vue列表渲染

在v-for里使用对象用 v-for 把一个数组对应为一组元素 我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in list形式的特殊语法&#xff0c;其中 list是源数据数组&#xff0c;而 item 则是被迭代的数组元素的别名。 <template><div clas…