Ubuntu终端退出sudo模式后仍保留sudo主题 如何恢复默认主题
终端切换root后样式不恢复修复方案
问题表现
- 执行
sudo su进入root用户模式后,终端字体变为纯白色,粗体显示效果失效 - 执行
exit退回普通用户后,上述样式不会自动还原,普通用户终端始终无字体配色、无粗体效果
修复步骤
临时恢复当前终端
两种命令二选一即可:
- 执行
tput sgr0:仅重置终端文本显示属性,不会清空当前终端的历史输出,对当前会话无其他影响 - 执行
reset:完全重置终端状态,会清空当前终端所有输出,适合终端显示出现乱码等更异常的场景
永久解决样式残留问题
- 排查root用户的shell配置
执行sudo su切到root,分别打开/root/.bashrc、/root/.profile两个文件,查找是否存在强制修改终端显示属性的命令,比如setterm -foreground white、输出ANSI转义序列重置字体样式的echo -e "\033[0m"这类配置,如果存在就直接注释或删除对应行。这类写入root配置文件的终端属性修改命令会直接作用于当前打开的终端窗口,退出root时系统不会自动回滚属性,是造成样式残留的最常见原因。
- 调整sudo的环境变量保留规则
执行sudo visudo打开sudo配置文件,找到配置项Defaults env_reset,将其修改为Defaults env_reset,preserve_env=TERM,COLORTERM,保存退出后,切换用户时终端相关的配色环境变量就不会被强制清空。 - 校验普通用户的shell配色配置
退回普通用户,打开家目录下的~/.bashrc文件,确认是否存在配色提示符相关配置,比如Debian/Ubuntu系发行版默认会有force_color_prompt=yes的配置段,如果该行被注释就取消注释,保存后执行source ~/.bashrc加载配置即可。
内容的提问来源于stack exchange,提问作者user19377240
相关产品推荐
相关产品推荐

