意外修改.bashrc,现在我无法登录,尽管正确输入密码
我用bashrc文件搞砸了。 我正在安装Gurobi,我不得不在bashrc文件中设置路径变量。 所以,我用路径变量替换了bashrc中的所有文本并保存了bashrc文件。 而且我也确定,如果发生任何不好的事情,我会备份这个文件。 原始未修改的备份文件位于Downloads文件夹中。
现在,当我重新启动系统时,尽管提供了正确的密码,我仍然无法登录。 因此,我想请你帮忙。 鉴于我仍然在Downloads目录中有bashrc文件,可以进行哪些修复
使用LiveUSB或LiveDVD。
引导进入实时会话,安装硬盘驱动器,并将原始.bashrc
文件复制到已修改的文件中。
然后您可以安全地重新启动(弹出USB或DVD)。
一般信息:如果你没有.bashrc
文件的备份,你可以使用liveUSB / DVD中的那个。
您应该能够启动到恢复模式 ,这将让您进入根shell,然后从那里纠正问题。 这样就无需下载额外的操作系统。
从Ubuntu wiki获取的说明:
- 打开电脑。
- 等到BIOS加载完毕,或者差不多完成了。 (在此期间,您可能会看到计算机制造商的徽标。)
快速按住Shift键,将弹出GNU GRUB菜单。 (如果您看到Ubuntu徽标,则您错过了可以进入GRUB菜单的位置。)
选择以“
Advanced options
”开头的行。选择以“
(recovery mode)
”结尾的行,可能是第二行,例如:
Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)
按Return键,您的机器将开始启动过程。
片刻之后,您的工作站应显示一个包含多个选项的菜单。 其中一个选项(您可能需要向下滚动到列表底部)将是“
Drop to root shell prompt
”。 按下返回并突出显示此选项。根分区以只读方式挂载。 要将其挂载读/写,请输入命令
mount -o remount,rw /
如果在单独的分区上有/ home,/ boot,/ tmp或任何其他挂载点,则可以使用命令挂载它们
mount --all
(必须在步骤8之后执行此操作,以便
/etc/mtab
可写。)
如果您没有恢复选项,可以按GRUB中的e编辑标准引导选项,并在linux
行的末尾添加recovery
(默认情况下,在initrd
之前的第二行)。 然后按F10运行它。
使用Live CD
- 使用Live CD / DVD启动。 如果您没有iso并且不想下载大型iso,请下载Tiny Core – 10MB。
- 在命令行上键入
sudo mount /dev/sdXn /mnt
,其中sdXn
是您的Ubuntu分区。 - 键入
cd /mnt/home/
。/Downloads - 现在使用此命令
mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../
将.bashrc
恢复为新的.bashrc
。 - 现在重启你的系统,你应该好好去。
插入用于安装Ubuntu的DVD或USB并从中启动。 选择“尝试Ubuntu”并等待它返回桌面。
检查lauchers中的磁盘是否有您家的磁盘。 点击它将其安装到/ media /
打开终端并将其插入下载并将文件复制到您的家中。 那将是:
cd /media/home/{your_username}/Downloads/ sudo cp .bashrc ../
并重新启动没有DVD / USB。
通过SFTP连接
通过SFTP从另一台Linux机器的内置sftp
命令或带有WinSCP或FileZilla的PC连接到系统,并修复该文件。 .bashrc
文件通常不涉及SFTP(可以调整你的authorized_keys
文件以使其参与,但你是否已经这样做了)。
我建议总是有两个sudo帐户。 如果您为该帐户提供正常密码,这些帐户可以在ALMOST所有情况下充当root用户。 你暂时以root身份行事。
如果你拧了一个帐户,你可以用另一个帐户修复它。
但是,如果你知道密码,它可能是一个REGULAR帐户和’su screwed-up-sudo-account-name’。 然后你将扮演搞砸的帐户,并且可以在’dc / home / screwed-up-account’之后’sudo cp backup .bashrc’我现在可以在没有被搞砸的情况下使用,但在你的特定情况下不确定。
正如少数人所说的,超过一个“sudo”帐户是最好的方式。 其次,如果你对.bashrc文件做了很多mod,在开始修改之前将一个副本放在记忆棒上,那么你不必重新开始,你可以回到上一个已知的好处。 bashrc文件,不会丢失所有以前的修修补补。 修补我的.bashrc或.vimrc或者我做的第一件事。 。 。 在我开始之前,任何配置文件都会复制到我方便的记忆棒上。 我是人类我有孩子我分心了哈哈。 我有一个记忆棒,里面装满了bash,vim,conky,openbox,tint2等配置文件。
以root用户身份登录,并使用备份来修复.bashrc,就像在其他答案中一样。
为了获得最佳安全性,请不要登录到正常的X Windows环境。 相反,点击control-alt-F2
转到文本控制台并登录。修复问题后,运行exit
从root shell注销,然后点击control-alt-F7
返回X Windows。 (请注意,X Windows可能位于tty1而不是tty7,因此您可能需要使用control-alt-F1
F1。tty6或tty7在历史上是传统的,但是一些发行版将它移动到tty1,因为人们很少使用ttys更多.Ubuntu可能会也可能不会这样做。试验找出你的系统配置方式。)
每次我在这次事件发生后都打开电脑,我都会看到通常的ubuntu登录界面,除了输入密码后,屏幕闪烁一秒钟,登录界面再次出现。
我不知道这是不是你的问题,但这件事发生在我身上。 如果在shell-start(.bashrc,.bash_profile,.profile)上加载的任何文件将文本输出到stdout,您将无法以图形方式登录。 你仍然可以进入tty(ctrl + alt + f1),从那里登录,然后恢复你的文件。