ZSH 已删除,无法重新登录

ZSH 已删除,无法重新登录

所以我安装了它zsh,但我不喜欢它。所以我做了apt-get remove zsh

从那时起,我无法重新登录,我单击我的用户...然后它就回到登录屏幕。我只能使用 登录Guest session

我认为问题是由于我的用户的默认 shell 是 zsh 并且它不再存在而引起的。

我如何从来宾会话重新安装它或更改来宾用户的默认 shell?

甚至尝试登录,ctrl+alt+f2/6我输入了我的用户名和密码。登录成功,但我被抛回到登录。

有任何想法吗?

答案1

sudo来宾用户没有被授予运行或 的权限pkexec,而这些权限是更改其他用户的 shell 所必需的(除非您是 root 用户,但您不是)。

所以我唯一想到的解决办法是启动到 root shell并将用户的 shell 更改为 root:

chsh -s /bin/bash user

user您的用户名在哪里。

答案2

所以除了@kos 所说的之外......

由于某种原因,我source ~/.profile在我的 .bashrc 文件中添加了内容(不知道为什么..在某处读到它)并且我的.profile文件加载了它.bashrc,这导致循环加载!

删除source..+@kos 解决方案就成功了!

答案3

以 root 身份登录或启动到 root shell 并将 /etc/passwd 中的 shell 条目编辑为“/bin/sh”。然后,您可以再次以自己的身份登录并从那里进行更改。

答案4

我无法找到我的正确的 /etc/passwd文件,从我的根用户中删除,zsh以便我可以重新登录,正如以前的答案正确建议的那样。

我使用救援模式启动,在那里,我/etc/passwd看着救援模式 Linux这无疑是错误的。

因此,我挂载了原来的 Linux(例如,在/mnt/vdb1/mnt/sda1用于常见情况),并查看了文件/mnt/vdb1/etc/passwd,找到了我原来的 Linux 用户,编辑了我的root用户 shell,禁用了救援模式,最后能够以 身份重新登录root。所以:

挂载你的 Linux 分区,然后在你的救援模式 Linux 上/mnt/{mount_folder}/etc/passwd查找而不是查找。/etc/passwd

希望这对某人有帮助。

相关内容