【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

相关文章

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时