Image by 飴村@pixiv

Ubuntu使用记录

The Note of Using Ubuntu

  linkthis    2018-01-25    3201 words

注意,由于系统的特性,本文所叙述之内容只能尽量保证在同一个版本之下的有效性,其它版本系统采用时请多加注意。

系统: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_TIMEOUTGRUB_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




Image of Wechat