这里写目录标题
- 无法正常修改Ubuntu系统的默认用户
- 解决方案1:
- 解决方案2:
- 出现 id 'xxx' no such user
- GUI不能正常显示
无法正常修改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内部修改默认的登录用户,具体而言可以进行如下操作:
- 首先登录想进入的Ubuntu系统(我这里的Ubuntu名字是Ubuntu2):
wsl -d Ubuntu2
- 修改root下的bashrc文件:
sudo vi /root/.bashrc
,按下i键进入INSERT模式,划到最下方插入以下代码段(username是你的用户名):
然后按下esc,再按: ,输入wq,接着退出ubuntu重进就是用户username了。if shopt -q login_shell ; thenexec su -l username fi
注意:这行代码的意思是说只有在登录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
More error waiting…