终端 bash 丢失 HOME 路径

终端 bash 丢失 HOME 路径

我将 Ubuntu 升级到了 21.04。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:    21.04
Codename:   hirsute

现在,当我从文件资源管理器打开终端并使用 Ctrl+shift+t 打开新选项卡时,我会在终端中收到以下消息:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

此后,如果我尝试使用“cd”,我会收到以下错误:

$ cd
bash: cd: HOME not set

有人遇到过类似的问题或知道为什么会发生这种情况吗?我以前从未遇到过这样的问题。

解决方案: gnome-terminal 3.38.1 中的错误,应该在 3.38.2 中修复,请参阅 vanadium 的回答。

已尝试的建议:

  1. $ env | grep HOME

    工作标签:HOME=/home/vackraetraed

    失败的选项卡:

  2. $ grep vackraetraed /etc/passwd

    工作选项卡:vackraetraed:x:1000:1000:My name,,,:/home/vackraetraed:/bin/bash 失败选项卡:vackraetraed:x:1000:1000:My name,,,:/home/vackraetraed:/bin/bash

  3. $ whoami

    工作标签:vackraetraed

    失败的选项卡:vackraetraed

  4. 复制系统默认文件给用户:$ cp -r /etc/skel/.bashrc ~ ; cp -r /etc/skel/.profile ~

    • 问题仍然存在
  5. 使用新的临时用户登录尝试此问题

    • 没有关于如何在选项卡打开时以 root 身份运行的说明
    • 'cd' 仍然不起作用

答案1

您可能遇到一个错误:第一和第二终端的环境变量不同其中本(在第二个选项卡中,运行时发生错误cd:bash:cd:HOME 未设置) 是重复的。这是 systemd --user / d-bus 激活环境的设计问题。在 Gnome Terminal 3.38.2 中,该问题应该通过复制第一个选项卡的环境的补丁来“修复”。不幸的是,截至今天(2021-09-08),gnome-terminal仍然是 3.38.1。

对于其他发现终端输出存在奇怪问题的用户,这可能是由于.profile.bashrc配置文件配置错误造成的。查看并更正它们。否则,您可能需要将系统默认文件恢复为用户配置。将原始文件复制到备份副本,以防您想要恢复到它们:

cp ~/.bashrc ~/.bashrc_bak ; cp ~/.profile ~/.profile_bak

然后将系统默认文件复制到您的配置文件:

cp -r /etc/skel/.bashrc ~ ; cp -r /etc/skel/.profile ~

请先注销然后重新登录,然后测试问题是否已解决。

相关内容