第一次遇到:

昨天好不容易装好了驱动,紧接着装了CUDA,cuDNN,Anaconda,VSCode等等。然后安装pytorch的时候遇到了下载的问题,后来也算搞定了。但是在更换了显示器后重启(好像是因为这个,而不是装软件的问题),显示running in low-graphics mode的界面,然后点击ok会有四个选项。类似下图

选择第一个可以启动,但只可以crtl+alt+F1 or F2~F6进入终端模式,没法显示图形界面。

查阅了之后根据网上的教程

①https://cuiqingcai.com/932.html

②https://blog.csdn.net/chris_pei/article/details/79047949

1、我尝试了

sudo apt-get install fglrx
sudo reboot

不行。

2、又尝试了

sudo apt-get update
sudo apt-get purge flglrx
sudo reboot

还不行。

3、最后尝试了

cd /etc/X11  
sudo cp xorg.conf.failsafe xorg.conf

reboot

启动的时候图形化界面出现了,正当我以为搞定了的时候,发现出现了重复登录的问题,即输入密码后登录进入后闪了一下又回到了登录界面。

解决了一个问题,带出了新的问题,Orz。

为了解决这个问题,试了以下链接最高赞的方法。该链接里的许多人也给出了许多种方法,但问题是比较难定位是哪里出了问题。

③https://askubuntu.com/questions/223501/ubuntu-gets-stuck-in-a-login-loop

在另一个链接看到一个回答说最好看一下/var/log/Xorg.0.log文件。

④https://askubuntu.com/questions/894713/ubuntu-16-04-login-loop-problem

前面我也查看过~/.xsession-errors,

查了一下,好像是NVIDIA显卡驱动问题,但是我还是被显卡驱动搞得有点阴影,不太想重装。再根据上面的链接查了一下/var/log/Xorg.0.log文件,显示如下,找到了一句错误:Failed to initialize GLX extension(Compatible NVIDIA X driver not found)好像其实跟上面的说法是一致的。于是我决定重装驱动了。

⑤https://askubuntu.com/questions/67567/how-to-fix-error-xlib-extension-nv-glx-missing-on-display

我卸载了原来的驱动,并且和之前装驱动时一样,关闭lightdm服务,然后好像是用了如下的命令来装上驱动(待查证)

sudo apt install nvidia-384

再重启,发现真的就好了。可以登录进去了,不过还是有点小毛病,就是刚开始开机的时候会报系统程序出现问题,是否报告,不过×掉还是可以正常使用的,最近比较忙,先用着吧。

分割线

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二次遇到重复登录问题:

再一次遇到重复登录问题,我按照上面的方法查看了/var/log/Xorg.0.log和~/.xsession-errors。

我查了一些这个错误,没什么有用的信息。于是决定重装驱动试试,反正驱动文件还留着,不难。

但是我发现我使用sudo apt-get remove --purge nvidia-*竟然无法删除驱动,平时都是可以的。于是查到了如下方法。

(https://blog.csdn.net/ezhchai/article/details/80536949):

可以卸载,过程中弹出恢复X screen的配置,我选择了yes,恢复。

卸载成功。

然后还输入了sudo apt-get autoremove、sudo apt-get install -f等,卸载完后重新安装了驱动。

装驱动还是像之前那样(blacklist已经配置好,secure boot也已经disable了)

出现"pre-install script failed!" ,选择继续。

出现无法安装32位兼容库(Unable to find a suitable destination to install 32-bit compatibility libraries.),继续。

是否使用nvidia-xconfig来更新X配置文件,我的理解是这一步决定是否使用显卡来显示桌面,因为后面可以发现显卡上有显示的进程在运行。

安装成功。

然后输入nvidia-smi可以看到驱动成功安装。

重启lightdm服务。

进入界面。

发现还是重复登录,看来这个问题不再是显卡驱动的问题了。继续查找解决方案,看到一个方案指出是因为主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件。(https://www.cnblogs.com/kaituorensheng/p/3376094.html

在主目录下ls -l -a(-a可显示隐藏文件),可看到

于是使用chown更改文件所属用户和用户组

得到

然后由终端回到桌面(crtl+alt+F7),登录,就进入界面啦!

ubuntu重复登录问题的更多相关文章

  1. ubuntu 14.04 重复登录问题解决方法

    为了远程登录,装了xubunt后出现重复登录的问题,尝试了多种方法,后来用下面的命令解决了 chown username:username .Xauthority 参考资料:http://askubu ...

  2. DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录

    DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录 前面部分是自己的记录,后面方案部分是成功安装驱动+桌面的正解 问题的开始在于:登录不了桌面,停留在重复 ...

  3. ASP.net 实现禁止用户重复登录

    本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...

  4. Asp.Net Form验证不通过,重复登录

    问题产生根源: 当然,其实应该需要保持线上所有机器环境一致!可是,写了一个小程序.使用的是4.5,aysnc/await实在太好用了,真心不想把代码修改回去. so,动了念头,在这台服务器上装个4.5 ...

  5. php实现单个用户禁止重复登录,防止同一用户同时登陆

    <?php session_start(); //ini_set('session.auto_start', 0); //关闭session自动启动 //ini_set('session.coo ...

  6. Servlet 利用Cookie实现一周内不重复登录

    import java.io.IOException;import java.io.PrintWriter; import javax.servlet.ServletException;import ...

  7. 【缓存】利用Cache防止同一帐号重复登录

    需求概要 对于B/S应用系统中客户经常会提出同一帐号不能重复登录的需求,就是说,用某一帐号登录系统后,在系统不超时的情况下,任何人都不能再用目前已登录的帐号登录系统.包括我目前的项目中同样有这一需求. ...

  8. Application作用域实现:当用户重复登录时,挤掉原来的用户

    Application作用域实现:当用户重复登录时,挤掉原来的用户 一.实现思想 1.application(ServletContext)是保存在服务器端的作用域,我们在application中保存 ...

  9. Asp.Net Form验证不通过,重复登录(.net4,4.5form验证兼容性问题)

    问题产生根源: 当然,其实应该需要保持线上所有机器环境一致!可是,写了一个小程序.使用的是4.5,aysnc/await实在太好用了,真心不想把代码修改回去. so,动了念头,在这台服务器上装个4.5 ...

随机推荐

  1. Vim使用技巧:常用光标跳转命令

    Vim中的命令多如牛毛,按需学习才是唯一出路.这里总结了几个常用的光标跳转命令. 基本移动: h(往左) j(往下) k(往上) l(小写字母l,往右) 行间移动: 快速跳至文件末行:G(大写字母G) ...

  2. java包

    首先是java.io java.lang java.util  java.lang.math

  3. shell ip变量加法运算

    #!/bin/bash for ip in `cat a.txt`;do a=`echo $ip|awk -F '.' '{print $1}'` b=`echo $ip|awk -F '.' '{p ...

  4. Codeforces Round #449 (Div. 2) D. Ithea Plays With Chtholly

    题目链接 交互题. 题意:给你三个数n,m,k.让你完成至多m次互动,每次给你一个q,让你从n个位置选一个位置放这个数,覆盖已经放过的数.让你再m次使得n个位置的数不递减,达到直接退出. 解法:暴力, ...

  5. 2.解决虚拟机中centos联网的问题

    首先:打开虚拟机的编辑菜单,选择“虚拟机网络编辑器” 虚拟机网络编辑器 在虚拟机网络编辑器中选择还原默认设置 接下来开启CentOS7虚拟机 在这里需要注意的是必需以管理员身份来进行设置,所以要用管理 ...

  6. notepad++ 代码注释快捷键

    在用notepad++进行代码编辑的过程中 单行.多行注释            //方式          :ctrl+k 取消单行.多行.区块注释                 :ctrl+sh ...

  7. mysl 常用函数 union all if ifnull exists case when

    1.union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 S ...

  8. Django之form表单

    https://www.cnblogs.com/liwenzhou/p/8747872.html 1. form组件的介绍 之前web开发的模式,以注册为例: 1. 要有一个注册的页面,页面里面要有f ...

  9. sqlite 中的分页语句

    2个关键字 select * from testtable limit 2 offset 1;

  10. 剑指offer数组2

    面试题39:数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次, ...