注意,由于系统的特性,本文所叙述之内容只能尽量保证在同一个版本之下的有效性,其它版本系统采用时请多加注意。
系统:Ubuntu16.04 64bit LTS
显卡:GeForce GTX 1060 6G
硬盘:SAMSUNG SM961 NVME 512G
安装
Ubuntu在安装过程当中提供了较好的图形界面,所以并没有太多的困难。在磁盘分配选择磁盘类型的时候需要注意,如果是非虚拟机安装双系统,所有的磁盘格式均应该设置为逻辑磁盘,否则可能会出现问题,同时应该自己手动进行磁盘的划分,不要使用自带的与Windows共存功能。apt源可以选择日本源因为有Corebird。
禁用访客
由于是双系统,所以我选择禁用访客功能,在网上可以找到两个版本的方法。
方案1
首先执行
1
sudo vi /etc/lightdm/lightdm.conf
然后添加
1
2
3
[SeatDefaults]
greeter-session=unity-greeter
allow-guest=false
之后重启系统。
注意此方法有可能导致the system running in low-graphics mode
,开机之后无法进入系统。只需进入tty模式删除之前创建的文件即可。
方案2
如果之前的方法出现问题,可以尝试下面的方法:
执行
1
sudo vi /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
在文件末尾添加
allow-guest=false
之后重启系统即可。
安装显卡驱动
由于Linux下面的显卡开源驱动效率较低,所以选择使用Nvidia提供的官方闭源驱动,闭源驱动的安装有两种方法:
PPA源
此方法最为简便快捷,驱动不一定为最新驱动,并且有可能会引发一些问题。
执行如下代码之后
1
2
3
sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa #添加ppa源
sudo apt update
然后进入:系统设置->软件和更新->附加驱动,选择你喜欢的版本安装即可。
或者打开命令行,执行:
1
sudo apt install nvidia-version
之后均需要重启电脑。 附“Graphics Drivers” team官方网页。
使用官方驱动手动安装
1.进入Nvidia官网下载所需版本驱动。
如果之前有安装过驱动请执行
1
sudo apt purge nvidia-*
或者
1
2
sudo chmod a+x NVIDIA-Linux-x86_64-*.run
sudo ./NVIDIA-Linux-x86_64-*.run --uninstall
如果原驱动为使用PPA安装的,请一定要运行命令进行卸载,否则极有可能出现错误。
如果原驱动使用runfile安装,可以不用卸载,因为runfile在进行安装时会自动卸载之前的驱动,但是如果之后出现无法进入tty模式的情况,请自己进行手动卸载。
2.禁用nouveau驱动
1
sudo vi /etc/modprobe.d/blacklist.conf
在文本最后添加
blacklist nouveau
options nouveau modeset=0
然后执行sudo update-initramfs -u
重启之后执行:lsmod | grep nouveau
,如果没有输出则禁用nouveau成功。
3.关闭图形界面
执行sudo service lightdm stop
之后按Ctrl-Alt+F1
进入命令行界面,输入用户名和密码登录。
切换到runfile所在目录执行:
1
2
sudo chmod a+x NVIDIA-Linux-x86_64-*.run
sudo ./NVIDIA-Linux-x86_64-*.run -no-opengl-files
请务必不要省略-no-opengl-files
参数,此参数可以避免安装程序对OpenGL
的覆写,避免登录界面死循环的问题。
安装过程中出现报错The distribution-provided pre-install script failed!
属于正常情况,如果已经完成之前的步骤,则可以忽略继续进行安装。
提示是否使用DKMS
和nvidia的xconfig
文件时,请选择yes
,否则在更新系统时可能会导致驱动失效。
安装完成之后进行重启。
4.验证安装:
1
2
3
glxinfo | grep OpenGL | grep renderer #OpenGL renderer应该为除了“MESA”之外的其他值。则可说明硬件驱动正在用于硬件加速
nvidia-smi #若列出GPU的信息列表,表示驱动安装成功
lsmod | grep nvidia #检测nvidia驱动模块信息
之后执行nvidia-settings
进行驱动设置。
如果nvidia-settings
无法正常执行;屏幕分辨率不正常且无法在nvidia或者系统设置里面调整;显示the system running in low-graphics mode
,而在闭源驱动运行正常,那么问题的原因很有可能是内核版本过低,对较新硬件支持不足造成的,此时更换较新的内核即可解决问题。
请注意,如果需要使用4.14及其之后版本的内核,需要安装libelf-dev
。如果需要签名内核,请注意,Ubuntu在2018-04-19之后停止提供已签名内核,如果没有签名要求,则应该尽量选择较新的内核。
同时请注意,如果手动安装并驱动并添加-no-opengl-files
参数之后,在详细信息内并不会显示显卡型号,而是显示llvmpipe
,但此时闭源驱动仍然是安装成功的。如果想要显示显卡型号,请尝试使用PPA源或者不带参数手动安装检验血统的时候来了&有没有大佬知道这是怎么回事啊。
如果安装之后出现无法进入桌面的问题,请尝试以下命令:
1
2
cd /usr/share/X11/xorg.conf.d/
sudo mv nvidia-drm-outputclass.conf nvidia-drm-outputclass.conf.bak
如果无法解决问题,请进入tty界面,手动移除所安装的驱动之后再行手动安装可以尝试到不翻车为止。
参考文献
http://blog.csdn.net/CosmosHua/article/details/76644029
http://blog.csdn.net/huanghenghua/article/details/52481401
GRUB
GRUB_HIDDEN_TIMEOUT_QUIET
控制在GRUB
界面是否显示倒计时。
在GRUB_HIDDEN_TIMEOUT
和GRUB_TIMEOUT
同时生效的情况下,执行update-grub
时系统会提示:Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
。
需要注意的是,在单系统状态下,GRUB_HIDDEN_TIMEOUT
控制GRUB
等待用户按shift
进入GRUB
的时间;而在多系统情况下,GRUB_HIDDEN_TIMEOUT
则与GRUB_TIMEOUT
一样控制GRUB
等待用户选择启动项的时间,但是其设置会覆盖GRUB_TIMEOUT
的设置,所以在多系统状况下我们可以注释GRUB_HIDDEN_TIMEOUT
。
结语
我该说什么好呢?
只要血统好,作死翻不了?
本文的目标只是对Ubuntu的使用过程中的一些坑进行汇总,所以不会特别详细。如果发生了什么错误,我也没有什么办法,如果你有更好的解决方案也请在下面留言。应该会持续更新。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。
本文最后更新时间为:2019-05-19-Sunday-09:47:19 PM