大约三四天前的早晨,当我如往常一样准备开启ubuntu系统的时候,发现虽然出现了图形登录界面,但是输入正确密码后,黑屏了一小会儿后,又重新回到了登录界面——它陷入登录循环了。按Ctrl+Alt+F2~F5切换到对应数字的tty命令行界面,输入帐号密码可以正常登录,下面开启了一次很久的错误探索。
这个问题在网上有很多的讨论,这些可能原因和解决方案在以下链接中有比较详细而集中的讨论。
– AskUbuntu | ubuntu gets stuck in a login loop
引发问题的可能原因有很多,间略列举其中一些如下:
nvidia-smi不能正常显示信息,可能是显卡驱动产生了问题,使用sudo apt purge nvidia-*命令卸载驱动,sudo apt-get update,然后通过sudo apt-get install nvidia-driver-**(你需要的版本号)下载驱动程序,或者使用其他途径从Nvidia官网下载’.run’驱动程序到移动存储设备,然后在tty界面进行挂载、安装等操作,reboot查验。~/下的".Xauthority"文件用于存储xauth身份验证信息,使用指令ls -lA查看其对应的所有者,如果显示root root而非用户说明存在所有者错误,使用chown username:username .Xauthority(username替换为你的用户名)更改所有者信息,另外可能还需要对".ICEauthority"、".gconf"进行相同操作,reboot查验。(sudo) vi检查.profile、.bashrc、bash_profile、/etc/profile、/etc/environment等文件中是否存在"括号缺半"、"PATH+写成PATH="等问题。df -h查询磁盘空间:(1)sudo apt-get clean,强调!千万不要轻易使用autoremove。(2)使用journalctl清理\var\log下的日志文件,journalctl --vacuum-time=1w设定保留日志周数,journalctl --vacuum-size=500M设定保留日志大小。(3)使用(sudo) du -sh *| sort -h查看命令行目录下的大小排在前十的文件夹或文件,找到可以删除的删除,清理磁盘空间。具体可以一下两个链接。sudo apt-get install lightdm等其他gnome管理器,或者使用sudo apt install --reinstall lightdm/gdm3进行重新安装后,使用sudo dpkg-reconfigure lightdm/gdm3切换默认gnome管理器,reboot查验。sudo chmod a+wt /tmp,reboot查验。然而,在经过这一系列尝试之后我还是没能解决循环登录问题,于是发朋友圈进行了求助,也得到了一些可能的解决方案或者可能的建议:
首先谈朋友们提供的解决方案建议(上面没有尝试过的):
boot-repair进行修复,具体过程参考以下链接:sudo apt remove ubuntu-desktop,sudo apt install ubuntu-desktop,但是细想desktop这个东西肯定是很久之前就装好的,作为二进制程序用户无法修改,一直没有问题。如果循环登录的问题出在这里的话,一定是什么别的内容变化触发了其中的问题,而使用sudo apt install ubuntu-desktop= Tab出来的版本编号有一种,所以可以预想到,重新安装完之后还是不起作用。另外也收到了朋友们一些修复问题之外的建议,比如选用其他的Linux发行版(如Debian、CentOS、Arch、Manjaro)或者干脆使用Windows而规避Ubuntu的不稳定问题,以及替换机械硬盘为固态硬盘、升级内存以优化计算机运行性能等等,不过介于最近手头工作预配置的依赖很多很杂(也是不停尝试各种办法而不想重装系统的原因),暂且先不着急大换方案了,以后好好考虑。
经历了上面的尝试,我!!还是没能解决循环登录的问题,就在快要放弃、准备重装的时候,我想到了淘宝,搜索“Ubuntu问题解决”咨询了一个店家,然后花了¥100解决了,淘宝你真是我的神。
应该是我ping通网络之后,bash店家给的连接,店家连接到了我的IP地址进行修复的,最终终于成功登录成功进入了桌面,具体过程我不太看得懂了(如下面左图所示是翻滚的IP访问)。
在我的询问下店家告诉我应该是现在~/.local/share.backup/下的某个文件存在问题,修复前这些文件在~/.local/share/目录下,如果移动回去还是会出现一样的问题(可以挨个尝试排查出具体出问题的文件),由于时间问题我就先不排查,贴出目前~/.local/share.backup/目录下的文件列表(下面右图),以供遇到同样问题而迟迟不能解决的朋友们参考。
在问题解决之前,我曾经在root权限(su指令进入)下使用useradd新建一个新用户,然后设置密码,然后在登录界面尝试登录,发现也出现了循环登录的问题,依此判断问题出在根目录/下而非/home/<user>下。后来当店家修复完成后,我在进行这个操作时,发现仍然无法登录新建的用户。
然后后来被指出这个验证过程是有问题的,如果使用adduser指令创建的用户则可以成功登录。
进行一番搜索后了解到,useradd指令只创建用户、注册信息,并不在/home下自动生成对应目录,也不主动询问需要设置的密码,而adduser指令则会默认生成/home下的目录,并且主动询问密码设置。所以这两个创建用户的指令所影响或产生的文件是不同的,也一定程度上影响了我对于问题层面的判断。
进行了连续多天各种方案的尝试,也算是对Linux的认识稍进了一步,以及多熟悉了一下各种指令以及vim操作吧,一些解决方案应该边尝试边记录,如此可以避免一些重复的尝试,以及最后不要丧失希望,真的不想重装或者珍惜时间、精力成本的可以考虑一下淘宝,确实是由高手在。
希望遇到相应问题看到这篇博客的朋友们都能顺利解决问题吧。
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He
我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代
我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
大家好!我对我的:username字段进行了一个小的验证,它应该是4到30个字符。我写了一个验证::length=>{:within=>4..30,:message=>I18n.t('activerecord.errors.range')-我想显示一个错误各种错误的消息(不像,太长或太短),但这里有一个问题-我可以将最小值和最大值都传递给翻译,以便有类似的东西:用户名应该在4到30个字符之间。目前我有:range:"shouldbebetween%{count}and%{count}characters",这显然不起作用(只是为了检查)。是否可以从范围中获取这些值?谢谢大家的指教!
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主