Ubuntu系統---Ubuntu16.04進不了界面(登錄界面循環,密碼正確)(一體化安裝(CUDA +NVIDIA驅動)+ cuDNN)


 

                                             Ubuntu16.04進不了界面(登錄界面循環,密碼正確)(一體化安裝(CUDA +NVIDIA驅動)+ cuDNN)

目錄

第一步,查問題的原因

(1)搜羅一下網上的回答

(2)查找問題

(3)問題描述

(4)百度問題的解決方式

(5)確定問題的原因

第二步,解決問題---卸載原有的驅動

第三步,一體化安裝(CUDA +NVIDIA驅動)+ cuDNN

第四步,其他備注

 

正文

說明:

上次是:Ubuntu 系統循環登陸界面,密碼帳號不可操作,鍵盤鼠標無效。

這次是:ubuntu循環登錄,密碼帳號都是對的,就是登不進去,一閃又回到登錄界面,可以進入tty1界面帳號和密碼都能用,就是圖形界面登不進去。

 

第一步,查問題的原因

最后,是 按驅動的原因 解決。

 

(1)搜羅一下網上的回答

  Ubuntu 16.04 默認使用的是集顯,而且對Nvidia的支持存在巨大的問題。@https://www.jianshu.com/p/85cbb0258d32

 

  nvidia顯卡對linux系統一直不是很友好。在眾多的桌面發行版上,安裝nvidia獨立顯卡驅動后總是出現各種各樣的與集成顯卡,不兼容的問題。@https://blog.csdn.net/u012058778/article/details/88530874

 

  “之前試過幾個方法都不行,包括改 /etc/profile,startx,刪Xauthority文件等,這些都是因為,形象地來說是葯不對症,ubuntu循環登錄是有很多個問題造成 的,前面的這些例子只是針對他們自己的問題,你的問題卻並不是出在這里。所以我們要看自己的問題出在哪里。當然如果你有記錄之前在ubuntu上做了什么 更改就好了,就把它改回來就行,比如剛安裝的包把它卸了之類的。”@https://blog.csdn.net/mangobar/article/details/82218807

 

  當然“Ubuntu 系統循環登陸login loop”的原因不止這些,有時候/etc/profile中改了或者加了些東西導致這些古怪的問題,所以我們需要對症下葯。正確的做法是要先去查看主目錄下.xsession-errors日志的報錯信息,從而去判斷原因。與小主有類似的經過,“開在啟動界面的事情我第一次裝Ubuntu也是遇到過,我知道是顯卡驅動的問題,”@https://www.jianshu.com/p/e1f1a1faa867

 

(2)查找問題

1.ctrl+alt+F2,出現一個界面,輸入自己的login和密碼,登錄

2.登錄之后,運行:ls -a

3.可以看到會有一個.xsession-errors的文件

4.打開這個文件,運行:vim .xession-errors

@https://blog.csdn.net/mangobar/article/details/82218807

 

(3)問題描述

   Ubuntu16.04安裝nvidia顯卡驅動后卡在登陸界面循環登陸,查看~/.xession-errors文件,顯示:

 X Error of failed request: BadValue (integer parameter out of range for operation)
    Major opcode of failed request: 154 (GLX)
    Minor opcode of failed request: 3 (X_GLXCreateContext)
    Value in failed request: 0x0
    Serial number of failed request: 32
    Current serial number in output stream: 33
    openConnection: connect: No such file or directory
    cannot connect to brltty at :0

@http://www.luyixian.cn/news_show_36539.aspx https://bbs.archlinux.org/viewtopic.php?id=195435問題描述一樣,按此方法沒解決。

 

(4)百度問題的解決方式

  直接看第一行,去網頁里搜這個問題“X Error of failed request: BadValue (integer parameter out of range for operation)”的解決方式。

 

(5)定問題的原因

  多數說是驅動的問題。額...怎么又是驅動的問題,這次不想“用重裝系統重裝驅動”來解決問題了。

 

第二步,卸載原有的驅動。

ALT+CTRL+F2進入命令行模式:

卸載英偉達驅動並重啟

sudo apt-get remove --purge nvidia-*

sudo apt-get autoremove #重要,刪除安裝的nvidia相關一切程序,並不保留配置文件

sudo apt-get install -f #重要,把安裝時添加的相關依賴包全刪了

sudo reboot

 

第三步,一體化安裝(CUDA +NVIDIA驅動)+ cuDNN

  先安裝NVIDIA驅動再暗轉CUDA,一定要注意兩者版本的對應要求問題。

  換一種方式,直接在CUDA安裝過程中安裝NVIDIA驅動,注意先查看電腦配置支持的CUDA版本,然后下載好安裝包。

 

(1)下載CUDA安裝包

  系統沒出問題之前,已經下載好了,放在/home/u/setup/文件夾下了。此步驟,略過。

  系統沒出問題之前,下載的安裝包沒有保存的話,需要找一下如何在線獲取安裝包進行安裝了。比如ppa方式、apt-get方式等。

 

(2)禁用系統自帶的nouveau驅動

       系統沒出問題之前,已經做過此步,可以在核實一邊,也可以略過。

ALT+CTRL+F2進入命令行模式:

sudo vim /etc/modprobe.d/blacklist.conf

在文本最后添加以下內容:
blacklist nouveau
option nouveau modeset=0

命令窗口會提示warn,無視之。 

保存退出,執行以下命令生效:
sudo update-initramfs -u
 
重啟電腦后,輸入:
lsmod | grep nouveau

沒有任何輸出說明禁用成功。

 

(3)安裝 CUDA +NVIDIA驅動

       繼續在ALT+CTRL+F2命令行模式下:

cd setup

ls #找到安裝包,記住名字

sudo chmod a+x cuda_10.0.130_410.48_linux.run            #一定要給權限,不然下一步操作沒反應

sudo ./ cuda_10.0.130_410.48_linux.run --no-opengl-libs  # sudo sh cuda_10.0.130_410.48_linux.run --no-opengl-libs

注意,命令:./cuda_8.0.44_linux.run –no-opengl-libs (集顯需加opengl相關參數)

  安裝過程的操作:

@https://blog.csdn.net/qq_41493990/article/details/81980940 驗證,出現一些用戶許可證信息,有圖文。

 

  安裝完,重啟: sudo reboot

 

cuda主要有以下參數:

    --no-opengl-libs:表示只安裝驅動文件,不安裝OpenGL文件。必需參數,原因同上。注意:不是-no-opengl-files。

    --uninstall (deprecated):用於卸載CUDA Driver(已廢棄)。

    --toolkit:表示只安裝CUDA Toolkit,不安裝Driver和Samples

    --help:查看更多高級選項。

 

安裝過程的選項選擇:

(1). 會先有個閱讀聲明,一直按D即可,然后accept。

(2). 選項install nvidia accelerated Graphics Driver,已經先安裝了nvidia驅動的輸入n;因為我們還沒有安裝nvidia驅動,所以記得選y

(3). 選項install the OpenGL libraries,如果雙顯卡(集顯+獨顯)選擇n;如果只有獨顯可以選擇y;如果雙顯卡選擇y的話,會出現黑屏或者循環登錄的問題,如果加了上面的參數就不會出現這個選項了。      之前安裝一路yes下來的沒注意!!!!!!!!!!!

(4). 后面的可以都選擇yes,最后一個選項我們可以選擇n,也就是不復制Samples,因為安裝目錄下有samples。

 

安裝過程結束后會有以下信息:

Driver :Installed

Toolkit :Installed in /usr/local/cuda-9.2

Samples :Installed in /home/vincent

@https://blog.csdn.net/wf19930209/article/details/81879514

 

(4)安裝 cuDNN

  按之前的流程,再走一遍:

  下載 --- 解壓 --- 寫一個sh腳本 --- 直接運行sh --- 查看是否正確安裝

  【1.下載與解壓】同樣,也還是去官網上下載CUDA10.0對應的cuDNN版本,下載地址:https://developer.nvidia.com/rdp/cudnn-download。

  【2.寫一個sh腳本與運行】

# sh ./set_cuDnn.sh

#!/bin/bash

echo "remove libcudnn* file of /usr/local/cuda/lib64"
sudo rm -rf /usr/local/cuda/lib64/libcudnn.s*   #刪除舊版本cudnn

echo
"copy cudnn.h to usr/local/cuda/include" #sudo cp /home/user_name/cudnn6/include/cudnn.h /usr/local/cuda/include #復制cudnn.h文件到/usr/local/cuda/include目錄下,這里的user_name改為自己的用戶名 sudo cp /home/u/cuda10.0/cuDNN/include/cudnn.h /usr/local/cuda/include #復制cudnn.h文件到/usr sudo chmod 777 -R /usr/local/cuda/include #對復制后的文件解除權限 echo "copy lib* to usr/local/cuda/lib64" sudo cp /home/u/cuda10.0/cuDNN/lib64/lib* /usr/local/cuda/lib64 #同上 sudo chmod 777 -R /usr/local/cuda/lib64 #同上 sudo ldconfig #對所有的復制和解除權限操作執行生效
# vim setupcudnn.sh #新建一個shell腳本文件,文件里面復制下面的內容進去 # 然后保存setupcudnn.sh文件的內容,並執行下面的命令進行安裝: # sudo bash set_cuDnn.sh #執行setupcudnn.sh腳本中的命令,安裝cudnn #
**注意:**這里將安裝命令寫成腳本文件的好處是,后面如果要進行其他cudnn版本的安裝,只要稍加修改這個腳本,然后運行就可以迅速完成安裝。例如要安裝cudnn7版本,下載cudnn7,解壓文件重命名為cudnn7,把腳本文件里的cudnn6修改為cudnn7,然后執行sudo bash setupcudnn.sh 就完成了安裝。

  【3. 查看是否正確安裝】

  cudnn的信息在其頭文件里:

  cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  即可查詢

 

第四步,其他備注

(1)ubuntu16.04命令行模式和圖形界面的切換?

從圖形化界面切換到命令行模式,可以通過按:ALT+CTRL+F1、-----、F6,

為什么是F1、-----、F6,因為在Linux中一般有F1到F6多個命令行字符終端,也就是說我們可以同時打開最多6個命令行界面。

 

(2)命令行 與 圖形化界面 的切換?

從命令行模式切換回圖形化界面模式,按:ALT+CTRL+F7,其他鍵無效。除了使用快捷方式ALT+CTRL+F7從命令模式切換回圖形界面,也可以通過命令模式來返回。

當我們進入命令行模式之后,

輸入命令:startx  即可從命令行模式切換回圖形界面了。

輸入命令:sudo service lightdm start  也可從命令行模式切換回圖形界面了。

 

(3)Ubuntu18.04系統壞掉之后,如何拷貝出系統中的重要文件?

@https://blog.csdn.net/yy2yy99/article/details/93490598

 

(4)如何判斷電腦使用的是集顯還是獨顯?

一般:Intel集顯,Nvidia獨顯

@http://www.dianping.com/education/a93819117

@https://jingyan.baidu.com/article/0964eca242e4988284f53667.html

@https://product.pconline.com.cn/itbk/software/dnyw/1703/8927455.html?_=1507657311 圖文

 

(5)卸載驅動,命令方式參考

sudo apt remove --purge nvidia*  #完全卸載N卡驅動
sudo service lightdm stop         #關閉圖形界面
#禁用nouveau驅動 #在
/etc/modprobe.d/blacklist.conf中加入如下內容: blacklist nouveau options nouveau modeset=0 #然后執行 sudo update-initramfs –u #安裝Nvidia驅動 sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update #更新apt-get sudo apt install nvidia-375 #最后別忘了打開圖形化界面 sudo service lightdm start
---------------------------------- 下面再執行相關的刪除操作 sudo apt-get remove --purge nvidia-* 刪除安裝的nvidia相關一切程序,並不保留配置文件 sudo apt-get autoremove 把安裝時添加的相關依賴包全刪了 sudo apt-get install –f 修復之間的依賴關系 上面三行代碼執行完基本可以說可以在不損壞其他應用程序的前提下完整安全的刪除一個程序集,之后reboot重啟 ----------------------------------------- 卸載英偉達驅動並重啟 sudo apt-get remove --purge nvidia-* sudo apt-get autoremove #特別重要 sudo apt-get install -f #特別重要 sudo reboot 重新安裝英偉達驅動,由於許多同學可能會忘記自己顯卡是什么型號的,或者電腦中沒有現成的顯卡驅動,或者覺得下載下來再復制到待安裝中的電腦過於麻煩。
總之就是想在線安裝,在命令行中直接執行一句話那種嘛
~ 更新源 sudo apt-get upgrade sudo apt-get update 查詢nvidia驅動可用版本 sudo apt-cache search nvidia-* 選擇其中最新的版本進行安裝,我們這里只是距離安裝384,具體版本需要根據你們的實際情況安裝 sudo apt-get install nvidia-384 然后發現顯示屏的分辨率正常了,並且不再循環登陸了@https://blog.csdn.net/dugudaibo/article/details/84255472 -----------------------------------------------

 

(6)版本

  以前先安裝NVIDIA驅動再暗轉CUDA,兩者版本:

NVIDIA-Linux-x86_64-410.93.run

cuda_10.0.130_410.48_linux.run

 

  在CUDA+NVIDIA驅動一起安裝,兩者版本:

cuda_10.0

NVIDIA-410.48

 

  附,電腦的基本配置信息:

1.機箱(主機的外殼,用於固定各個硬件) :
2.電源(主機供電系統,用於給主機供電穩壓):1250W(一個電源)
3.主板(連接主機內各個硬件的軀體):Z390 AORUS PRO(WIFI)(技嘉GIGABYTE)
4.CPU(主機的大腦,負責數據運算處理):Inter? CoreTM i7-8700K CPU@3.70GHz×12
5.內存(暫時存儲電腦正在調用數據):64G DDR4 2666 金士頓
6.硬盤(主機的存儲設備,用於存儲數據資料):250G(三星SSD)+4T希捷
7.聲卡(處理計算機的音頻信號,有主板集成和獨立聲卡):
8.顯卡(處理計算機的視頻信號,有核心顯卡(集成)及獨立顯卡):(技嘉)英偉達GeForce RTX2080 ti 11G
9.網卡(處理計算機與計算機之間的網絡信號,常見個人主機都是集成網卡,多數服務器是獨立網卡)
10.散熱器(主機內用於對高溫部件進行散熱的設備)

   附,爬坑中的部分截圖:

 

 

 

 

  希望這次解決了,以后不要再出現這個問題了。爬坑過程是在是太耗心情~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM