【WSL】[02] windows subsytem linux 配置和使用

2023-11-09 13:21

本文主要是介绍【WSL】[02] windows subsytem linux 配置和使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第【2】章前言:

上一篇我们已经安装好了ubuntu在WSL下的GUI的桌面:我们现在继续进一步进行配置工作。同时也把,运用WSL的流程摸一把,以备后用。


补充1: 彻底的关闭WSL的方法:

WSL使用后,原来Windows安装的传统虚拟机是用不了的,会报错:Vmware虚拟机报错的原因,其中WSL2是重要的一条,所以,我们先要学会WSL的关闭方法,以免之前的Vmware的资源都不能用了。

如,下图勾选掉这两项,就能够关闭WSL2的功能了 

补充2 关闭WSL中某一个启动的Linxu子系统:

先查询一下:

(base) PS C:\Users\frank_sj> wsl --list --verboseNAME            STATE           VERSION
* Ubuntu          Running         2Ubuntu-20.04    Running         2

命令:wsl --list --verbose 可以简写为:  wsl -l

(base) PS C:\Users\frank_sj> wsl -l -vNAME            STATE           VERSION
* Ubuntu          Running         2Ubuntu-20.04    Running         2

然后用: wsl -t Ubuntu 去停掉其中的Ubuntu的子系统

(base) PS C:\Users\frank_sj> wsl -t Ubuntu
(base) PS C:\Users\frank_sj> wsl --list --verboseNAME            STATE           VERSION
* Ubuntu          Stopped         2Ubuntu-20.04    Running         2

然后用, -d,又可以再打开

(base) PS C:\Users\frank_sj> wsl -d Ubuntu

1 在windows的PowerShell终端进行配置和查询:

1.1 查询所有支持的可以支持的Linux发现版本: 

wsl --list --online

【案,必须科学上网,否则,会报错】

以下是可安装的有效分发的列表。
请使用“wsl --install -d <分发>”安装。

NAME               FRIENDLY NAME
Ubuntu             Ubuntu
Debian             Debian GNU/Linux
kali-linux         Kali Linux Rolling
SLES-12            SUSE Linux Enterprise Server v12
SLES-15            SUSE Linux Enterprise Server v15
Ubuntu-18.04       Ubuntu 18.04 LTS
Ubuntu-20.04       Ubuntu 20.04 LTS
OracleLinux_8_5    Oracle Linux 8.5
OracleLinux_7_9    Oracle Linux 7.9

【这里,还给出来安装的方法】

wsl --install -d OracleLinux_8_5

1.2 查询本机的所有安装版本 

wsl.exe --list --all

(base) PS C:\Users\frank_sj> wsl.exe --list --all
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)            

1.3 注销用户名和密码:

在第【1】章,我们新建安装了ubuntu的版本,会自动要求你输入用户和密码,现在如果我们要修改用户密码怎么办?

1.3.1 注销用户和密码

  --unregister <分发>
        注销分发并删除根文件系统。

wsl --unregister Ubuntu-20.04

会删除原有的Linux分发版本。


2 在Ubuntu终端进行配置:

2.1 首次设置用户密码(参照第一章)

2.2 修改用户密码:

donkeycar01@DESKTOP-M4INDEG:~$ sudo passwd
[sudo] password for donkeycar01:
New password:
Retype new password:
passwd: password updated successfully

2.2 设置root账号和密码

donkeycar01@DESKTOP-M4INDEG:~$ su root
Password:
root@DESKTOP-M4INDEG:/home/donkeycar01# sudo passwd
New password:
Retype new password:
passwd: password updated successfully


3 设置更新镜像源:

vi /etc/apt/source.list

除了清华的源外,还有阿里和中科大的源可选 

#  阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

#  中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse


4 GUI的安装和使用

(01章已经说明了 gnome-session 的GUI的使用办法)

这里再展示一下另外一个GUI的ubuntu界面:startxfce4

4.1 显示配置

export DISPLAY=localhost:0
export DISPLAY=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`:0

4.2 运行startxfce4

这个界面感觉要简洁一点,但是,怎么找不到各种应用了...有兴趣可以研究一下


5 典型GUI应用的安装:

5.1 gedit 

是 GNOME 桌面环境的默认文本编辑器

5.2  GIMP

GIMP 是一种免费的开源光栅图形编辑器,用于图像操作和图像编辑、自由形态绘图、不同图像文件格式之间的转码,以及更专业的任务。

sudo apt install gimp -y

 

 感觉就是个PS,在linux下,

5.3  VLC

VLC 是一种免费的开源跨平台多媒体播放器和框架,可播放大多数多媒体文件。

 【案,这个程序直接在GNOME 的单main的VcXsrv 窗口里面是无法正常运行的】需要使用下面这个设定GUI,才能正常打开运行:

因为他有两个窗口:

5.4 octave

类似于matlab

sudo apt install octave

 【现在,octave是一个多窗口的应用程序,我们需要用到VcXsrv的多窗口模式】

octave --gui &

 【案,这个程序直接在GNOME 的单main的VcXsrv 窗口里面是无法正常运行的

运行后,如下:

在windows的任务栏里面,有三个octave的窗口,现在Ubuntu和windows,的运行环境已经完美的结合起来了。 

上述傅里叶图运行的参考代码如下:

julia.m

#{Inspired by the work of Bruno Girin ([Geek Thoughts: Fractals with Octave: Classic Mandelbrot and Julia](http://brunogirin.blogspot.com/2008/12/fractals-with-octave-classic-mandelbrot.html))Calculate a Julia setzmin: Minimum value of czmax: Maximum value of chpx: Number of horizontal pixelsniter: Number of iterationsc: A complex number#}function M = julia(zmin, zmax, hpx, niter, c)%% Number of vertical pixelsvpx=round(hpx*abs(imag(zmax-zmin)/real(zmax-zmin)));%% Prepare the complex plane[zRe,zIm]=meshgrid(linspace(real(zmin),real(zmax),hpx),linspace(imag(zmin),imag(zmax),vpx));z=zRe+i*zIm;M=zeros(vpx,hpx);%% Generate Juliafor s=1:nitermask=abs(z)<2;M(mask)=M(mask)+1;z(mask)=z(mask).^2+c;endM(mask)=0;end

 juliatest.m

Jc1=julia(-1.6+1.2i, 1.6-1.2i, 640, 128, -0.75+0.2i);imagesc(Jc1)axis offcolormap('default');

6 docker:

 6.1 设置Docker对WSL的支持:

6.2 设置

ubuntu IN WSL 


7 windows 和 WSL 的文件互通:

WSL和windows的互通很简单,就是进入到WSL安装的ubuntu里面,直接进到linux的标准/mnt目录,里面windows的盘符,一个不少都mount好勒,在那里


8 WSL的备份与还原:

8.1 备份:

在windows下,我们只要运行这个:

(base) PS C:\Users\frank_sj> wsl --export Ubuntu D:\WSLvm\Ubuntu.tar

 就能够备份了,极其简单

8.2 还原: 

案,还原,要做的事情,就是要先把之前的各注销掉,再还原

(base) PS C:\Users\frank_sj> wsl --list --verboseNAME      STATE           VERSION
* Ubuntu    Stopped         2
(base) PS C:\Users\frank_sj> wsl --unregister Ubuntu
正在注销...
(base) PS C:\Users\frank_sj> wsl --list --verbose
适用于 Linux 的 Windows 子系统没有已安装的分发版。
可以通过访问 Microsoft Store 来安装分发版:
https://aka.ms/wslstore
(base) PS C:\Users\frank_sj> wsl --import Ubuntu D:\WSL D:\WSLvm\Ubuntu-xfce4ok.tar

8.3 还原为当前用户

系统还原后,会默认到root用户,通过下面命令转回来:【案,注意目录位置】

(base) PS C:\Users\frank_sj\AppData\Local\Microsoft\WindowsApps> ubuntu.exe config --default-user donkeycar


参考:

1 使用 WSL 运行 Linux GUI 应用 | Microsoft Learn

Set up a WSL development environment | Microsoft Learn

3 (1条消息) win10 WSL2 Ubuntu图像化界面安装和配置_到瑞米法扫拉西的博客-CSDN博客_wsl图像 

4 WSL 的基本命令 | Microsoft Learn

5  使用 WSL 运行 Linux GUI 应用 | Microsoft Learn

这篇关于【WSL】[02] windows subsytem linux 配置和使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/376364

相关文章

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca