切换至root用户时,命令提示符颜色为白色,如何修改?

本文主要讲述在Ubuntu系统中,切换到root用户时命令提示符内容全为白色,看着不愉快。作者搜索多种解决方案,认为部分方案不够优雅或改动不谨慎。最后参考文章进行配置,通过编辑root家目录下的文件,修改相关参数,将用户颜色从绿色改为红色,使root权限下的终端兼具警示性与美感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我切换至root用户时,发现命令提示符里的内容全部为白色,如图所示:
终端颜色为白色
这让人看着不愉快,上网先搜索下解决方案:【切换到 root 账户字体全是白的,怎么改颜色啊】- 百度贴吧,但是这个解决方案只是部分起效,并且也不够优雅,关闭终端效果又打回原形,甚至有些解决方案直接将普通用户的.bashrc文件覆盖掉root用户的.bashrc【Linux切换到root用户后终端字符没有颜色】,这不是一个好的做法,虽然我没有验证过,但一个系统的文件之所以那样写肯定是有其原因的,为了解决一个终端命令提示符颜色问题而做如此不谨慎的改动,可能是捡了芝麻丢了西瓜。

我参考了这篇文章:【How do I change the color of the prompt in Ubuntu terminal after using sudo su?】,配置方法如下:
(1)sudo su root切换至root用户。
(2)vim ~/.bashrc编辑root家目录下的.bashrc文件。
(3)找到#force_color_prompt=yes的被注释项,去掉此注释,强制要求颜色提示,这个变量上面有Ubuntu开发者的注释说明,开发者认为关闭颜色提示是为了不分散用户的注意力,Terminal窗口的重点应该是命令的输出,而不是提示符本身,恕我难以苟同,追求一点艺术美感会更好的让用户集中注意力,好的设计本身就要能引导用户,对我而言,关闭颜色提示会显得这条命令与整体的Terminal终端环境格格不入,有一种出戏感。

uncomment for a colored prompt, if the terminal has the capability; turned off by default to not distract the user: the focus in a terminal window should be on the output of commands, not on the prompt —— force_color_prompt变量的注释说明

(4)找到以下代码片段

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

并将用户的颜色从绿色01;32m修改为红色01;31m

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

这些参数具体所代表的含义如下:

参数值含义
${debian_chroot:+($debian_chroot)}【chroot - Debian Wiki】
【What is $debian_chroot in .bashrc?】
【What does “${debian_chroot:+($debian_chroot)}” do in my terminal prompt?】
\[\033[01;31m\]\[代表[本身,使用了转义符
\033[是转义序列的开始
01;31m分别代表亮度级别;颜色
\]代表]本身

保存退出,并执行source ~/.bashrc使命令生效,最终,达到的是这种效果,左边是普通用户,右边是root用户,在root权限下不仅警示性强,还兼具美感:

颜色对比图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值