zoukankan      html  css  js  c++  java
  • ubuntu忽然不能登录,输入密码正确一直返回登录界面

    问题描述

    由于配置eclipse命令启动,我修改了 /etc/environment 文件的内容,用命令 shutdown -r -now 重启后,输入密码正确一直返回登录界面。

    查了下网上资料:系统启动先调用profile中的环境,后调用environment中的环境;在profile中设了和environment同名的环境时,profile要继承environment环境,不然会引起environment中相关的环境失效,并且profile中的环境变量是有顺序的,顺序反了也会出问题。

    也就是我修改的/etc/environment一定出了问题。

    在VM下,怎么修改回来?网上找了半天,没遇到具体的方法,花费了番功夫,终于尝试解决了这个问题。

    解决方案步骤

    1、Ctrl + Alt + F1 进入命令行tty1

    2、使用用户名(我的是lsk)密码登录

    3、使用完整的vi路径命令: /usr/bin/vi   /etc/environment 进行 vi命令行模式 (command mode/一般模式)

    4、输入 i 进入文本输入模式 (input mode/编辑模式)

    5、干掉自己配置的语句

    6、按 Esc 键 回到 命令行模式

    7、输入 : 进入末行模式 (last line mode/指令列命令模式)

    8、输入w ! /usr/bin/sudo tee %完成修改 (注意是:w空格!空格/usr/bin/sudo空格tee空格% ,因为 /etc/environment  是readonly,所以需要使用这个命令)

    9、输入 :q!退出vi,再输入exit退出,按ctrl + alt + F7 重新进入桌面

    注:在tty1下,使用cd命令是可以的,其他的类似ls/sudo/vi都要全路径才行

    附加:vi的三种模式

    命令行模式 (command mode/一般模式)
      任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。
      在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
     
    文本输入模式 (input mode/编辑模式)
      在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按"ESC"键即可。

    末行模式 (last line mode/指令列命令模式)
      末行模式也称ex转义模式。
      Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。

  • 相关阅读:
    Vue动态路由配置-router.addRoute
    安装nginx(Centos和docker)
    前后端分离跨域问题解决方案
    centos7 部署 gitlab
    date命令使用方法
    电脑明明安装了模块,但是pycharm还是找不到怎么办
    shell脚本中字符串截取问题
    linux中每登录一个终端,就会自动执行脚本
    腾讯文档中怎么添加二级缩进符号
    查看CPU某一核的情况
  • 原文地址:https://www.cnblogs.com/ericli-ericli/p/7058604.html
Copyright © 2011-2022 走看看