当我以 root 身份登录时,我可以显示颜色,但当我切换到其他用户时则不能。
ls --color=auto
当以普通用户身份登录时,该命令仅显示一次颜色。
我进行了很多搜索,并做了其他用户推荐的几件事,例如:
echo $TERM
返回:
xterm-256color
我还将.bashrc
文件更改为/home/ubuntu
,root
我将该#force_color_prompt=yes
行取消注释为force_color_prompt=yes
,但随后我切换为普通用户su steam
并尝试ls
,一切仍然是白色的。
这是我登录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
以了解如何在您的个人文件中实现这一点。