意外修改.bashrc,现在我无法登录,尽管正确输入密码

我用bashrc文件搞砸了。 我正在安装Gurobi,我不得不在bashrc文件中设置路径变量。 所以,我用路径变量替换了bashrc中的所有文本并保存了bashrc文件。 而且我也确定,如果发生任何不好的事情,我会备份这个文件。 原始未修改的备份文件位于Downloads文件夹中。

现在,当我重新启动系统时,尽管提供了正确的密码,我仍然无法登录。 因此,我想请你帮忙。 鉴于我仍然在Downloads目录中有bashrc文件,可以进行哪些修复

使用LiveUSB或LiveDVD。

引导进入实时会话,安装硬盘驱动器,并将原始.bashrc文件复制到已修改的文件中。

然后您可以安全地重新启动(弹出USB或DVD)。

一般信息:如果你没有.bashrc文件的备份,你可以使用liveUSB / DVD中的那个。

您应该能够启动到恢复模式 ,这将让您进入根shell,然后从那里纠正问题。 这样就无需下载额外的操作系统。

从Ubuntu wiki获取的说明:

  1. 打开电脑。
  2. 等到BIOS加载完毕,或者差不多完成了。 (在此期间,您可能会看到计算机制造商的徽标。)
  3. 快速按住Shift键,将弹出GNU GRUB菜单。 (如果您看到Ubuntu徽标,则您错过了可以进入GRUB菜单的位置。)

  4. 选择以“ Advanced options ”开头的行。

  5. 选择以“ (recovery mode) ”结尾的行,可能是第二行,例如:

    Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

  6. 按Return键,您的机器将开始启动过程。

  7. 片刻之后,您的工作站应显示一个包含多个选项的菜单。 其中一个选项(您可能需要向下滚动到列表底部)将是“ Drop to root shell prompt ”。 按下返回并突出显示此选项。

  8. 根分区以只读方式挂载。 要将其挂载读/写,请输入命令

    mount -o remount,rw /

  9. 如果在单独的分区上有/ home,/ boot,/ tmp或任何其他挂载点,则可以使用命令挂载它们

    mount --all

    (必须在步骤8之后执行此操作,以便/etc/mtab可写。)

如果您没有恢复选项,可以按GRUB中的e编辑标准引导选项,并在linux行的末尾添加recovery (默认情况下,在initrd之前的第二行)。 然后按F10运行它。

使用Live CD

  1. 使用Live CD / DVD启动。 如果您没有iso并且不想下载大型iso,请下载Tiny Core – 10MB。
  2. 在命令行上键入sudo mount /dev/sdXn /mnt ,其中sdXn是您的Ubuntu分区。
  3. 键入cd /mnt/home//Downloads
  4. 现在使用此命令mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../.bashrc恢复为新的.bashrc
  5. 现在重启你的系统,你应该好好去。

插入用于安装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),从那里登录,然后恢复你的文件。