终端不会为非 root 用户显示颜色

终端不会为非 root 用户显示颜色

当我以 root 身份登录时,我可以显示颜色,但当我切换到其他用户时则不能。

ls --color=auto当以普通用户身份登录时,该命令仅显示一次颜色。

我进行了很多搜索,并做了其他用户推荐的几件事,例如:

echo $TERM

返回:

xterm-256color

我还将.bashrc文件更改为/home/ubunturoot我将该#force_color_prompt=yes行取消注释为force_color_prompt=yes,但随后我切换为普通用户su steam并尝试ls,一切仍然是白色的。

这是我登录root以及切换用户时的提示:

当我以 root 身份登录以及切换用户时的提示

我看到这个系统目录内只有 1 个目录/home/(即home/ubuntu),这让我很困惑,因为我认为它应该为每个用户提供一个目录。我怀疑这一定是导致我的问题的原因:用户root显示彩色提示,但标准用户没有,因为标准用户无法访问目录.bashrc内的文件home/ubuntu

答案1

我想我找到问题所在了。当我设置系统时,我用 创建了一个用户useradd,但这只会创建一个没有任何主文件夹的用户;您必须手动执行此操作。

test使用命令创建了一个用户adduser,它有点不同,但它创建了自己的目录,并且,当我断开连接并再次连接时ssh test@<ip address>,提示正常显示所有颜色。

user1与 共享同一个目录root,但它无权访问所在的/home/目录。.bashrc

答案2

这通常在默认文件中设置.bashrc。您可以将 .bashrc 文件恢复为出厂默认文件:

cp --backup=t /etc/skel/.bashrc ~

此命令首先创建当前备份.bashrc,然后用默认备份覆盖它。如果您需要为其他用户执行此操作,请提供目标用户主目录的完整路径,并将副本的所有者更改为目标用户。

如果您熟练.bashrc,您可以检查文件/etc/skel/.bashrc以了解如何在您的个人文件中实现这一点。

答案3

您编辑了您的.bashrc身份root,需要将所有权改回其原始用户。请尝试:

chown [OPTIONS] USER[:GROUP] FILE(s)

顺便说一句,不要那样做root,回到普通用户并以sudoas 使用该命令,例如:

sudo chown jimmy .bashrc

如果这不起作用,你可以尝试什么该用户建议。如果这也不起作用,那么可能是您在使用 列出时遇到了问题ls。在这种情况下, 尝试一下

相关内容