N卡笔记本 双系统安装 Ubuntu18.04 全程记录 + 驱动 + 配置 + 美化

时间:2024-01-22 18:45:47

Install Ubuntu 18.04 with NVIDIA GPU

前言

从2018年7月起开始尝试安装Ubuntu, 无奈网上教程大多含混不清, 再加上时间紧张, 屡次尝试都没有得到满意的结果. 2019年1月的第一次尝试, 收获了好运, 结合n + e 的博客, 终于完成了大体的安装和配置. 故写下这篇文章进行纪念和备忘, 也作为分享.

准备与安装

  1. 需要的物品:

    • 电脑, 以神舟战神Z7 - KP7S1(Intel i7 - 7700HQ, Nvidia GTX 1060 - 6G, 8G RAM, 256G SSD, 1T HDD) 为例.
    • Ubuntu 18.04.1 LTS amd64 系统镜像.
    • 4G以上的U盘一个, USB3.0以上体验更好.
    • Rufus工具, 用于制作启动盘.
  2. 制作启动盘

    下载好了上述内容后, 我们向U盘中写入镜像.

    如果Rufus提示缺失了文件, 按照提示下载即可.

    写入选择ISO模式.

  3. 安装

    按电脑的某些键进入启动项选择, 选U盘, 然后选Install Ubuntu.

    听说语言选英文比较好, 后期可以改, 但是目录是英文的对程序比较友好.

    然后就选正常安装, 不联网, 不安装第三方程序, 设置时区, 以及其他的信息, 安装流程很快.

    期间(设置账户及之前)是有死机的可能的, 表现为鼠标能动, 键盘没反应, 不相应任何指令. 这是真的死机了, 救不了, 强制关机重新试吧.

    然后就装上了.

正式使用之前的配置

  1. NVIDIA驱动

    驱动是N卡电脑必须要过的一关. 之前抄了些csdn的博客也没能完全解决. 这次大概综合了一些博客, 目前还没有出现问题, 唯一的问题是, 如果扣盖睡眠(Ubuntu似乎称之为挂起), 再次开启时就会花屏 + 上述的死机. 然后改成了扣盖熄屏不睡眠, 在某种意义上回避了问题, 目前还没有自动挂起过, 有待观察.

    下面说操作.

    • 换源

      软件与更新 中应该也有换源的选项, 不过本着不惊动显卡的原则, 选用了命令行.

      gedit /etc/apt/sources.list

      若论使用命令行, 装机自带的vim才是最优搭配, 毕竟gedit还是有GUI, 开机又没有emacs, 但是我不会vim的快捷键, 只好作罢. 将文件修改为

      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      
      # 预发布软件源,不建议启用
      # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

      这样后续下载就快一些, 避免拖太久又死机. 其实对于我这种打字慢的人来说也争取不到多少时间. 幸运的是在装驱动之前都没有死机.

      记得保存.

    1. 安装

      sudo apt remove libreoffice* && sudo apt update && sudo apt upgrade && sudo apt autoremove

      在升级之前先把大块头office卸载, 然后自动卸载其他的, 可以说很妙了.

      不过也可以*安排指令的顺序.

      sudo ubuntu-drivers autoinstall

      这一步是安装驱动.

      在安装这些软件期间很有可能死机. 我的策略是看进度估算一下, 让其先运行一会, 以免损坏正在读写的文件, 不过因为没有对照组, 所以并不知道有没有效果, 不过最后算是装上了.

      这个时候系统已经可以识别出独显了.

      然后装一个感觉没有什么乱用的显卡切换, 不过反正也不能用Prime Profile(也有可能是我搞不定), 就照着博主也装了一个.

      sudo add-apt-repository ppa:nilarimogard/webupd8 
      sudo apt install prime-indicator

      然后记得重启! 我一开始甚至以为凉凉了(百度了好一会).

      然后在查的过程中发现不太放心, 又搞了个禁用开源驱动.

      这里也贴个链接.

      里面的内容比较古老了, 我只照做了禁用nouveau.

      sudo gedit /etc/modprobe.d/blacklist

      添加一句

      blacklist nouveau

      重启就会发现顶栏右上角有个NVIDIA的标志了, 点开有切换显卡和打开设置, 需要注销生效. 不过我切了一次以后发现还是 using GTX 1060, 感觉没有用, 就又切了回来.

      这时候还是不敢放心, 测试了显卡的另一个雷区: 休眠恢复. 果然出锅了. 死机.

      于是退了一步, 看看能不能熄屏. 于是又去查关闭笔记本盖子怎么不睡眠. 指令如下:

      sudo sed -i 's/#HandleLidSwitch=suspend/HandleLidSwitch=ignore/g' /etc/systemd/logind.conf

      这是正则表达式做的, 当然也可以用文本编辑器去改, 把那个文件里的

      #HandleLidSwitch=suspend

      改为

      HandleLidSwitch=ignore

      即可.

      然后重启系统服务.

      systemctl restart systemd-logind
    2. 配置其他环境

      n + e开出了一串软件, 我就挑了我需要的装了.

      sudo apt install git htop zsh vim tmux cmake curl axel texlive-full gummi proxychains python-pip python3-pip libopencv-dev libboost-dev gnome-tweak-tool openvpn openssl mpv wine64 xclip enca apache2 php7.2 unrar ruby gnome-shell-extensions dos2unix xserver-xorg-input-synaptics libinput-tools xdotool icdiff g++-5 gcc-5 openjdk-11-jdk net-tools libglew-dev libcanberra-gtk-module libcanberra-gtk3-module tlp freeglut3 freeglut3-dev pandoc

      然后还有一个多点触控的软件, 需要Ruby前置.

      sudo gem install fusuma

      据说tmux + zsh是shell模拟+复现的利器, 但是目前还用不到. 如果有兴趣可以去看原博客. 不过也把安装步骤贴过来, 毕竟上面已经install了.

      # 如果是第一次
      sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
      cd
      git clone https://github.com/gpakosz/.tmux.git
      ln -s -f .tmux/.tmux.conf
      cp .tmux/.tmux.conf.local .
      # 如果装过了
      chsh -s /usr/bin/zsh

      还有一个重要配置就是科学了.

      我用**R比较多, 所以这里去搞了一个electron-**R, 感觉还能用.

      注意到上面的列表里也开出了proxychains, 只要设置一下就可以让终端也一起科学了. 下外面的软件贼快.

      学习自这个链接.(虽然感觉这个像盗版, 但我也没有找到原版)

      修改

      /etc/proxychains.conf

      [ProxyList]

      一行下面加入

      socks5 127.0.0.1 1080

      如果有sock4或者别的, 注释掉.

      运行指令时在前面加上proxychains, 就可以科学了.

    常用软件

    像chrome, wps office, 网易云, typora, 输入法之类的软件直接查一查就可以装了.

    emacs之前源码安装有阴影, 所以用ubuntu自带的商店装了一个, 不是最新, 不过也能用. 这里贴一个配置.

    (custom-set-variables
     ;; custom-set-variables was added by Custom.
     ;; If you edit it by hand, you could mess it up, so be careful.
     ;; Your init file should contain only one such instance.
     ;; If there is more than one, they won't work right.
     '(custom-enabled-themes (quote (tango-dark))))
    (custom-set-faces
     ;; custom-set-faces was added by Custom.
     ;; If you edit it by hand, you could mess it up, so be careful.
     ;; Your init file should contain only one such instance.
     ;; If there is more than one, they won't work right.
     )
    
    ;;set transparent effect
    (global-set-key [(f11)] 'loop-alpha)
    (setq alpha-list '((100 100) (95 65) (85 55) (75 45) (65 35)))
    (defun loop-alpha ()
      (interactive)
      (let ((h (car alpha-list)))                ;; head value will set to
        ((lambda (a ab)
           (set-frame-parameter (selected-frame) 'alpha (list a ab))
           (add-to-list 'default-frame-alist (cons 'alpha (list a ab)))
           ) (car h) (car (cdr h)))
        (setq alpha-list (cdr (append alpha-list (list h))))
        )
      )
    
    (tool-bar-mode 0)
    (menu-bar-mode 0)
    (scroll-bar-mode 0)
    
    (setq inhibit-startup-message t)
    
    (setq-default cursor-type 'bar)
    
    (global-linum-mode 1)

美化

上面的一堆软件里是有gnome-tweak-tool的, 这里也提一句, 网上的教程也有不少.

贴几个备忘的链接吧.

下载扩展: Gnome Shell Extension

下载主题/图标/字体和其他好看的东西: Gnome-look

后话

贴几张截图吧.

浪费了很多时间, 不过也算是装上了.

就这样.