分类 技术 下的文章

如果你使用的是 Ubuntu 22.04,你可能已收到过此通知。

Notification about pending Firefox app

它会通知你 Firefox 更新正在等待中,并要求你关闭应用以避免中断。

因此,就像一个听话的 Ubuntu 用户一样,你在保存或完成工作后关闭了 Firefox 浏览器。

你认为 Firefox 已在后台更新,重启浏览器将运行较新版本。

只是,并非如此。

即使在你重启浏览器甚至计算机后,它仍可能显示相同的 “pending update of Firefox” 通知

令人沮丧么?我可以告诉你发生了什么。

让我解释一下为什么会发生这种情况,以及你可以做些什么来“修复”它。

修复 “pending update of Firefox snap” 问题

早些时候,Firefox 曾经在后台更新,然后要求你重启浏览器。在你重启浏览器之前 不能 打开任何网站。

Firefox forced restart in the past

在将 Firefox 浏览器切换为默认 Snap 包格式 后,Ubuntu 团队对更新流程进行了一些改动。

此通知是“改进的用户体验”的一部分。现在,Firefox 不再阻止你浏览。你可以在方便时重新启动浏览器以进行更新。

但是为什么即使在你重新启动浏览器或系统后它仍然显示这个通知?

因为这是一条糟糕的通知消息,无法为你提供完整的信息。

Firefox 更新还没有开始

当你看到 “pending Firefox update” 时,你错误地认为应用已在后台更新,重启会将其升级到较新的版本。

而对于现在这种情况,Ubuntu 中的 Snap 包每天会自动刷新(更新)一次或几次。为了避免在重新启动安装更新之前 Firefox 不允许你浏览任何内容而导致工作中断,Ubuntu 甚至不会在后台更新 Firefox Snap 包。

相反,当 Snap 包刷新时,它会显示通知并希望你立即关闭浏览器,以便可以使用其他 Snap 包进行更新。

但像你我这样的用户不能这样做,对吧?看到通知,立即关闭浏览器?并不是很方便。

而当你有时间关闭浏览器时,Snap 刷新却不会马上更新浏览器。

你可以看到更新的 Snap 版本的 Firefox 可用,但只要 Firefox 正在运行,它就不会自动安装。

Firefox snap won’t be updated automatically if the browser is running

更新 Firefox Snap

这是你摆脱每天不断出现的更新通知所需要做的事情。

  • 关闭 Firefox 浏览器
  • 手动运行 Snap 刷新(更新已安装的 Snap 包)

确保你在 Firefox 浏览器中的工作已保存。现在,使用鼠标关闭所有 Firefox 浏览器或在终端中运行以下命令:

sudo killall firefox

现在 Firefox 不再运行,更新 Snap 软件包:

sudo snap refresh

你会看到它开始下载更新的 Firefox 包。

Firefox is being updated with Snap

更新完成后,你将看到 Firefox 已升级到更新版本的摘要信息。

Updated Firefox snap version

总结

安装非 Snap 版本的 Firefox 也可能是个解决方案,但不是每个人都可以走这条路。

Firefox 和 Snap 的开发人员必须齐心协力改进这个模棱两可的更新过程。他们应该提供更好的机制,不仅显示待处理更新的通知,还提供启动更新的选项。

这是我们最近在 Ubuntu 上看到的许多奇怪的事情之一。这必须改变才能使 Ubuntu (再次)成为一个对初学者友好的发行版。


via: https://itsfoss.com/pending-update-firefox-ubuntu/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这个带有脚本的快速指南有助于清理旧的 Snap 软件包,并释放 Ubuntu 系统中的一些磁盘空间。

我的 Ubuntu 测试系统中出现磁盘空间不足。因此,我通过 GNOME 的磁盘使用分析器进行调查,以找出哪个软件包正在消耗宝贵的 SSD 空间。除了通常的缓存和主目录,令我惊讶的是,我发现 Snap 和 Flatpak 消耗了大量的存储空间。

Snap size – before cleanup

我始终坚持一个规则:除非必要,否则不要使用 Snap 或 Flatpak。这主要是因为它们的安装大小和一些其他问题。我更喜欢原生 deb 和 rpm 包。多年来,我在这个测试系统中安装和移除了一些 Snap 包。

问题出现在卸载后。Snap 在系统中保留了一些残留文件,而一般用户不知道。

所以我打开了 Snap 文件夹 /var/lib/snapd/snaps,发现 Snap 会保留以前安装/卸载的软件包的旧版本。

例如,在下图中,你可以看到 GNOME 3.28、3.34 和 Wine 这些都被删除了。但它们还在那里。这是因为 Snap 设计上在正确卸载后保留已卸载软件包的版本。

Files under snaps directory

或者,你可以在终端中使用:

snap list --all

snap list all

对于保留的版本数量,默认值为 3。这意味着 Snap 会保留每个软件包的 3 个旧版本,包括当前安装版本。如果你对磁盘空间没有限制,这是可以的。

但是对于服务器和其他场景,这很容易遇到成本问题,消耗你的磁盘空间。

不过,你可以使用以下命令轻松修改计数。该值可以在 2 到 20 之间。

sudo snap set system refresh.retain=2

清理 Snap 版本

在 SuperUser 的一篇文章中,Canonical 的前工程经理 Popey 提供了一个简单的脚本 可以清理旧的 Snap 版本并保留最新版本。

这是我们将用来清理 Snap 的脚本。

#!/bin/bash
 #Removes old revisions of snaps
 #CLOSE ALL SNAPS BEFORE RUNNING THIS
 set -eu
 LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
     while read snapname revision; do
         snap remove "$snapname" --revision="$revision"
     done

将上述脚本以 .sh 格式保存在目录中(例如 clean_snap.sh),赋予其可执行权限并运行。

chmod +x clean_snap.sh

当我运行脚本时,它减少了很多磁盘空间。该脚本还将显示要删除的包的名称。

Executing the script

Snaps size after cleanup

结束语

关于 Snap 的设计效率如何,人们总是争论不休。许多人说,它的设计是糟糕的,是臃肿的,且消耗系统资源。该论点的某些部分是正确的,我不会否认。如果正确实施和增强,沙盒应用的整个概念就很棒。我相信,与 Snap 相比,Flatpak 做得更好。

也就是说,我希望这可以帮助你清理一些磁盘空间。尽管它只在 Ubuntu 中进行了测试,但它应该适用于所有支持 Snap 的 Linux 发行版。

此外,请查看我们关于 如何清理 Ubuntu 的指南以及其他步骤。

最后,如果你正在寻找清理 Flatpak 应用,请参阅 这个指南


via: https://www.debugpoint.com/clean-up-snap/

作者:Arindam 选题:lkxed 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

这个快速教程展示了在 Ubuntu Linux 上安装最新版本的 Vim 的步骤。

Vim 是最 流行的基于终端的文本编辑器 之一。然而,它在 Ubuntu 上没有被默认安装。

Ubuntu 使用 Nano 作为默认的终端编辑器。Nano 也是一个优秀的工具,我并不打算参与 Nano 与 Vim 孰优孰劣的辩论

如果你已经花了一些时间掌握了 Vim 的快捷键,你就不必忘记它们,而开始使用一个新的编辑器。

你可以在终端使用以下命令在 Ubuntu 上安装 Vim:

sudo apt install vim

这很简单,对吗?这种方法的主要问题是,你不会得到最新的 Vim 版本。

你可以用以下命令检查已安装的 Vim 版本:

vim --version

而如果你查看 Vim 网站,你会发现 Vim 已经发布了更新的版本。

在写这篇文章的时候,Vim 9.0 已经发布,但在 Ubuntu 仓库中还没有。

好消息是,你可以使用一个 非官方的,但积极维护的 PPA 安装最新的 Vim。

使用 PPA 在 Ubuntu 上安装 Vim 9

如果你有特定的 Vim 配置文件,为它们做个备份也无妨。

现在,要安装最新的 Vim 版本,先添加 PPA 仓库:

sudo add-apt-repository ppa:jonathonf/vim

Adding the PPA to get the latest Vim version

你不需要在 Ubuntu 上更新软件包缓存,但其他发行版如 Mint 可能仍然需要:

sudo apt update

现在,使用下面的命令来安装 PPA 提供的最新 Vim 版本:

sudo apt install vim

如果你已经安装了一个较早的 Vim 版本,它将被升级。你可以用以下方法检查已安装的 Vim 版本:

vim --version

Checking installed Vim version

这是一个维护得非常好的 PPA,适用于所有活跃的 Ubuntu 版本。

如果你是 PPA 的新手,我有一个关于这个主题的详细指南。你应该阅读以对 Ubuntu 中 PPA 的概念 了解更多。

降级或删除

如果你想回到 Ubuntu 提供的旧版 Vim,你应该删除现有的版本,删除 PPA 并重新安装它。

在删除 Vim 之前,如果你做了自定义修改并打算再次使用 Vim,你应该复制 vimrc 或其他类似的配置文件。

那么,打开一个终端,使用以下命令:

sudo apt remove vim

现在删除 PPA,否则你会再次得到最新的 Vim(如果你尝试安装旧版本的 Vim):

sudo add-apt-repository -r ppa:jonathonf/vim

现在,如果你想要旧的、官方的 Ubuntu 版本的 Vim,只需再次 使用 apt 命令 安装它。

享受 Ubuntu 上的 Vim 吧。


via: https://itsfoss.com/install-latest-vim-ubuntu/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在这份指南中,我们将看到 Dockerfile 的简要介绍以及如何在 Linux 中使用 Dockerfile 来自动的 创建自定义 Docker 镜像

什么是 Dockerfile ?

Dockerfile 是附有构建 Docker 镜像说明的易于理解的文本文件。它囊括了用户在创建镜像时可以调用的所有命令。

我们可以使用 Dockerfile 创建自定义的镜像。可以通过 Docker Hub 分享的自定义 Docker 镜像。

如果你还不知道,Docker Hub 是 Docker 提供的托管存储库服务,用于团队查找和共享容器镜像,当然世界上任何人也都可以访问。

想象一下,早期如果我们想用 Nginx,我们要通过很多步骤,才能安装和配置好 Nginx 。得益于 Docker Hub ,现在我们可以在几分钟内,下载并运行 Nginx 的预置容器镜像。

Nginx Docker Image In Dockerhub

运行如下命令从 Docker Hub 上拉取 Nginx 镜像:

# docker pull nginx

一旦我们拉取了 Docker 镜像,可以运行如下命令使用它:

# docker run -it -d -p 8080:8080 nginx

就这样,十分简单!

参考下方链接,了解更多使用 Docker 的方式:

Docker Hub 上有超过十万个来自软件供应商、开源项目以及社区的容器镜像。

你可以从 Docker Hub 上下载你选择的镜像,并且使用上面的命令开始使用它。

理解 Dockerfile 格式

Docker 可以读取 Dockerfile 中的 指令 来自动的创建镜像。

典型的 Dockerfile 包含如下指令:

1、FROM —— 这会设置容器的基础镜像。

例如:

FROM ubuntu:22.04

这会将容器的基础镜像设置为 Ubuntu 。如果 ‘22.04’ 这个标志没有特别指明,则会设为最新版本(latest)。

2、LABEL —— 这是用来明确镜像的元数据信息的键值对。

例如:

LABEL ENV=“DEVELOPMENT”

3、RUN —— 这会在基础镜像中执行指令并创建一个新层。

例如:

RUN apt-get update
RUN apt-get install tomcat

4、CMD —— 这用来设置容器启动后先执行的命令。

例如:

CMD ["java", "-jar", "app.jar"]

5、EXPOSE —— 设置用于访问容器的端口。容器将会监听该端口。我们可以用来获得输出。

例如:

EXPOSE 8080

6、`MAINTAINER —— 显示创建镜像作者的信息。

例如:

MAINTAINER [email protected]

7、ENV —— 用来设置环境变量的键值对。这些变量在镜像创建的时候设置,并在容器创建好后可以使用。

例如:

ENV DB_NAME=”MySQL”
ENV DB_VERSION=”8.0”

8、COPY —— 用来拷贝本地文件至容器中。

例如:

COPY /target/devops.jar devops.jar

9、ADD —— 具有与拷贝相同的功能,不过更进一步还可以提取本地的 tar 文件或者从 URL 拷贝文件。

例如:

ADD devops.tar.xz / .
ADD http://example.com/abc.git /usr/local/devops/

10、ENTRYPOINT —— 用来设置镜像的主要命令。与 CMD 指令功能相同。不同的是 ENTRYPOINT 中的指令不会被重写。

例如:

ENTRYPOINT ["java", "-jar", "app.jar"]

11、VOLUME —— 该指令用来创建指定位置的挂载点。

例如:

VOLUME /app/devops

12、USER —— 将设置运行镜像并使用的用户名称以及用户组。

例如:

USER dhruv
USER admin

13、WORKDIR —— 这会设置工作目录。如果目录不存在,则会创建。

例如:

WORKDIR /var/lib/

这是一个 Dockerfile 的样本,可以参考一下:

FROM ubuntu:latest
MAINTAINER Senthilkumar Palani "[email protected]"
RUN apt-get install -y software-properties-common python
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ jammy universe" >>
/etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nodejs
RUN mkdir /var/www
ADD app.js /var/www/app.js
CMD ["/usr/bin/node", "/var/www/app.js"]

我将向你展示创建一个 Dockerfile 、创建并使用镜像的简单例子。

创建一个 Dockerfile

创建一个名为 dockerfile 的文件:

# nano dockerfile

添加下面几行命令。我们将更新并安装 vimcurl 包:

FROM alpine

RUN apk update
RUN apk add vim
RUN apk add curl

Dockerfile For Alpine Linux

按下 CTRL+OCTRL+X 键保存文件并关闭。

现在 Dockerfile 已经就位。让我们继续,用该 Dockerfile 创建一个镜像。

注意: 如果你在使用 Docker 桌面版,你可以以一个普通用户运行 docker 命令。

使用 Dockerfile 创建 Docker 镜像

只需运行以下命令,便可以使用 Dockerfile 创建 Docker 镜像:

# docker build -t alpine .

请注意最后有一个 .)。

输出示例:

[+] Building 51.2s (8/8) FINISHED                                               
 => [internal] load build definition from Dockerfile                       0.1s
 => => transferring dockerfile: 104B                                       0.0s
 => [internal] load .dockerignore                                          0.1s
 => => transferring context: 2B                                            0.0s
 => [internal] load metadata for docker.io/library/alpine:latest          38.8s
 => [1/4] FROM docker.io/library/alpine@sha256:7580ece7963bfa863801466c0a  2.7s
 => => resolve docker.io/library/alpine@sha256:7580ece7963bfa863801466c0a  0.0s
 => => sha256:d7d3d98c851ff3a95dbcb70ce09d186c9aaf7e25d48 1.47kB / 1.47kB  0.0s
 => => sha256:530afca65e2ea04227630ae746e0c85b2bd1a179379 2.80MB / 2.80MB  2.4s
 => => sha256:7580ece7963bfa863801466c0a488f11c86f85d9988 1.64kB / 1.64kB  0.0s
 => => sha256:9b2a28eb47540823042a2ba401386845089bb7b62a9637d 528B / 528B  0.0s
 => => extracting sha256:530afca65e2ea04227630ae746e0c85b2bd1a179379cbf2b  0.2s
 => [2/4] RUN apk update                                                   4.3s
 => [3/4] RUN apk add vim                                                  3.5s
 => [4/4] RUN apk add curl                                                 1.3s 
 => exporting to image                                                     0.4s 
 => => exporting layers                                                    0.4s 
 => => writing image sha256:14231deceb6e8e6105d2e551799ff174c184e8d9be8af  0.0s 
 => => naming to docker.io/library/alpine                                  0.0s 
                                                                                
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

按照上面的命令, Docker 会通过保存在当前工作目录中的 Dockerfile 中的命令开始自动的创建镜像。还记得我们在 Dockerfile 中保存的 apk updateapk add vimapk add curl 命令吗?这些命令也将会自动的执行。

如果 Dockerfile 保存在其他目录,你可以使用 -f 标志来指定路径,例如:

# docker build -f /path/to/a/Dockerfile .

创建好镜像后,我们可以使用如下命令运行它:

# docker run -it alpine

该命令会启动这个 Alpine 容器并连接到它。

/ # uname -a
Linux 8890fec82de8 5.10.104-linuxkit #1 SMP Thu Mar 17 17:08:06 UTC 2022 x86_64 Linux
/ # cat /etc/alpine-release 
3.16.1
/ #

如果你使用 Docker 桌面版,你可以通过 容器 Containers 标签页界面来查看运行中的容器。

View Containers In Docker Desktop

这就是使用 Dockerfile 构建自定义容器映像的方式。

我们仅仅讲了基础内容。你可以用 Dockerfile 做到很多东西。建议你参考一下官方 Dockerfile 参考 ,以了解更多内容。


via: https://ostechnix.com/a-brief-introduction-to-dockerfile/

作者:sk 选题:lkxed 译者:Donkey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如何 在命令行中更新你的 Ubuntu 系统?你可以使用 apt update(刷新包缓存)和 apt upgrade 命令。

sudo apt update && sudo apt upgrade

它会更新所有可以立即升级的已安装 apt 包。这也包括 Linux 内核版本。

这似乎是一件好事,尤其是对于桌面用户。但对于运行关键 Web 服务的 Ubuntu 服务器用户而言,情况可能并非如此。

如果你想对更新有选择性,并且只想升级单个软件包,请使用以下命令:

sudo apt install --only-upgrade package_name

让我们更详细地了解一下。

使用 apt 命令升级单个包

第一步是更新本地包仓库缓存,以便你的系统知道有新版本的软件包可用。

sudo apt update

这是可选的。查看一下你要升级的软件包是否在 可升级软件包列表 中。

apt list --upgradable

如果所需的软件包有可用的新版本,你可以选择使用以下命令仅升级该单个软件包:

sudo apt install --only-upgrade package_name

如果你对已安装的软件包运行 apt install 命令,它将升级到下一个可用版本。

但如果该软件包尚未安装,apt 命令也会安装它。

这就是为什么 --only-upgrade 部分是必要的。使用该选项,apt 命令只会升级已安装的软件包。如果尚未安装,它将不会安装该软件包。

这不是最适合 Ubuntu 服务器用户的示例,但你仍然可以在下面的截图中看到我如何只升级了七个可升级包中的一个。

Update only a single package in Ubuntu

仅升级选定的软件包

如果要升级选定的几个软件包,那么不必一一更新。只需使用前面提到的命令提供包名称。

sudo apt install --only-upgrade package1 package2 package3

这是一个例子。

Upgrade selected packages in Ubuntu

总结

当你面临必须升级选定软件包的情况时,你可以使用带有 –only-upgrade 选项的 apt install 命令。

我建议阅读 如何更有效地使用 apt 命令


via: https://itsfoss.com/apt-upgrade-single-package/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们总结了 Linux Mint 21 “Vanessa” 的 10 大特色,你可以看看有哪些是为你而准备的。

Linux Mint 21 “Vanessa” 是 Linux Mint 的第 36 个发布版本,它带来了一系列特色,以及对桌面上的有用改善。这些特色散落在 Cinnamon 桌面、内核变化、Xapps 更新等处。

我在这份 Linux Mint 21 的重要特色列表对它们做了个总结。

Linux Mint 21 “Vanessa” 的重要特色

Linux Mint 21 Cinnamon Desktop

1、Ubuntu 22.04 及其相关更新

也许最重要的变化就是 Linux Mint 21 的基础了,它现在基于 Ubuntu 22.04 “Jammy Jellyfish” 。上一次的主要版本,即 Linux Mint 20 “Ulyana” ,是基于四年前发布的 Ubuntu 20.04 “Focal Fossa” 。沧海桑田,现在与 2020 年的世界已然完全不同。

因此,大量的软件包、版本升级、新的性能改善 —— 所有的这些底层更新都来到了 Linux Mint 21 。这包括最新的长期支持的 Linux 内核 5.15 ,这带来了更多硬件系列的支持、以及针对编程、开发和网络的工具链的更新。

2、Timeshift 备份工具的重大变化

几个月前,Mint 开发团队 宣布 :他们将接管著名的备份工具 Timeshift,并将其作为一个 “XApps” 继续开发。这是一个重大变化。你可能会问为什么?

好吧,Timeshift 工具的开发者 Tony George 正忙于其它的项目。你可能听说过 Linux 的 “TeeJeeTech” 应用。它是由 Tony 创建的,并且有一些很酷的应用。因此,他没有足够多的时间来专注于 Timeshift 的开发和改进。

Timeshift creating snapshot

说到这里,由于 Linux Mint 现在在维护它,这个发布版本带来了一些新的功能,例如,在 rsync 模式(不是 btrfs 模式)时,现在 Timeshift 可以确定进行下一次备份需要多少磁盘空间。此外,如果它看到磁盘空间在备份后小于 1 GB ,会停止备份过程。

3、WebP 支持

WebP 图像是谷歌为 Web 创建的一种相当新的图像格式。它带来了更好的压缩率,在保持与传统的 JPEG 和 PNG 图片相当的良好质量的同时,减少了文件大小。

在 Linux 桌面支持 WebP(如查看图像、缩略图或编辑)需要 额外安装 一些软件包。考虑到其流行程度,Linux Mint 开发团队为桌面应用及这个衍生发行版带来了开箱即用的 WebP 支持。

这意味着,在 Nemo 文件管理器中可以显示 WebP 图像的缩略图,并可以在 xviewer 中查看它们。Mint 开发团队总是优先考虑到最终用户,而诸如 Ubuntu 之类的其它发行版在默认支持 WebP 方面仍然落后。不仅如此,新的应用程序 xapp-thumbnailers 现在还能帮助 Nemo 文件管理器预览更多的文件类型,如:

  • ePub
  • 带有专辑封面的 MP3
  • RAW 图像
  • AppImage

4、进程监视器

一个名称为 进程监视器 process monitor 的小巧方便的工具,将会告知你系统中正在发生什么。当你的系统正在自动更新或通过 Timeshift 备份时,系统托盘上的这个小图标就会显示出来。在这些情况下,你的系统可能会变慢,而这个漂亮的图标可以告诉你原因。

5、改善打印支持

Linux Mint 针对硬件设备配置了各种驱动程序,默认情况下就支持打印机。这个版本的 Mint 带来 网络打印协议 Internet Printing Protocol (IPP)支持,可以免驱动进行打印和扫描。

另外,它也默认安装了 HP 的驱动程序 HPLIP 的最新版本 3.21.12 。

所有的这些变化都简化了打印机和扫描仪的使用,而像你这样的最终用户可以轻松地打印和扫描。这是一个 Linux 发行版的一个重要的方面,但并不是总是能顺利工作的。在 点评过很多发行版 后,我发现很多发行版无法检测到打印机,乃至不能打印。

很高兴看到 Mint 开发团队对这个关键功能做出了贡献。

6、窗口动画更新

窗口和桌面动画效果有一些相当大的变化。首先,合并了窗口和桌面的效果设置。先前,是在不同的部分对动画进行细微的控制。

这里是对比视图:

其次,取消了映射窗口和桌面效果选项。

第三,带来一个新的控件,用于更改整体动画的快慢速度。

最后,还有一个可以禁用或启用在整个桌面上的所有动画的全局开关,给予你更多的控制选项。

我相信这是一个经过精心设计的、可以让人更清楚地了解的对话框和高级选项。

7、Mutter 重新构建

让我们来看一下随 Linux Mint 21 而来的 Cinnamon 桌面环境版本 5.4。它是最新的 Cinnamon 发布版本,Mint 是第一个将其带给用户的的发行版(除了传统的 Arch Linux 用户,他们得到它 有点超早)。

最后,开发团队对 Cinnamon 5.4 中的窗口管理器 Muffin 根据上游的 Mutter 进行了重新构建。由于 Muffin 最初是从 Mutter 复刻出来的,所以它总是落后于上游的 Mutter 的功能,即使是有一些后期移植的改变。为使 Muffin 尽可能地接近 Mutter 代码库,团队在包含的特色功能、错误修复及清理方面付出了大量的努力。

因此,在未来,更容易从 Mutter 上游移植变化和在需要的时候清理 Muffin。

8、窗口管理器和 GTK 主题

伴随着 Muffin 的变化,开发团队也将 GNOME 控制中心的一些显示设置移动到了 Cinnamon 控制中心。此外,在 Cinnamon 5.4 中,来自 csd-xrandr 的显示配置移动到了 Muffin 窗口管理器中。显然,你不会在显示设置窗口中看到什么不同。不过,在缩放显示或在高分辨率窗口中时,你可能会发现一些性能的提升,以及错误或问题更少一些。

Mint 开发团队在 Cinnamon 5.4 引入的另外一个关键变化是,在应用程序中实现 GTK 窗口的统一渲染。先前,如果一个 GTK 应用程序使用了标题栏,那么对话框会是一个 CSD (客户端样式)和 GTK 主题的混合体.

现在随着 Cinnamon 5.4 的到来,所有的窗口都使用 GTK 主题进行渲染,而不再与它们的设计相关联。于是,传统的 Metacity 主题也被抛弃。

顺便说一句,我喜欢 Metacity 及其 “传统外观”,它们是 GNOME 的早期 产物

9、软件包管理器更新

跟随 Debian、KDE Plasma 桌面的趋势,Linux Mint 也开始保护你的系统不会卸载重要的依赖关系软件包。

当你尝试卸载软件包时,Mint 现在会检查依赖关系,并检查重要的桌面软件包是否将会被移除。

如果发现这种情况,你将会得到一条阻止你继续卸载软件包的错误信息。

在另一方面,当成功地卸载一个软件包时,它会清理所有与之同时安装的依赖软件包。

10、禁用 systemd OOMD 服务

自从 Ubuntu 22.04 LTS 发布以来,有一些对内存不足守护进程(systemd-oomd)不好的反馈。网上的很多用户都 报告 说:在没有任何警告或用户干预的情况下,会突然关闭应用程序(例如 Firefox)。进一步的调查表明,systemd-oomd 的实现情况“不是很好”。

理论上说,systemd-oomd.service 会监视你的系统的内存不足的情况,并且它有权杀死任何多过消耗系统资源的进程。Ubuntu 开发团队并没有和用户强调这一点,最后导致了不愉快的用户的体验。

基于这一认识,Linux Mint 21 决定 不提供 这种服务,禁用它。因为 Linux Mint 的用户群体是普通用户、学生等,如果应用程序意外关闭,对用户来说将是一种不好的体验。

Systemd OOMD service is not enabled

11、其它变化

最后,让我们归纳一些微小却有影响的变化来结束这篇 Linux Mint 21 特色介绍。

  • 默认的文档阅读器应用程序 Xreader 现在能够进行微小注释。这是一个很方便的功能。
  • WebApp 管理器现在带来了一些自定义的浏览器参数。
  • Warpinator 文件传输器实用工具现在可以向你显示来自 Windows 、Android 和 iOS 设备上的其它的源文件。
  • Mint 将 Firefox 浏览器打包为 .deb 版本,而不是 Ubuntu 22.04 LTS 中的默认 .Snap 版本。感谢 Mint 开发团队,用户不必为卸载 Jammy 中的 Firefox 的 .Snap 版本的而运行 一套复杂的命令

Firefox 102 in Linux Mint 21 – Exclusively packaged as deb executable

  • 批量重命名应用程序 Thingy 在用户界面上做了一些改善。
  • GRUB2 的操作系统检测程序(os-prober)现在能够检测出你的硬件系统上所有的操作系统(对双启动或多启动有用)。
  • 蓝牙管理器 Blueman 取代了 Blueberry ,为连接和管理你的蓝牙设备带来了其它的功能。
  • 最后,在这个发布版本中也有为你的新桌面而准备的新壁纸。

New Wallpapers in Linux Mint 21

没有变化的部分

从表明上来看,你可能会觉着 Linux Mint 21 的绝大部分功能与先前的版本相同。默认桌面外观和默认壁纸保持不变。Xfce 和 MATE 桌面也没有发布任何重要的功能。因此,它们是完全一样的。此外,默认图标主题、应用程序菜单等等都可能会给你一种似曾相识的感觉。

总结

总体来说,最终用户需要的是一套完好的特色功能,而不是花哨的手势之类的东西。鉴于此,对初学者或最终用户来说,Linux Mint 是当今最好的 Linux 发行版。至此,这篇 Linux Mint 21 特色的总结就此结束了。

你认为 Linux mint 21 的新特色怎么样?在这个发布版本中,是否有一些你所求而未得的特色?让我们在下面的评论区讨论这个问题。


via: https://www.debugpoint.com/linux-mint-21-features/

作者:Arindam 选题:lkxed 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出