Linux 之十七 Ubuntu 22.04 配置内核版本、GRUB 引导、远程桌面

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

  前段时间重新安装了 Ubuntu 22.04 LTS安装后没有显示 GRUB 引导页面默认自动跳过直接使用默认内核启动而我需要变更一下默认的内核版本特此记录一下修改过程。

安装其他版本内核

  Ubuntu 中安装其他版本的内核非常简单内核其实就是相当于一个软件DEB 包安装方式与其他软件并没有啥区别。首先使用命令 uname -sr 就可以查看当前运行的内核版本。
在这里插入图片描述
  注意这里说的是安装一个其他版本的内核与更新当前 Ubuntu 的内核不同。如果是更新当前 Ubuntu 的内核则是直接使用命令 sudo apt-cache search linux-image- 可以搜到针对当前 Ubuntu 版本的官方发布的不同版本的内核然后使用 sudo apt-get install xxx 即可。
在这里插入图片描述
  https://kernel.ubuntu.com/~kernel-ppa/mainline/ 上提供的内核是由未经修改默认情况下Ubuntu 系统使用 Ubuntu 存储库提供的 Ubuntu 修改过的内核的上游内核upstream kernel源代码制成但使用了 Ubuntu 内核配置文件。 然后将这些文件打包成 Ubuntu .deb 文件以方便大家使用。

这些内核不受支持不提供任何安全更新

手动安装

  要安装新的 Ubuntu 的内核首先打开 http://kernel.ubuntu.com/~kernel-ppa/mainline/然后从列表中选择需要的版本。打开页面就会发现 Ubuntu 官方对该内核针对不同架构平台的构建xxx/build和测试xxx/self-tests情况所以务必注意不要选择错了架构例如我这里是 amd64。
在这里插入图片描述
  如上所示内核并不是只有一个包通常会有 linux-headers-*-generic_*linux-headers-*_alllinux-image-unsigned-*-generic_*linux-modules-*-generic_* 四个软件包我们通常需要的就是名字中带有 generic 字样的包必须都进行安装。

  1. 下载各个包
    wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/amd64/linux-headers-5.19.17-051917-generic_5.19.17-051917.202210240939_amd64.deb
    wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/amd64/linux-headers-5.19.17-051917_5.19.17-051917.202210240939_all.deb
    wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/amd64/linux-image-unsigned-5.19.17-051917-generic_5.19.17-051917.202210240939_amd64.deb
    wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.19.17/amd64/linux-modules-5.19.17-051917-generic_5.19.17-051917.202210240939_amd64.deb
    
  2. 直接使用命令 sudo dpkg -i *.deb 安装下载的所有包即可

  如下所示某些内核下面可能还会有一些与 generic 对应的 lowlatency 的包。lowlatency 是用于工业嵌入式系统的低延迟 Linux 内核。官方介绍https://ubuntu.com/blog/industrial-embedded-systems-iii。
在这里插入图片描述

Mainline Kernel Installer

  相比手动安装Ubuntu 下还有个第三方的带 GUI 的内核安装器Mainline Kernel Installer我们只需要点点鼠标其会自动从 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 下载内核的各个包然后安装。

  1. 添加安装源 sudo add-apt-repository ppa:cappelikan/ppa -y
  2. 安装 sudo apt install mainline
  3. 从开始界面打开 Mainline Kernel Installer 选择要安装的内核即可
    在这里插入图片描述

Mainline Kernel Installer 会自动过滤掉不支持当前架构平台的内核

修改默认版本内核

  在实际工作中有时候我们需要在 Ubuntu 中添加多个不同版本的内核。所有已安装的可用内核可以在 /boot/grub/grub.cfg 这个文件中查看到。/boot/grub/grub.cfg 这里面就对应于 GRUB 引导页面中的各条目内核的启动参数。

命令行方式

  1. 首先打开 sudo nano /boot/grub/grub.cfg从中选择要配置的内核参数。这个文件就是 GRUB 启动项的菜单描述文件GRUB 在启动中会读取该文件然后显示出来就是我们看到的 GRUB 引导界面。
    在这里插入图片描述
      我这里没有安装其他内核默认的是有 Linux 5.15.0-53-genericLinux 5.15.0-56-generic 这两个以及这两个对应的 recovery mode 模式。其中我添加的蓝色和红色标号代表不同层级的菜单项的标号。

    不要试图直接编辑 /boot/grub/grub.cfg这个文件会根据默认配置自动更新

  2. 编辑默认的 GRUB 配置文件sudo nano /etc/default/grub其中默认的 GRUB_DEFAULT=0 就表示使用上面的第 0 个菜单项也就是默认选中 Ubuntu 这条菜单这里我以修改为 Linux 5.15.0-53-generic 为例。
    在这里插入图片描述
      我们只需要将需要的内核对应的菜单添加到 GRUB_DEFAULT=0 这一项上即可。注意修改的格式是需要包含菜单层级Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-53-generic 或者直接简写 1>2

    由于内容中包含了空格因此必须使用双引号

  3. 保存后退出。然后执行 sudo update-grub最后 sudo reboot 重启应该就可以会自动选择我们指定的内核了。

grub-customizer

  Ubuntu 中有一个名为 grub-customizer 的带 GUI 的 GRUB 编辑器不喜欢使用命令行的可以直接安装这个工具。使用也比较简单直接简单说一下如何安装就不过多介绍使用方法了。
在这里插入图片描述

  1. Ubuntu 20.04 版本可以直接使用命令 sudo apt install grub-customizer 来安装
  2. Ubuntu 22.04 中由于一个 BUG官方没有提供该工具因此需要从第三方安装源进行安装
    sudo add-apt-repository ppa:danielrichter2007/grub-customizer 
    sudo apt update
    sudo apt install grub-customizer
    

开启 GRUB 引导页面

  在默认情况下如果系统只有一个版本的 Ubuntu或者说只有一个操作系统GRUB 引导页面是不会显示的。如果需要打开 GRUB 引导页面就需要编辑 Ubuntu 中的 GRUB 配置文件不喜欢命令行的也可以直接使用上面说的 grub-customizer

  1. 编辑默认的 GRUB 配置文件sudo nano /etc/default/grub
    在这里插入图片描述
    1. GRUB_TIMEOUT_STYLE=hidden 这一行前加个 # 注释掉或者改为 GRUB_TIMEOUT_STYLE=menu
    2. 修改 GRUB_TIMEOUT=0添加一个合适的启动超时时间单位是秒。超时时间内如果无操作则自动启动。
  2. 保存后退出。然后执行 sudo update-grub最后 sudo reboot 重启应该就可以看到 GRUB 引导界面了。
    在这里插入图片描述

  如果只有一个内核开启 GRUB 引导页面貌似也没啥意义还额外增加了启动时间。通常我们在安装了不同内核时才需要开启。当然在某些情况下安装内核后相关工具可能自动就给我开启了

远程桌面

  Ubuntu 22.04 自带了微软搞的 RDPRemote Desktop Protocol并且是默认的远程桌面因此我们可以直接使用 Windows 的远程桌面进行连接。同时也带了 VNC 远程桌面再也不用手动安装各种 VNC 服务端了。
在这里插入图片描述
  Ubuntu 22.04 中的这套远程桌面其实就来自于最新的 GNOME 中的 gnome-remote-desktopgnome-remote-desktop 还有个配套的命令行工具 grdctl通过 grdctl 可以直接在 SSH 中来修改上面 GUI 中的配置。
在这里插入图片描述

处理锁屏断开问题

  上面这些都不是重点重点是默认的远程桌面在自动息屏屏幕变黑或者手动执行 Lock 锁屏之后就会断开连接然而如果把 Ubuntu 22.04 的息屏直接关闭屏幕就会一直亮着容易被领导窥屏再也不会锁屏了手动锁屏还是会断开远程桌面。
在这里插入图片描述
  Ubuntu 使用的是 GNOME 桌面GNOME 提供了很多插件最终我在 GNOME 插件中发现了 Allow Locked Remote Desktop 这个插件完美解决了上面的问题。在 Ubuntu 下GNOME 插件有个带 GUI 的管理程序通过管理程序可以方便安装卸载各种插件sudo apt install gnome-shell-extension-manager gnome-shell-extensions
在这里插入图片描述

处理重启无法连接问题

  还有一种情况当我们重启电脑后远程桌面是无法链接的因为默认用户没有启用自动登录导致没有可用的账户来进行远程链接。然而并不是开了自动登录就可以用的因为权限问题自动登录后不允许远程操作这和常用的 Windows 还是有很大差别的。
在这里插入图片描述
  解决方法就是将修改 Ubuntu 中的秘钥链Ubuntu 提供了 Passwords and Keys 这个 GUI 程序打开后修改 Login 的密码为空直接在 Login 上鼠标右键输入原密码新密码留空确定即可。以后即使重启电脑也会自动登录并可以进行远程桌面链接了与 Windows 体验一模一样。

参考

  1. https://linuxhint.com/install-linux-kernel-ubuntu/
  2. https://linuxhint.com/install-upgrade-latest-kernel-ubuntu-22-04/
  3. https://codechacha.com/ja/ubuntu-update-kerenl/
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linuxUbuntu

“Linux 之十七 Ubuntu 22.04 配置内核版本、GRUB 引导、远程桌面” 的相关文章