WSL移动ubuntu到其他盘的几个问题以及安装,使用过程中遇到bug记录

文章讲述了在Ubuntu系统中遇到的常见问题,如无法修改默认用户、GUI应用显示异常和中文乱码。提供了两个解决方案,包括检查Distro名称匹配和在Ubuntu内部修改默认用户,以及处理libcuda.so.1相关问题以解决GUI显示问题。
摘要由CSDN通过智能技术生成

无法正常修改Ubuntu系统的默认用户

ubuntu移动到其他盘可以参考WSL Ubuntu子系统迁移到非系统盘
下面问题是我安装时遇到的,不代表所有人都是这个问题。

具体而言就是执行ubuntu.exe config --default-user username时,会创建一个新的ubuntu系统出来,而不能直接为我们import进来的ubuntu系统改名。

解决方案1:

import时,wsl --import <Distro> <InstallLocation> <FileName> --version 2 中的名字<Distro>要与自己电脑上的ubuntu<版本>.exe对应。
就是<Distro>是指要导入的Linux发行版的名称。 举个例子:
假如你电脑上ubuntu对应的exe是ubuntu.exe , 那么你这里应该是wsl --import Ubuntu ...
假如你电脑上ubuntu对应的exe是ubuntu2204.exe , 那么你这里应该是wsl --import Ubuntu-22.04 ...
因此你之后执行其他命令使用ubuntuxx.exe时具体的名称是取决于你电脑上的exe文件名称。

解决方案2:

有时我们会创建多个同版本的ubuntu系统,这个时候填写的<Distro>又不能完全相同,所以这时就需要我们在ubuntu内部修改默认的登录用户,具体而言可以进行如下操作:

  1. 首先登录想进入的Ubuntu系统(我这里的Ubuntu名字是Ubuntu2):wsl -d Ubuntu2
  2. 修改root下的bashrc文件:sudo vi /root/.bashrc ,按下i键进入INSERT模式,划到最下方插入以下代码段(username是你的用户名):
    if shopt -q login_shell ; then
        exec su -l username
    fi
    
    然后按下esc,再按: ,输入wq,接着退出ubuntu重进就是用户username了。
    注意:这行代码的意思是说只有在登录shell的时候才更换到此用户,如果中途source 这个文件,是不会进入这个用户的,这时防止使用其他用户时出现这中情况。但是这样的话就是每次进入都会切换到这个用户,如果想进root只能进入ubuntu之后输入命令su root

出现 id ‘xxx’ no such user

执行ubuntu2204.exe config --default-user username时,出现

id: ‘username’: no such user
Error: 0x80070057 ?????

这是因为你刚刚导入的那个ubuntu系统里没有对应的username用户,可以正常启动wsl先使用root用户登录,然后使用

sudo adduser username
sudo usermod -aG sudo username

创建用户即可,详见如何在Ubuntu创建和删除用户。创建完之后退出wsl重新执行上面的命令就可以了。

GUI不能正常显示

使用GUI应用时,发现应用界面不能正常显示出现雪花,乱纹,如下图所示:
在这里插入图片描述

原因在于这个报错的修改libcuda.so.1 is not a symbolic link网上的改法是删除libcuda.so.1和libcuda.so然后创建软连接:将libcuda.so.1.1软连接到libcuda.so.1,再将libcuda.so.1软连接到libcuda.so。
我发现这样修改会导致上面的显示问题(应该是vGPU无法正常工作导致),因此我换了一种方法,将libcuda.so.1改名然后创建一个libcuda.so.1链接到它,代码如下:

cd /usr/lib/wsl/lib/
sudo mv libcuda.so.1 old_libcuda.so.1
sudo ln -s old_libcuda.so.1 libcuda.so.1

可以使用以下命令查看是否还有此问题:

sudo ldconfig

如果没问题,重启即可

中文乱码、无法显示

中文乱码修复

More error waiting…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值