900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Linux 之十七 Ubuntu 22.04 配置内核版本 GRUB 引导 远程桌面

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

时间:2020-11-08 09:32:18

相关推荐

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

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

安装其他版本内核

Ubuntu 中安装其他版本的内核非常简单,内核其实就是相当于一个软件(DEB 包),安装方式与其他软件并没有啥区别。首先,使用命令uname -sr就可以查看当前运行的内核版本。

注意,这里说的是安装一个其他版本的内核,与更新当前 Ubuntu 的内核不同。如果是更新当前 Ubuntu 的内核,则是直接使用命令sudo apt-cache search linux-image-可以搜到针对当前 Ubuntu 版本的官方发布的不同版本的内核,然后使用sudo apt-get install xxx即可。

/~kernel-ppa/mainline/ 上提供的内核是由未经修改(默认情况下,Ubuntu 系统使用 Ubuntu 存储库提供的 Ubuntu 修改过的内核)的上游内核(upstream kernel)源代码制成,但使用了 Ubuntu 内核配置文件。然后,将这些文件打包成 Ubuntu .deb 文件,以方便大家使用。

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

手动安装

要安装新的 Ubuntu 的内核,首先打开 /~kernel-ppa/mainline/,然后从列表中选择需要的版本。打开页面就会发现 Ubuntu 官方对该内核针对不同架构平台的构建(xxx/build)和测试(xxx/self-tests)情况,所以,务必注意不要选择错了架构(例如我这里是 amd64)。

如上所示,内核并不是只有一个包,通常会有linux-headers-*-generic_*linux-headers-*_alllinux-image-unsigned-*-generic_*linux-modules-*-generic_*四个软件包(我们通常需要的就是名字中带有generic字样的包),必须都进行安装。

下载各个包

wget /~kernel-ppa/mainline/v5.19.17/amd64/linux-headers-5.19.17-051917-generic_5.19.17-051917.10240939_amd64.debwget /~kernel-ppa/mainline/v5.19.17/amd64/linux-headers-5.19.17-051917_5.19.17-051917.10240939_all.debwget /~kernel-ppa/mainline/v5.19.17/amd64/linux-image-unsigned-5.19.17-051917-generic_5.19.17-051917.10240939_amd64.debwget /~kernel-ppa/mainline/v5.19.17/amd64/linux-modules-5.19.17-051917-generic_5.19.17-051917.10240939_amd64.deb

直接使用命令sudo dpkg -i *.deb安装下载的所有包即可

如下所示,某些内核下面可能还会有一些与generic对应的lowlatency的包。lowlatency是用于工业嵌入式系统的低延迟 Linux 内核。官方介绍:/blog/industrial-embedded-systems-iii。

Mainline Kernel Installer

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

添加安装源sudo add-apt-repository ppa:cappelikan/ppa -y安装sudo apt install mainline从开始界面打开 Mainline Kernel Installer 选择要安装的内核即可

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

修改默认版本内核

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

命令行方式

首先打开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,这个文件会根据默认配置自动更新

编辑默认的 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

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

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

grub-customizer

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

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

sudo add-apt-repository ppa:danielrichter/grub-customizer sudo apt updatesudo apt install grub-customizer

开启 GRUB 引导页面

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

编辑默认的 GRUB 配置文件:sudo nano /etc/default/grub

GRUB_TIMEOUT_STYLE=hidden这一行前加个#注释掉或者改为GRUB_TIMEOUT_STYLE=menu修改GRUB_TIMEOUT=0,添加一个合适的启动超时时间,单位是秒。超时时间内如果无操作,则自动启动。 保存后退出。然后执行sudo update-grub,最后sudo reboot重启应该就可以看到 GRUB 引导界面了。

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

远程桌面

Ubuntu 22.04 自带了微软搞的 RDP(Remote 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 体验一模一样)。

参考

/install-linux-kernel-ubuntu//install-upgrade-latest-kernel-ubuntu-22-04//ja/ubuntu-update-kerenl/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。