Ubuntu登录加载/home/user/.profile报错user.name多值无法登录设备
Ubuntu主用户登录.profile加载失败修复方案
故障根因
登录报错是由于故障主用户的~/.profile初始化文件中存在执行git config --global user.name的命令,而该用户的全局git配置文件~/.gitconfig中存在多条重复的user.name配置项,git执行单值赋值命令时抛出错误,打断了系统登录的初始化流程,导致登录失败。
修复步骤
- 登录可正常使用的第二个用户,打开终端获取root权限:
sudo su - 先备份故障用户的.profile配置,避免修改出错无法回滚:
cp /home/[替换为故障用户名]/.profile /home/[替换为故障用户名]/.profile.bak - 编辑.profile文件,调整git配置命令:
找到文件中包含git config --global user.name的行,二选一处理:- 无需开机自动设置git用户名的话,直接在行首加
#注释该行 - 需要保留自动设置逻辑的话,把命令修改为支持多值覆盖的版本:
git config --global --replace-all user.name "你需要设置的git用户名"
- 无需开机自动设置git用户名的话,直接在行首加
- 清理.gitconfig中的重复配置项:
打开故障用户的全局git配置文件:
找到nano /home/[替换为故障用户名]/.gitconfig[user]配置段,删除多余的name = xxx行,仅保留1条即可。 - 修复配置文件的所有者权限,避免root修改后权限不匹配:
chown [替换为故障用户名]:[替换为故障用户组] /home/[替换为故障用户名]/.profile /home/[替换为故障用户名]/.gitconfig - 验证修复效果:在root终端下执行以下命令,切换到故障用户如果没有报错即为修复完成,之后重启/注销即可正常登录主用户:
su - [替换为故障用户名]
内容的提问来源于stack exchange,提问作者Mons
相关产品推荐
相关产品推荐

