【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

相关文章

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring