其他分享
首页 > 其他分享> > WSL2卸载fish后无法登录问题的简单解决

WSL2卸载fish后无法登录问题的简单解决

作者:互联网

问题环境

Windows11 WSL2 OpenSUSE Tumbleweed

问题描述

在执行sudo zypper remove fish之后,退出了终端界面,再次进入时终端界面报错如下。

<3>init: (29715) ERROR: CreateProcessEntryCommon:528: execvpe /usr/bin/fish failed 2
<3>init: (29715) ERROR: CreateProcessEntryCommon:538: Create process not expected to return

[已退出进程,代码为 1 (0x00000001)]

解决思路

遇到这个问题的时候,想到了两个方法:

  1. 修改init文件
  2. 尝试使用其他shell进入系统

第一个方法比较复杂,还需要找到init进行修改,第二个方法比较简洁,所以我们用第二个方法尝试解决这个问题。

解决方法

打开Powershell,输入

wsl --list

不出意外会得到如下图所示的输出

图中的openSUSE-Tumbleweed就是WSL的名称。可以复制这个名称,然后在powershell里运行

cd \\wsl.localhost\openSUSE-Tumbleweed
bash

执行完bash后,不出意外会跳转到WSL2的bash界面,到了这里就可以使用chsh了,在bash中执行

sudo chsh -s /bin/bash {username}

{username}替换成你的登录用户,之后再次登录WSL,问题解决。

标签:Tumbleweed,fish,init,卸载,解决,WSL2,bash
来源: https://www.cnblogs.com/puhanzhou/p/16196429.html