【Windows10/11】上【WSL】安装并连接【USB】的过程和问题整理

您所在的位置:网站首页 usb安装权限在哪儿 【Windows10/11】上【WSL】安装并连接【USB】的过程和问题整理

【Windows10/11】上【WSL】安装并连接【USB】的过程和问题整理

2024-07-13 12:47| 来源: 网络整理| 查看: 265

Windows10/11上WSL安装并连接USB的过程和问题整理 前言一.Windows上的基本准备二.WSL的常用命令和存储转移三.WSL的GUI功能四.WSL连接USB五.WSL设置默认启动用户六.WSL一些常遇问题整理

前言

什么是WSL呢?引用官网“适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。”简单说就是开销小了,但需要满足的Linux的基本功能都有。wsl官网

一.Windows上的基本准备

1.使用Windows搜索功能搜索“启用或关闭Windows功能”

在这里插入图片描述 2.勾选以下选项

在这里插入图片描述 3.通过Microsoft Store软件下载Ubuntu版本或者使用Windows终端下载Ubuntu版本(这个方法比较慢) ,我这里使用的Ubuntu22.04。(这一步不是必须,但创建一个新的Ubuntu是必须的)

wsl --list --online @查看可以安装的发行版本 wsl --install - @DistroName表示,上面打印发行版本名称

下面是展示的例子: 在这里插入图片描述

二.WSL的常用命令和存储转移

1.常用命令

wsl --set-version @设置指定的发行版使用wsl1还是wsl2。DistributionName=发行版本名字,versionNumber=版本号1,2(目前仅2个版本) wsl --update @手动更新wsl的内核 wsl -u @使用windows终端登陆指定的用户名(wsl内创建的用户名), wsl --shutdown @关闭所有wsl wsl --unregister @取消注册的发行版本。这也是卸载wsl所关键的一步。DistributionName=同上

2.wsl的存储转移

wsl --export @导出wsl,DistributionName=同上,FileName=保存的文件(.tar后缀) wsl --unregister @取消注册的发行版本。DistributionName=同上 wsl --import @导入wsl,InstallLocation=wsl保存的目录,其他名字同上

在这里插入图片描述

三.WSL的GUI功能

1.下面是对比Ubuntu22.04和Ubuntu18.04的gitk显示。这也是我为什么选择22.04版本的原因。这个可能是字体的粗细影响,应该也是可以调整,不过我想会挺麻烦,为了省事。直接安装22.04比较好用。至于其他的就不用展示了,gitk如果可以使用大家下载好相关的gui程序应该也可以使用。 2.正常来说安装成功就可以使用wsl的gui功能。但我这里例举一些可能出现问题。 (1)官网上要求的wsl内核版本,这个是需要的。一般使用wsl --update命令更新到最新就行。 (2) /tmp/.X11-unix连接文件出现问题,重新连接一个/mnt/wslg/.X11-unix 文件就可以。 (3)如果出现/mnt下没有wslg文件夹的情况下,更新windows的系统版本。将他更新到最新就行。(这不是一个常见的问题,但遇到后可能很难找到解决方案,我这里也当作记录下自己的解决方法。)

四.WSL连接USB

1.首先windows上安装usbip.exe程序。(这里需要使用wsl2版本) (1)下载其中的msi文件,并安装: 开源usbip-win项目. (2)如果有winget工具,windows终端上使用以下命令就行

winget install --interactive --exact dorssel.usbipd-win @使用Windows终端下载

2.接下来需要在usb上安装 方式(1)20.04及以下的版本使用以下命令:

sudo apt install linux-tools-5.4.0-77-generic hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

方式(2)22.04及以上(其实其他版本也是可以这样使用,只是目前还没尝试)

sudo apt install linux-tools-5.15.0-52-generic hwdata #因为22.04上面没有5.4.0-77版本,我选择了一个最高版本,也可以选择其他版本 sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.15.0-52-generic/usbip 20 #5.15.0-52-generic这个名字需要和上面对应起来,这是一个目录,也可以通过补全的方式将他输入

3.连接一个usb设备:

usbipd wsl list @windows终端上使用这个命令查看有哪些usb设备

在这里插入图片描述 对比,然后使用命令(windows终端)

usbipd wsl attach --busid 1-1 @1-1是设备ID,根据上面的打印,换成自己添加的设备ID

wsl的终端上(需要先输入以上命令连接成功后,以后再连接就可以使用wsl上连接):

usbip list -r $HOSTNAME.local #查看已连接过的设备信息 sudo usbip attach -r $HOSTNAME.local -b 1-1 #连接USB设备,然后替换自己的设备ID

在这里插入图片描述 断开usb,windows终端上输入以下命令

usbipd wsl detach --busid 1-1 @断开USB设备,替换成自己的ID

#######注意:如果没有加入这一行就拔出usb,可能会出现鼠标旁边不间断画圈(一直有usb设备以鼠标的形式在使用)。这时候使用前面提到的wsl --shutdown,关闭所有的wsl发行版即可恢复正常。

五.WSL设置默认启动用户

一般使用import导入的方式,启动wsl会默认是root用户。以下提供几种方式,设置默认启动的用户。 1.使用windows的命令,没有卸载wsl的发行版可用,卸载后只有看运气,版本是否一致。

config --default-user @DistributionName=同上,Username=自己wsl发行版的用户名字

2.更改/etc/wsl.conf文件,可以省去麻烦,以后都不用再改。

echo -e "[user]\ndefault=$Username" >> /etc/wsl.conf #Username=同上,然后重启wsl就行了

3.更改注册表。 (1)使用win+r,输入regedit,打开注册表。 在这里插入图片描述

(2)打开下面注册表的路径

计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss //注意这不是命令,是注册表路径

(3)找到下面的DefaultUid,更改为10进制的1000,然后重新启动wsl就可以了。0是root用户,1000一般是自己创建的用户。

cat /etc/passwd #可以查看自己的用户ID是多少,根据自己的用户名对应的ID更改

在这里插入图片描述 (4)展示添加一个csdn的账户名,并默认启动这个账户 在这里插入图片描述

六.WSL一些常遇问题整理

1.进入wsl失败

Error code: Wsl/Service/0x800706f7 Press any key to continue..

解决方式:

netsh winsock reset @使用power shell或者cmd执行这个命令再重新进入

2.wsl中文乱码问题解决:

解决方式:

export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo apt-get update sudo apt-get install fonts-wqy-zenhei #安装 wsl --update @确保wsl已更新 wsl --shutdown @先关掉再重新打开

3.wsl使用windows环境导致一些软件识别错误

根据情况添加下面内容在/etc/wsl.conf文件中:

# 不加载Windows中的PATH内容 [interop] appendWindowsPath = false # 不自动挂载Windows系统所有磁盘分区 [automount] enabled = false

#######注意:前面所提到的windows终端大多需要管理员方式打开,最好都使用管理员方式打开。如果不好分辨哪个是windows上的命令和Linux上的命令。可以根据我后面添加的注释命令,@表示windows终端的注释,#表示Linux上的注释。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3