Kile：来自 KDE 的交互式跨平台 LaTeX 编辑器

Nano

Markdown越来越不满足我的需求了(支持的格式太少，各编辑器又各自为政，支持的语法又有些不同)，试试LaTeX。

# Kile：来自 KDE 的交互式跨平台 LaTeX 编辑器

>
> Kile 是 Linux 上最好的 LaTeX 编辑器之一，来自 KDE。让我们来看一看它提供了什么？
>
>
>

你可以用 TeX/LaTeX 编辑器处理各种文件。不仅仅限于科学研究，你还可以添加你的代码、开始写书（学术/创作）、或者起草文章。

如果你经常处理 LaTeX 文档，一个具有预览选项和若干功能的交互式解决方案应该会很方便。

Kile 是 KDE 提供选择之一，可用于 Linux 和其他平台。事实上，它是 [可用于 Linux 的最佳 LaTeX 编辑器](https://itsfoss.com/latex-editors-linux/) 之一，我们决定重点介绍一下它。

### 一个开源的集成 LaTeX 编辑器

Kile 可能不是最受欢迎的选择，但它确实因其提供的东西而脱颖而出。

如果你正在寻找一个简单的 LaTeX 编辑器，它可能不是完美的选择。然而，它尽力为你提供友好的体验，同时从一开始就为你提供指导。

让我重点强调以下特点。

### Kile 的特点

正如我提到的，Kile 是一个功能丰富的 LaTeX 编辑器。如果你是 TeX/LaTeX 文档的新手，它可能会让你不知所措，但它仍然值得探索。

其主要特性包括：

* 设置向导可以轻松开始使用 LaTeX 编辑器。
* 可用的模板可以节省文件大纲的时间。
* 自动完成 LaTeX 命令。
* 在不离开窗口的情况下，一键编译和预览你的文档。
* 上百种预设模式来定义文档的类型（JSON、R 文档、VHDL、HTML 等）。
* 日志查看器。
* 转换文档的能力。
* 添加/删除和转换 PDF 文件的 PDF 向导工具。
* 反向和正向搜索功能。
* 创建项目以组织文件集合。
* 大量的 LaTeX 选项，无需键入任何东西即可添加所需的命令（如创建一个列表，添加一个数学函数等）。
* 在各章或各节中轻松导航。
* 使用小窗口预览浏览整个文件（如果文件太大需要滚动）。

除了这些，你还可以配置外观，调整键盘快捷键，找到各种编码支持等。

此外，设置向导（以及应用内的其他向导）的存在使用户体验变得轻而易举。

例如，以下是你第一次启动该应用时：

它将检查任何配置问题，帮助你确保无缝体验。

设置完成后，它将迅速提示你可用的模板，让你开始：

因此，指导性的设置和上述所有的功能应该构成一个出色的 LaTeX 编辑体验。

### 在 Linux 中安装 Kile

你应该可以在默认的 Linux 仓库和软件中心找到 Kile。对于 KDE，你应该看到它被列在“发现”中。

不幸的是，它不提供 Flatpak 或 Snap 包。所以，你将不得不依靠从仓库中获得的标准软件包。

如果你依赖终端（基于 Ubuntu），你可以输入以下命令安装：

```
sudo apt install kile

```

对于 Windows 用户，你可以在 [微软商店](https://www.microsoft.com/en-in/p/kile/9pmbng78pfk3?rtc=1&activetab=pivot:overviewtab) 中找到它。

如果你感到好奇，你可以查看 [源代码](https://invent.kde.org/office/kile) 或访问官方网站。

* [Kile](https://apps.kde.org/kile/)

### 总结

作为一个 LaTeX 用户，你应该发现所有这些选项对高效的编辑经体验都很有用。如果你是 TeX/LaTeX 文档的新手，你仍然可以使用它的模板、快速函数、自动完成功能，使体验变得简单。

你最喜欢的 LaTeX 文档编辑器是什么？欢迎在下面的评论中告诉我。

---

via: <https://itsfoss.com/kile/>

作者：[Ankush Das](https://itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Perl 语言基础入门

Summary: 下载这份编程速查表，开始学习 Perl 的力量。

做为系统和软件依赖而安装的语言(比如python, lua...)，多多少少都用过，唯独perl还真一次都没试过。

下载这份编程速查表，开始学习 Perl 的力量。

# Perl 语言基础入门

>
> 下载这份编程速查表，开始学习 Perl 的力量。
>
>
>

<img src="content_image/album_202202_22_171233dlrpnjj09jz0tz0n.jpg" alt="" title="Woman sitting in front of her computer">

Perl 发布于 1988 年初，是一种后现代的编程语言，它通常被认为是一种脚本语言，但它也能进行面向对象的编程。它是一种成熟的语言，拥有 [数以万计的库](http://cpan.org/)、GUI 框架，它有一种叫做 Raku 的衍生语言（即 Perl 6），以及一个活跃而热情的社区。它的开发者以其灵活性为荣。根据它的创造者 Larry Wall 的说法，Perl 并不对它的用户强加任何特定的编程风格，而且有不止一种方法来完成大多数事情。

Perl 非常健壮，它曾经被广泛使用，这使它成为新的程序员可以尝试的伟大语言。

* [下载 Perl 速查表](https://opensource.com/downloads/perl-cheat-sheet)

### Perl 基础知识

在 Linux 和 macOS 上，你已经安装了 Perl。在 Windows 上，请从 [Perl 网站](https://www.perl.org/get.html) 下载并安装它。

#### Perl 表达式

Perl 源代码的基本单位是 *表达式*，它是任何能返回一个 *值* 的东西。

例如，`1` 是一个表达式，它返回 `1` 的值。表达式 `2` 返回 `2` 的值，而 `a` 返回字母 `a`。

表达式可以更复杂。表达式 `$a + $b` 包含变量（数据的占位符）和加号（`+`），它是一个数学运算符。

#### Perl 语句

Perl 语句是由表达式组成的。每个语句都以分号（`;`）结束。

比如说：

```
$c = $a + $b;

```

要尝试运行你自己的 Perl 语句，请打开终端并输入：

```
$ perl -e 'print ("Hello Perl\n");'

```

#### Perl 语句块

Perl 语句块可以用大括号（`{ }`）组合起来。块是一种有用的组织工具，但它们也为那些你可能只需要在程序的一小部分使用的数据提供了 *范围*。Python 用空白定义范围，LISP 用小括号，而 C 和 Java 用大括号。

#### 变量

变量是数据的占位符。人类每天都在使用变量而没有意识到它。例如，“它”这个词可以指代任何名词，所以我们把它作为一个方便的占位符。“找到我的手机并把它拿给我”实际上是指“找到我的手机并把我的手机拿给我。”

对于计算机来说，变量不是一种便利，而是一种必需品。变量是计算机识别和跟踪数据的方式。

在 Perl 中，你通过声明一个变量名称和它的内容来创建变量。

在 Perl 中，变量名称前面总是有一个美元符号（`$`）。

这些简单的语句创建了一个包含 `"Hello"` 和 `"Perl"` 字符串的变量 `$var`，然后将该变量的内容打印到终端：

```
$ perl -e '$var = "hello perl"; print ("$var\n");'

```

#### 流程控制

大多数程序需要做出决定，这些选择由条件语句和循环来定义和控制。`if` 语句是最直观的一种。Perl 可以测试一个特定的条件，然后 Perl 根据这个条件决定程序如何进行。其语法类似于 C 或 Java：

```
my $var = 1;

if ($var == 1) {
  print("Hello Perl\n");
}
elsif ($var == 0){
  print("1 not found");
}
else {
  print("Good-bye");
}

```

Perl 也有一个简短的 `if` 语句的形式：

```
$var = 1;

print("Hello Perl\n") if ($var == 1);

```

#### 函数和子程序

尽可能多地重复使用代码是一种有益的编程习惯。这种做法可以减少错误（或将错误合并到一个代码块中，因此你只需修复一次），使你的程序更容易维护，简化你的程序逻辑，并使其他开发者更容易理解它。

在 Perl 中，你可以创建一个 *子程序*，它接受输入（存储在一个特殊的数组变量 `@_` 中）并可能返回一个输出。你可以使用关键字 `sub` 来创建一个子程序，后面跟一个你选择的子程序名称，然后是代码块：

```
#!/usr/bin/env perl

use strict;
use warnings;

sub sum {
  my $total = 0;

  for my $i(@_){
    $total += $i;
  }

  return($total);
}

print &sum(1,2), "\n";

```

当然，Perl 有许多子程序，你不必自己去创建。有些是内置于 Perl 中的，而社区库则提供了其他的。

### 用 Perl 编写脚本

Perl 可以被编译，也可以作为一种解释型的脚本语言使用。后者是刚入门时最简单的选择，特别是如果你已经熟悉了 Python 或 [shell 脚本](https://opensource.com/article/20/4/bash-programming-guide)。

这里有一个用 Perl 编写的简单的掷骰子脚本。把它读一遍，看看你是否能跟上它。

```
#!/usr/bin/env perl

use warnings;
use strict;
use utf8;
binmode STDOUT, ":encoding(UTF-8)";
binmode STDERR, ":encoding(UTF-8)";

my $sides = shift or
  die "\nYou must provide a number of sides for the dice.\n";

sub roller {
    my ($s) = @_;

    my $roll = int(rand($s));
    print $roll+1, "\n";
}

roller($sides);

```

第一行告诉你的 [POSIX](https://opensource.com/article/19/7/what-posix-richard-stallman-explains) 终端要使用什么可执行文件来运行该脚本。

接下来的五行是模板式的包含内容和设置。`use warnings` 的设置告诉 Perl 检查错误，并在终端对它发现的问题发出警告。`use strict` 设置告诉 Perl 在发现错误时不要运行脚本。

这两个设置都可以帮助你在代码中的错误导致问题之前发现它们，所以通常最好在你的脚本中激活它们。

脚本的主要部分开始于对脚本从终端启动时提供给它的 [参数](https://opensource.com/article/21/8/linux-terminal) 进行分析。在这种情况下，预期的参数是一个虚拟骰子的所需的面的数量。Perl 将其视为一个堆栈，并使用 `shift` 函数将其分配给变量 `$sides`。当没有提供参数时，`die` 函数会被触发。

用 `sub` 关键字创建的 `roller` 子程序（或函数），使用 Perl 的 `rand` 函数生成一个伪随机数，最大不超过参数的数字。这意味着在这个程序中，一个 6 面的骰子不可能掷出 6，但它可以掷出 0。这对计算机和程序员来说是没有问题的，但对大多数用户来说，这是令人困惑的，所以它可以被视为一个 bug。为了在这个 bug 成为问题之前解决它，下一行在随机数上加 1，并将结果作为掷骰子的结果打印出来。

当引用传递给子程序的参数时，你引用的是特殊变量 `@_`，它是一个数组，包含了函数调用时括号内的所有内容。然而，当从数组中提取一个值时，数据被转换成一个标量（例子中的 `$s` 变量）。

子程序在被调用之前不会运行，所以脚本的最后一行调用了自定义的 `roller` 函数，将命令的参数作为函数的参数。

将该文件保存为 `dice.pl`，并标记为可执行：

```
$ chmod +x dice.pl

```

最后，尝试运行它，为它提供一个最大的数字，从中选择其随机数：

```
$ ./dice.pl 20
1
$ ./dice.lisp 20
7
$ ./dice.lisp 20
20

```

没问题！

### Perl 速查表

Perl 是一种有趣而强大的语言。尽管自从 Perl 成为默认的脚本语言后，Python、Ruby 和 Go 等新兴语言引起了许多人的注意，但 Perl 的功能并不弱。事实上，它比以往任何时候都要好，而且前途光明。

下次你想找一种更灵活的语言，并有简单的交付方式时，不妨试试 Perl，并[下载这个速查表](https://opensource.com/downloads/perl-cheat-sheet)！

---

via: <https://opensource.com/article/22/2/perl-cheat-sheet>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #555 以太坊创始人说，加密货币冬天将受到顶级开发者的欢迎

Summary: 更多：• 时隔五年后，FreeDOS 1.3 释出 • Linux 内核中获取随机字节的函数的性能提升了 8450%

8450%，太离谱了吧。这下应该不会遇到随机数不足的情况了吧。

# 硬核观察 #555 以太坊创始人说，加密货币冬天将受到顶级开发者的欢迎

### 以太坊创始人说，加密货币冬天将受到顶级开发者的欢迎

最近几周，加密货币与股票一起下跌。以太坊创始人 [Vitalik 说](https://markets.businessinsider.com/news/currencies/crypto-winter-ethereum-bitcoin-blockchain-technology-markets-investors-price-developers-2022-2)，“那些深入研究加密货币的人，尤其是建造东西的人，很多人都欢迎熊市”。因为这种下滑可以清理掉不太可行的项目。他认为，价格下跌将好奇的人与严肃的人分开。这就是为什么“加密货币的冬天” —— 当价格不断崩溃并在很长一段时间内无法恢复 —— 可以被视为一个积极的因素，你可以看到哪些项目实际上是长期可持续的。但是，另外一方面，一些将毕生积蓄投入加密货币的人在下跌后承受了巨大的精神压力。

>
> 老王点评：对于那些不喜欢加密货币的人，是不是也乐于见到这种局面？
>
>
>

### 时隔五年后，FreeDOS 1.3 释出

MS-DOS 的开源替代品 FreeDOS 正式发布了 [1.3 版](https://sourceforge.net/p/freedos/news/2022/02/freedos-13/)。其主要变化包括：新的命令行解释器 FreeCOM、新的内核、支持 FAT32，软盘版本使用了压缩减少了一半容量需求，再次支持网络，新的程序和游戏，软件包更新等等。最简安装需要 20MB、包括游戏和应用的完整安装需要 275MB。FreeDOS 项目发起于 1994 年，2006 年才发布了 1.0 正式版，2012 年发布了 1.1 版本，2016 年底发布了 1.2 版本。

>
> 老王点评：虽然应用场景和受众很少，但这是一种选择的自由。
>
>
>

### Linux 内核中获取随机字节的函数的性能提升了 8450%

操作系统内核中的随机数是很多基础功能的基石，因此人们一方面在改进其随机性，另外一方面也在不断改进其性能。在 Linux 5.17 中替换了 SHA1 算法改进了安全性和性能，而在 5.18 中还将继续改进。最令人兴奋的是，在新的改进中，获取随机字节的 `getrandom()` 调用的性能 [提升了 8450%](https://www.phoronix.com/scan.php?page=news_item&px=Linux-getrandom-8450p)，即 85 倍多。这主要得益于“在每 CPU 密钥上使用更简单的快速密钥擦除流”。受此影响，最显著的收益将出现在高核心数的服务器上和台式机上。

>
> 老王点评：或许你不理解其中的技术细节，那就一句话，快就是了。
>
>
>


LibreOffice 支持无障碍辅助的 5 种方式

一把丢去收藏夹吃灰

来自广东佛山的 Chrome Mobile 75.0|Android 10 用户

如果要替代MS Office、WPS，LibreOffice是个不错的选择，毕竟就算和MS Ofiice格式有些不兼容，但都在内部使用，问题不大。

但LibreOffice最致命的是，PDF渲染出来的样式是乱的，这太离谱了，其它特别小众的pdf阅读器都没出现过这种问题。

来自四川南充的 Chrome Mobile 83.0|Android 11 用户

# LibreOffice 支持无障碍辅助的 5 种方式

>
> 试试 LibreOffice 中的这些无障碍功能之一。你可能会发现更好的或替代的方式来完成日常工作。
>
>
>

[LibreOffice.org](http://LibreOffice.org) 是我首选的生产力套件，我在过去已经介绍了我如何将它作为一个 [图形化办公套件](https://opensource.com/article/21/9/libreoffice-tips) 以及 [终端命令](https://opensource.com/article/21/3/libreoffice-command-line) 使用。

在这篇文章中，我想着重介绍 LibreOffice 如何支持使用无障碍辅助技术的人。

### 鼠标

鼠标是一项重要的发明，但它并不是对每个人都同样有效。例如，那些不能在屏幕上看到鼠标指针的人，或者不能在他们的桌子上实际操作鼠标的人，从鼠标中获益不多。

为了考虑到人们与电脑互动方式的不同，你可以在没有鼠标的情况下使用 LibreOffice。与应用中的大多数无障碍功能一样，这个功能对任何人都有帮助。即使你自己是一个鼠标用户，有时你也不想把你的手从键盘上移开。能够在“打字模式”下触发特定的 LibreOffice 动作，对于忙碌的打字员来说真的很方便。

你可以使用 `Alt` 键和菜单名称中的一个触发字母来打开 LibreOffice 主菜单中的每一个项目。在默认情况下，你不会看到这些触发字母，但当你按下 `Alt` 键时，它们就会出现。

要打开<ruby> 文件 <rt>  File </rt></ruby>菜单，按住 `ALT+F`。要打开<ruby> 格式 <rt>  Format </rt></ruby>菜单，按住 `ALT+O`。当菜单被打开后，你就可以释放按键。

在你打开一个菜单后，该菜单中的每个项目都有一个触发字母，或者你可以使用键盘上的**箭头**键导航到该项目并按下**回车**。

要关闭一个菜单而不做任何事情，按 `Esc` 键。

### 不用鼠标就能改变一个字体

LibreOffice 界面中的所有东西都可以从菜单中获得，即使你认为它只是工具栏中的一个元素。例如，你通常可能会将鼠标移动到格式化工具栏来改变字体，但你也可以通过选择文本，然后打开<ruby> 格式 <rt>  Format </rt></ruby>菜单并选择<ruby> 字符 <rt>  Character </rt></ruby>来打开字符对话框来改变字体。你可以使用 `Tab`、**箭头** 和 **回车** 键来浏览这个对话框。

这里需要注意的是，你可以在一个应用中使用许多不同的路径来达到同一个目标。每个场景都可能有不同的最佳路径，所以在处理任务时不要想得太线性。

### 常见的快捷方式

这里有一些 LibreOffice Writer 的快捷键：

* `F2`：公式栏
* `Ctrl+F2`：插入字段
* `F3`：自动文本
* `F5`: 打开/关闭导航
* `Shift+F5`：将光标移到上次保存文件时的位置
* `Ctrl+Shift+F5`：打开导航，进入页面
* `F7`：拼写
* `F8`：同义词

以下是电子表格的快捷键：

* `Ctrl+Home`：返回到 A1 单元格
* `Ctrl+End`：移到最后一个包含数据的单元格
* `Home`：将光标移到当前行的第一个单元格
* `End`：将光标移到当前行的最后一个单元格
* `Shift+Home`：选择从当前单元格到当前行的第一个单元格的单元格

LibreOffice 的文档非常丰富，通过按键盘上的 `Alt+H` 或 `F1` 可以很容易地获取。

### 无障碍设置

关于更多的无障碍设置，请进入<ruby> 工具 <rt>  Tools </rt></ruby>菜单，选择<ruby> 选项 <rt>  Options </rt></ruby>。在选项对话框中，在左边的栏目中展开 LibreOffice 类别，然后点击<ruby> 无障碍 <rt>  Accessibility </rt></ruby>。

选项包括：

* **在只读文本文件中使用文本选择光标**：这允许你在只读文档中移动，就像你可以编辑它一样，限制了你实际可以做的选择和复制文本。
* **允许动画图像**：不是每个人都希望在工作时在他们的文档中出现移动的图像。你可以在这里进行调整。
* **允许动画文本**：与图像一样，动画文本样式对一些人来说是有趣的，而对另一些人来说则是分散注意力或令人困惑的。

也有高对比度主题的选项。如果你在你的操作系统上使用高对比度模式，LibreOffice 会自动检测并改变它的主题来匹配。

### 键盘快捷方式

你可以通过设置自己的键盘快捷键来定制你与 LibreOffice 的交互方式。进入<ruby> 工具 <rt>  Tools </rt></ruby>菜单，选择<ruby> 自定义 <rt>  Customize </rt></ruby>（或者直接按 `Alt+T`，然后按 `C`）。

选择<ruby> 键盘 <rt>  Keyboard </rt></ruby>标签，必要时按**箭头**键或用鼠标点击它（如果你还在使用鼠标）。

### 对所有人开放

让开源的应用无障碍化有利于所有的用户。通过尝试 LibreOffice 中的无障碍功能，你可能会发现更好的或替代性的方法来完成日常任务。无论你是否“需要”该功能，无障碍功能提供了选择。试试其中的一些，因为你可能会发现你喜欢的东西。如果你有一个 LibreOffice（或任何你喜欢的开源应用）似乎没有提供的要求，在其错误跟踪系统中提交一个功能请求来让该项目知道。

---

via: <https://opensource.com/article/22/2/libreoffice-accessibility>

作者：[Don Watkins](https://opensource.com/users/don-watkins) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


一些 KDE 趣闻和历史

Summary: 当我们回顾过去，发现了一些有点“酷”的 KDE 趣闻。如下。

看到KDE1.0，就想到当年的红旗。。。。

有点意思。

整一个GNOME的历史呗，GNOME 3还fork出了Mate，进而还有了UKUI。

对1.0版本表示惊叹

当我们回顾过去，发现了一些有点“酷”的 KDE 趣闻。如下。

# 一些 KDE 趣闻和历史

>
> 当我们回顾过去，发现了一些有点“酷”的 KDE 趣闻。如下。
>
>
>

KDE 有很长的历史。它是如何被构思、发展并成为所有用户群的 “首选” 桌面的赢家的呢？在这篇文章中，我们将介绍一些你可能不知道的 KDE 的趣闻。了解一下也很有趣。

### KDE 趣闻和历史

#### 缘起

KDE 是由 [Matthias Ettrich](https://en.wikipedia.org/wiki/Matthias_Ettrich) 在 20 多年前创建的。其主要动机是创建一个易于使用的桌面，来替代 <ruby>   通用桌面环境  <rt>  Common Desktop Environment </rt></ruby>（CDE）。其背后的想法是一个简单的桌面，使用起来很有趣，易于配置且功能强大。于是，KDE（即<ruby> 酷桌面环境 <rt>  Kool Desktop Environment </rt></ruby>）就诞生了。你会注意到这是对 CDE 的双关！名字中的 “Kool” 后来被去掉了，最终变成了 “K 桌面环境”，即 KDE。

#### 第一次出现

Matthias 的 KDE 项目正式公告今天 [仍然存在](https://groups.google.com/g/de.comp.os.linux.misc/c/SDbiV3Iat_s/m/zv_D_2ctS8sJ) 在 Google 群组的 de.comp.os.linux.misc（Usenet）上。如下：

今天，当读到上面的想法，以及他对 KDE 是那么有远见，真有点超现实。就这样，KDE Plasma 今天已经渗透到了所有的设备中：笔记本电脑、台式机、游戏机、手机。这的确很了不起。

#### 第一行代码

第一行代码是由 Matthias 为窗口管理器 kwm 和面板 kpanel 写的。KDE 的 KConfig 类成为这个神奇的桌面的第一个库。

#### Qt 许可证的麻烦

在此期间，在 Usenet 论坛上，许多人反对用来开发 KDE 的 Qt 的许可证。因此，Matthias 和团队在 1997 年 2 月飞往奥斯陆，在 KDE 和 Trolltech（当时 Qt 基金会的所有者）之间签署了一份基金会协议。这保证了 [Qt 的永久免费使用](https://dot.kde.org/2016/01/13/qt-guaranteed-stay-free-and-open-%E2%80%93-legal-update)。

在最初的日子里，不管你信不信，都非常需要钱来维持开发工作的进行。团队从 O'Reilly、SUSE、Trolltech 收到了慷慨的捐赠。

#### KDE 1.0 - 第一个版本

被称为 [KDE One](https://community.kde.org/KDE_Project_History/KDE_One_(Developer_Meeting)) 的第一次开发者会议，组织于 1997 年的八、九月间，它讨论了 KDE 第一个版本的愿景、未来和路线图。而这最终在 1998 年 7 月 12 日带来了 KDE 1.0 首次发布。

KDE 1.0 是建立在 Qt 1.0 之上的，主要是用 C++ 编写的。在我看来，它今天看起来仍然令人惊叹。你可以想象一下，在用户界面、用户交互、以及最重要的 —— 为大众提供一个完美的 Linux 桌面方面，这个愿景是多么先进。

#### KDE 2.0

2000 年 10 月 23 日 KDE 2.0 发布。它首次引入了一套新的应用程序，包括 Konqueror 网页浏览器、KOffice、主题支持、KParts 等。

#### 最初获得的奖项

2001 年 8 月 29 日，KDE 在 <ruby> Linux 世界博览会 <rt>  LinuxWorldExpo </rt></ruby> 被评为“最佳开源项目”，并获得“开源产品卓越奖”。

2009 年 7 月 20 日，其开发仓库 SVN 中的源代码抵达了 [第一百万次提交](https://marc.info/?l=kde-commits&m=124811211002267&w=2)。这的确是一个开源项目的里程碑，它为充满希望的未来铺平了道路。

#### 快进到 Plasma 5.0

<ruby> KDE 软件合集 <rt>  KDE Software Compilation </rt></ruby>一直使用到 KDE 4.0。在下一个 Plasma 5.0 版本中，它被分割成三个独立的项目：<ruby> KDE 框架 <rt>  KDE Framework </rt></ruby>、KDE Plasma 和 <ruby> KDE 应用 <rt>  KDE Applications </rt></ruby>。这有助于 KDE Plasma 桌面本身独立于与 KDE 框架、KDE 应用的发布节奏。这种模块化的方法帮助团队分别保持整个生态系统的质量和进度。

#### <ruby> KDE 女性 <rt>  KDE Woman </rt></ruby>

KDE 社区的女性小组 [KDE 女性](https://community.kde.org/KDE_Women) 创建于 2001 年 3 月，目标是增加自由软件社区的女性人数，特别是在 KDE，这包括开发、文档和测试等领域。

#### KDE 吉祥物

KDE 的官方吉祥物是 <ruby>   康奇  <rt>  Konqi </rt></ruby>，它是一条可爱的小龙，它的意思是 “<ruby> 征服者康奇 <rt>  Konqi the Konqueror </rt></ruby>”（也是其浏览器 Konqueror 的昵称）。Katie 是 Konqi 的女朋友，也是 KDE 项目的官方吉祥物。

>
> Konqi 是<ruby> 科迪山谷 <rt>  KDEValley </rt></ruby>的在任大使。它善于建造就像它善于破坏一样，而当事情变得越加复杂时，它的爬行动物大脑就混乱了。它在<ruby> 弗洛斯兰 <rt>  Flossland </rt></ruby>（自由及开源软件大陆）各地旅行，在各个龙族殖民地之间建立联系。它还会从<ruby> 泼泛申瑙海 <rt>  Professional Ocean </rt></ruby>（专业之海）传信到对面的<ruby> 尤思兰德 <rt>  Userland </rt></ruby>（用户大陆）。它有时也会做这样的梦，梦见自己成为一只强壮的大龙。这是它过去的生活吗？
>
>
> —— 关于 Konqi 的官方描述
>
>
>

#### KDE 走向更多设备和充满希望的未来的旅程

多年来，KDE Plasma 成为各种硬件的首选桌面。2016 年，KDE 与一家西班牙笔记本电脑公司合作，推出了 [KDE Slimbook](https://kde.slimbook.es/)，它是一款安装了 KDE Neon 发行版的超极本，带有 KDE Plasma，预装了 KDE 应用程序。可以从他们的网站上购买。

Linux 移动设备先锋 Pine64 在 2020 年推出了 [PinePhone KDE 版](https://www.debugpoint.com/2020/11/pinephone-kde-community-edition-plasma-mobile/)，它带有 KDE Plasma 移动版。

Valve 公司宣布他们的手持游戏机 Steam Deck 采用了 [KDE Plasma](https://www.debugpoint.com/tag/kde-plasma)，运行于 [Arch Linux](https://www.debugpoint.com/tag/arch-linux) 之上。

### 结语

那么，就写到这里吧。这是一些你可能不知道的 KDE 的趣闻。从 KDE 1.0 的那一天起，到今天，它出现在一个简单而强大的由 KDE 驱动的手持游戏设备里，这确实是一个漫长而多彩的旅程。我相信，在未来的日子里，KDE 生态系统一定会发生更多这样令人激动的事件。

你还知道没有在这里列出的 KDE 趣闻吗？请在下面的评论栏里告诉我。

---

via: <https://www.debugpoint.com/2021/12/kde-facts-trivia/>

作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #556 微软的星球级的 AI 基础设施包括数十万个 GPU

Summary: 更多：• Fedora 考虑默认为 cURL提供精简版本 • 内核开发者正在讨论弃用 ReiserFS 文件系统

ReiserFS 当初这么牛，为啥没有社区接手呢。<br />
作者还有 3 年就出来了（来源：solidot.org/story?sid=66625）。

昨年的新闻啊，那还有 2 年。

禁用大量过时或很少使用的协议？？？

天天用的邮件是POP3、SMTP协议吧？要与Windows共享文件得用SMB协议吧？FTP两大浏览器（Chrome、Firefox）都弃用了，SFTP不比FTP安全？

很多历史遗留或很少使用的网络协议，留着的确只是增加攻击面。但是这管cURL啥事，cURL留着这些协议又不会增加攻击面。

现在各发行版都在用Bash替代原来默认的sh，Vim替代原来默认的Vi。<br />
都是功能多的代替功能少的，Fedora咋还反向操作。

也不是所以发行版都这样，Alpine就是基础软件尽量用简单的。

# 硬核观察 #556 微软的星球级的 AI 基础设施包括数十万个 GPU

### 微软的星球级的 AI 基础设施包括数十万个 GPU

[微软透露](https://www.theregister.com/2022/02/22/microsoft_singularity_ai_infrastructure/)，它运营着一个星球级的分布式调度服务来处理 AI 工作负载，它被称为“奇点”。它的目的是提高深度学习工作负载的高利用率来控制成本。其工作负载感知调度器可以透明地抢占和弹性地扩展深度学习工作负载，在 AI 加速器（如 GPU、FPGA）全球机群上提高利用率，而不影响其正确性或性能。在“奇点”机群中有数十万个 GPU，以及 FPGA 和其他 AI 加速器。该软件自动将工作与加速器资源解耦，这意味着当工作负载扩大或缩小时，只需改变映射的设备数量，而这对用户来说是完全透明的。

>
> 老王点评：首先我吃惊于其规模，其次，我觉得超算之外的集群技术非常有用。
>
>
>

### Fedora 考虑默认为 cURL提供精简版本

cURL 是一个广泛使用的网络客户端，除了 HTTP(S) 之外，它还可以访问诸多网络协议，此外大量的应用使用 libcurl 来访问网络资源。在近日提交的一份针对 Fedora 37 的 [修改建议](https://fedoraproject.org/wiki/Changes/CurlMinimal_as_Default) 中，推荐默认使用精简版的 cURL 包，只提供了 HTTP/HTTPS/FTP 支持，而那些需要其他网络协议支持的用户可以安装完整包。精简包禁用了大量过时或很少使用的协议，如 GOPHER、IMAP、LDAP、MQTT、NTLM、POP3、RTSP、SMB、SMTP、SFTP、TELNET、TFTP 等等，这些协议有时候会带来安全风险。

>
> 老王点评：确实，很多历史遗留或很少使用的网络协议，如果没有明确需要的话，留着只是增加攻击面。其它传统的工具也应该学习这种改变的思路。
>
>
>

### 内核开发者正在讨论弃用 ReiserFS 文件系统

在 21 年前，ReiserFS 作为 Linux 内核的首个日志文件系统被引入。在推出的早期，这一开源文件系统提供了相当多的创新功能，甚至一度被 SuSE Linux 默认使用。然而自从 ReiserFS 主要开发者 Hans Reiser 在 15 年前因杀妻而入狱后，ReiserFS / Reiser4 已停滞相当长一段时间。至少自 2019 年以来，似乎就没有任何用户上报的 ReiserFS bug 被修复。在被 EXT4、XFS、Btrfs、甚至 OpenZFS 吸引走了越来越多的份额之后，内核开发者发起了“[是否要将 ReiserFS 踢出 Linux 内核支持](https://www.phoronix.com/scan.php?page=news_item&px=ReiserFS-2022-Linux-Deprecation)”的讨论。

>
> 老王点评：正所谓人亡政息，但是还是很可惜。
>
>
>


2022 年 5 个新 sudo 功能

Summary: 最近的 sudo 版本增加了新的功能，使你能够观察和控制以前隐藏的问题。

我也说一个 sudo 相关的技巧（严格来说是 PAM），PAM 在新版加入了一个功能，密码连续错 3 次会锁定 10 分钟，在这 10 分钟之类输入正确密码也会提示错误。

如果你已登录，可以通过 faillock --user $USER --reset 命令解除。

如果你未登录，很遗憾，这 10 分种之内你不能再用这个用户登录，但你可以登录 ROOT 用户用上面的命令解除，因为 ROOT 用户不受这一限制。

输错次数上限等待可以理解，但是linux输错一次也要等待，很反人类，bsd从来没有这种体验。

你说的等待是指密码输错时要等 2-3 秒才提示密码错误吗？<br />
这应该是出于安全考虑吧，一定程度防止被穷举破解。

最近的 sudo 版本增加了新的功能，使你能够观察和控制以前隐藏的问题。

# 2022 年 5 个新 sudo 功能

>
> 最近的 sudo 版本增加了新的功能，使你能够观察和控制以前隐藏的问题。
>
>
>

<img src="content_image/album_202202_24_124219ye7iqvqkvm7lla5a.jpg" alt="" title="Tools for the sysadmin">

当你想授予你的一些用户管理权限，同时控制和检查他们在你的系统上做什么时，你会使用 `sudo`。然而，即使是 `sudo`'，也有相当多不可控的地方，想想给予 shell 权限的情况就知道了。最近的 `sudo` 版本增加了一些功能，可以让你看到这些问题，甚至控制它们。例如，你可以启用更详细、更容易处理的日志信息，并记录 shell 会话中执行的每个命令。

这些功能中有些是全新的。有些是出现在 1.9.0 甚至更早的版本中的功能。例如，`sudo` 可以记录终端上发生的一切，即使是在 1.8 版本。然而，系统将这些记录保存在本地，它们很容易被删除，特别是那些记录最有用的地方：Shell 会话。1.9.0 版本增加了会话记录集中收集，因此记录不能被本地用户删除，最近的版本还增加了中继功能，使收集功能更加强大。

如果你只知道 `sudo` 的基础知识，或者以前只使用过 1.8 版本，我建议你阅读我以前的 [文章](/article-12865-1.html)。

### 1、JSON 格式的日志记录

我想介绍的第一个新功能是 JSON 格式的日志记录。我是一个日志狂热者（12 年前我就开始在 `syslog-ng` 项目上工作），而这个功能是我在这里发表文章后引入的第一个功能。启用后，`sudo` 记录了更多的信息，并且以一种更容易解析的方式进行。

传统的 syslog 信息很短，只包含最小的必要信息量。这是由于旧的 `syslog` 实现的限制。超过 1k 大小的信息被丢弃或截断。

```
Jan 28 13:56:27 localhost.localdomain sudo[10419]: czanik : TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash

```

最近的 `syslog` 实现可以处理更大的信息量。`syslog-ng` 默认接受 64k 大小的日志信息（当然，它可以更小或更大，取决于实际配置）。

同样的事件，如果以 JSON 格式记录，就会包含更多的信息。更多并不意味着更难处理。JSON 格式的信息更容易被许多日志管理软件应用解析。下面是一个例子：

```
Jan 28 13:58:20 localhost.localdomain sudo[10518]: @cee:{"sudo":{"accept":{"uuid":"616bc9efcf-b239-469d-60ee-deb5af8ce6","server_time":{"seconds":1643374700,"nanoseconds":222446715,"iso8601":"20220128125820Z","localtime":"Jan 28 13:58:20"},"submit_time":{"seconds":1643374700,"nanoseconds":209935349,"iso8601":"20220128125820Z","localtime":"Jan 28 13:58:20"},"submituser":"czanik","command":"/bin/bash","runuser":"root","runcwd":"/home/czanik","ttyname":"/dev/pts/0","submithost":"localhost.localdomain","submitcwd":"/home/czanik","runuid":0,"columns":118,"lines":60,"runargv":["/bin/bash"],"runenv":["LANG=en_US.UTF-8","HOSTNAME=localhost.localdomain","SHELL=/bin/bash","TERM=xterm-256color","PATH=/home/czanik/.local/bin:/home/czanik/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin","MAIL=/var/mail/root","LOGNAME=root","USER=root","HOME=/root","SUDO_COMMAND=/bin/bash","SUDO_USER=czanik","SUDO_UID=1000","SUDO_GID=1000"]}}}

```

你可以在 `sudoers` 文件中启用 JSON 格式的日志信息：

```
Defaults log_format=json

```

你可以从我的 [syslog-ng](https://www.syslog-ng.com/community/b/blog/posts/working-with-json-logs-from-sudo-in-syslog-ng) 博客中了解更多关于如何从 `sudo` 中使用 JSON 格式的日志信息。

### 2、使用 sudo\_logsrvd 集中收集日志

1.9.4 中另一个与日志相关的功能是使用 `sudo_logsrvd` 收集所有 `sudo` 日志信息（包括失败的）。以前，系统只在 `sudo_logsrvd` 实际进行记录时记录成功的会话。最后仍然默认通过 `syslog` 进行记录。

为什么这很重要？首先，你可以在一个地方收集任何与 `sudo` 有关的东西。无论是会话记录还是所有相应的日志信息。其次，它还可以保证正确记录所有与 `sudo` 有关的事件，因为如果 `sudo_logsrvd` 无法访问，`sudo` 可以拒绝执行命令。

你可以在 `sudoers` 文件中通过以下设置启用 `sudo_logsrvd` 日志记录（当然要替换 IP 地址）：

```
Defaults log_servers=172.16.167.150

```

如果你想要 JSON 格式的日志信息，你需要在 `sudo_logsrvd` 配置的 `[eventlog]` 部分进行如下设置：

```
log_format = json

```

否则，`sudo_logsrvd` 使用传统的 `sudo` 日志格式，并作了简单的修改。它还包括日志来源的主机的信息：

```
Nov 18 12:40:16 centos8splunk.localdomain sudo[21028]:   czanik : 3 incorrect password attempts ; HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash
Nov 18 12:40:23 centos8splunk.localdomain sudo[21028]:   czanik : HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; TSID=00000A ; COMMAND=/bin/bash
Nov 18 12:40:30 centos8splunk.localdomain sudo[21028]:   czanik : command rejected by I/O plugin ; HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash

```

### 3、中继

当最初引入 `sudo_logsrvd`（1.9.0 版）进行会话记录集中收集时，客户端只能直接发送记录。1.9.7 版本引入了中继的概念。有了中继，你可以不直接发送记录，而是将记录发送到多级中间主机，这些中间主机构成你的网络。

为什么这很重要？首先，中继使收集会话记录成为可能，即使集中主机由于网络问题或维护而不可用。默认情况下，`sudo` 在无法发送记录时拒绝运行，所以中继可以确保你可以全天候使用 `sudo`。

其次，它还允许你对网络有更严格的控制。你不需要为所有的主机向中心的 `sudo_logsrvd` 开放防火墙，而只需要允许你的中继通过。

最后，它允许你从没有直接互联网接入的网络中收集会话记录，比如 AWS 私有网络，你可以在网关主机上以中继模式安装 `sudo_logsrvd`。

当你使用中继时，`sudo` 客户端和中心的 `sudo_logsrvd` 的配置保持不变。在中继主机上，在 `sudo_logsrvd.conf` 的 `[relay]` 部分添加以下一行：

```
relay_host = 172.16.167.161

```

如果知道通往中心服务器的网络连接有问题，你可以配置中继，在转发记录之前储存它：

```
store_first = true

```

### 4、记录子命令

你是否曾经想知道在通过 `sudo` 启动的 shell 会话中发生了什么？是的，会话记录是存在的，但是为了看几个命令的执行情况而看几个小时的记录是很无聊的，也是对时间的巨大浪费。幸运的是，1.9.8 版本引入了子命令日志。现在，只需定期检查你的日志信息，并在发生可疑情况时才观看记录。

你甚至不需要一个允许 shell 访问的规则，只需要访问一个编辑器就可以访问 shell。大多数编辑器可以运行外部命令。我最喜欢的编辑器是 JOE，这是我通过 `sudo` 启动它时可以看到的情况：

```
Aug 30 13:03:00 czplaptop sudo[10150]:   czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/joe

```

不用吃惊，就在一个编辑器里，我生成一个 shell 并从该 shell 中删除一些文件和分区。现在让我们看看当你启用对子命令记录时会发生什么：

```
Aug 30 13:13:14 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/joe
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/sh -c /bin/bash
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/readlink /proc/10889/exe
[...]
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/sed -r s@/*:|([^\\\\]):@\1\n@g;H;x;s@/\n@\n@
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/tty
Aug 30 13:13:42 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/id
Aug 30 13:13:56 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/ls -A -N --color=none -T 0 /usr/share/syslog-ng/include/scl/

```

我省略了几十行以节省一些空间，但你仍然可以看到我启动了一个 shell，`bash_profile` 执行的命令也可以在日志中看到。

你可以在 `sudoers` 文件中使用以下设置来启用子命令日志：

```
`Defaults log_subcmds`

```

在传统的 `sudo` 日志中，你可以从 `sudo` 进程 ID 看到这些日志正是来自同一个 `sudo`会话。如果你打开 JSON 格式的日志，如前面所示，`sudo` 在日志中记录了更多的信息，使之更容易进行分析。

### 5、拦截子命令

记录子命令可以消除 `sudo` 的大部分隐患，但在有些情况下，你不只是想观察正在发生的事情，还想控制事件的流程。例如，你需要给一个用户提供 shell 权限，但仍想阻止他们运行一个特定的命令。在这种情况下，拦截是理想的选择。当然，也有一些限制，比如你不能限制 shell 的内置命令。

比方说，`who` 命令很危险。你可以分两步启用拦截。第一个步骤是启用它，第二个步骤是配置它。在这种情况下，我的用户不被允许运行 `who`：

```
Defaults intercept
czanik ALL = (ALL) ALL, !/usr/bin/who

```

当我通过`sudo` 启动一个 root shell 会话并尝试运行 `who` 时，会发生以下情况：

```
$ sudo -s
# who
Sorry, user czanik is not allowed to execute '/usr/bin/who' as root on czplaptop.
bash: /usr/bin/who: Permission denied

```

你可以很容易地完全禁用运行 shell：

```
Defaults intercept
Cmnd_Alias SHELLS=/usr/bin/bash, /usr/bin/sh, /usr/bin/csh
czanik ALL = (ALL) ALL, !SHELLS

```

这意味着你不能通过 `sudo` 启动 shell 会话。不仅如此，你也不能从编辑器中执行外部命令。当我试图从 `vi` 中启动 `ls` 命令时，就会出现这种情况：

```
$ sudo vi /etc/issue
Sorry, user czanik is not allowed to execute '/bin/bash -c /bin/ls' as root on czplaptop.
Cannot execute shell /bin/bash
Press ENTER or type command to continue

```

### 接下来是什么？

我希望读了我的文章后，自己尝试一下这些新功能。你可以通过你的软件包管理器在许多 Linux 发行版和 UNIX 变种上安装最新的 `sudo`，或者使用 [Sudo 网站](https://www.sudo.ws/getting/packages) 上的二进制安装程序。

这篇文章只是为你提供了一个新的可能性的概述。如果你想了解更多关于这些功能的信息，请访问网站，那里有手册页面，也有 [Sudo 博客](https://www.sudo.ws/posts)。

---

via: <https://opensource.com/article/22/2/new-sudo-features-2022>

作者：[Peter Czanik](https://opensource.com/users/czanik) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何在 Linux 中清理 Snap 包的版本

Summary: 让我分享一个巧妙的技巧，你可以用它来减少 Snap 包使用的磁盘空间。

Snap 这玩意，青菜萝卜各有所爱吧，但 Ubuntu 很恶心的一点就是有些软件默认给你装 Snap 版。Snap 版的软件有些中文显示、输入会有问题。

国内用这 Snap（还有 Flatpak），最恼火的就是没镜像源，太慢了。

让我分享一个巧妙的技巧，你可以用它来减少 Snap 包使用的磁盘空间。

# 如何在 Linux 中清理 Snap 包的版本

Snap 软件包并不是每个人都喜欢的，但它们是 Ubuntu 生态系统中不可或缺的一部分。

它有其优点和缺点。其中一个缺点是，Snap 包通常体积较大，占用大量的磁盘空间。如果你的磁盘空间不够用，特别是在根分区上，这可能是一个问题。

让我分享一个巧妙的技巧，你可以用它来减少 Snap 包使用的磁盘空间。

### 清理旧的 Snap 包版本以释放磁盘空间

与 snap 有关的系统文件都存放在 `/var/lib/snapd` 目录下。根据你所安装的 Snap 包的数量，这个目录的大小可能在几 GB。不要只听我的一面之词。通过 [使用 du 命令检查目录大小](https://linuxhandbook.com/find-directory-size-du-command/) 来进行评估。

```
$ sudo du -sh /var/lib/snapd
5.4G    /var/lib/snapd

```

你也可以使用磁盘使用分析器这个 GUI 工具来查看 [Ubuntu 的磁盘使用情况](https://itsfoss.com/check-free-disk-space-linux/)。

这可真够多的，对吧？你可以在这里腾出一些磁盘空间。根据设计，Snap 至少会在你的系统上保留一个你所安装的软件包的旧版本。你可以通过使用 Snap 命令看到这种行为：

```
snap list --all

```

你应该看到同一个软件包被列了两次，而且版本和修订号都不同。

为了释放磁盘空间，你可以删除额外的软件包版本。你怎么知道要删除哪一个呢？你可以看到，这些较旧的软件包被标记为“禁用”。

不要担心。你不需要手动操作。由于 Alan Pope 在 [Snapcraft](https://snapcraft.io/) 团队工作时写的一个灵巧的 bash 脚本，有一种自动的方法可以做到。

我希望你知道 [如何创建和运行 bash shell 脚本](https://itsfoss.com/run-shell-script-linux/)。基本上，创建一个名为 `clean-snap.sh` 的新文件，并在其中添加以下几行。

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

```

保存它并关闭编辑器。要运行这个脚本，把它放在你的主目录中，然后 [在 Ubuntu 中打开终端](https://itsfoss.com/open-terminal-ubuntu/)，运行这个命令：

```
sudo bash clean-snap.sh

```

你可以看到，它开始删除旧版本的软件包。

如果你现在检查 Snap 使用的磁盘空间，你会发现现在的目录大小已经减少了。

```
$ sudo du -sh /var/lib/snapd
3.9G    /var/lib/snapd

```

如果这对你有用，你可以偶尔运行这个命令。

#### 这个脚本是如何工作的？

如果你对这个脚本的作用感到好奇，让我来解释一下。

你已经看到了 `snap list -all` 命令的输出。它的输出被传递给 [awk 命令](https://linuxhandbook.com/awk-command-tutorial/)。Awk 是一个强大的脚本工具。

`awk '/disabled/{print $1, $3}'` 部分在每一行中寻找字符串 `disabled`，如果找到它，它将提取第一列和第三列。

这个输出被进一步传递给 `while` 和 `read` 命令的组合。读取命令获取第一列的 Snap 包名和第三列的修订号变量。

然后，这些变量被用来运行 `snap remove` 命令，用 Snap 包名和它的修订号来删除。

只要发现有包含 `disabled` 字符串的行，就会运行 `while` 循环。

如果你对 shell 脚本略知一二，这一切就很容易理解了。如果你不熟悉，我们有一个 [初学者的 bash 教程系列](https://linuxhandbook.com/tag/bash-beginner/) 给你。

### 你拿回了你的空间了吗？

你可能会看到一些论坛建议将 Snap 软件包的保留值设置为 2。

```
sudo snap set system refresh.retain=2

```

我认为现在不需要了。现在 Snap 的默认行为是为任何软件包保存两个版本。

总而言之，如果你的空间不够用，摆脱额外的软件包版本肯定是 [释放 Ubuntu 磁盘空间的方法](https://itsfoss.com/free-up-space-ubuntu-linux/) 之一。

如果这个教程帮助你释放了一些空间，请在评论区告诉我。

---

via: <https://itsfoss.com/clean-snap-packages/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #557 USB 技术被授予 IEEE 里程碑荣誉

Summary: 更多：• 移动版 Chrome 将放弃数据节省模式 • Canonical 为 Ubuntu 发布安全更新

是说USB傻B的命名技术吧?

像 Ubuntu 14.04 这类老版本系统，除非企业给钱，完全没必要为其更新了。<br />
8 年，LTS 都发布 4 个了，要升早升了。

说到服务器端压缩网页，不得不提到功能机和 Android 2.X 时代的 Opera Mini。<br />
那才叫一个省啊，5 元 30M 一个月都用不完，当然这版 Mini 并不支持 JavaScript，但在那时后 JavaScript 也只是锦上添花，可有可无。

# 硬核观察 #557 USB 技术被授予 IEEE 里程碑荣誉

### USB 技术被授予 IEEE 里程碑荣誉

在通用串行总线 USB 技术开发之前，连接外部设备往往非常麻烦。用户有时需要打开他们的电脑，添加硬件来提供他们需要的通信端口。这种情况直到 1996 年英特尔发布 USB 之后才得以简化。USB 技术已经被授予“IEEE 里程碑”荣誉，该计划用以表彰世界各地的杰出技术发展。USB 1.0 发布于 1995 年，但随着第一个支持 USB 的操作系统 Windows 98 的发布，它开始流行起来。曾参开发的英特尔工程师 Ajay Bhatt 表示：“我原本认为 USB 最多能创造 4000 万美元的机会。但现在我已经无法想象 USB 已经发展到什么程度，也无法想象它将继续发展到什么程度。这已经超出了我最疯狂的想象”。

>
> 老王点评：我认为 USB 是最重要的计算机硬件技术之一了。
>
>
>

### 移动版 Chrome 将放弃数据节省模式

以前，移动数据都是非常昂贵和缓慢的。那时，具有节省数据功能的浏览器相当流行，它们在服务器端压缩网页，以减少其大小并改善加载时间。2014 年，谷歌也在安卓版 Chrome 中加入了类似的数据节省模式，后被称之为精简模式。[谷歌宣布](https://support.google.com/chrome/thread/151853370/sunsetting-chrome-lite-mode-in-m100-and-older?hl=en)，移动版 Chrome 100 将取消浏览器的精简模式，该版本将于 2022 年 3 月 29 日进入稳定通道。该模式也将从那天起停止在以前版本的浏览器上工作。谷歌认为，许多国家的移动数据已经费用下降，数据节省模式在当今世界已不再适用。

>
> 老王点评：有谁像我一样在这个时候才注意到 Chrome 有这个功能？
>
>
>

### Canonical 为 Ubuntu 发布安全更新

Ubuntu 发布了 [一批更新](https://ubuntu.com/security/notices/USN-5299-1)，涵盖了当前短期版本 21.10、当前的 LTS 版本 20.04 等版本。没错，这本是一件不值得提的事情，但是我们发现，在安全更新名单中还包括 Ubuntu 14.04 —— 它发布于 8 年前。Ubuntu 的 LTS 版本默认支持五年，而且 Canonical 还为更老的版本，如 16.04 LTS、14.04 LTS 提供了延长支持期。

>
> 老王点评：作为用于生产环境的 Linux，没有长期的支持是不可行的，所以，为什么不选择 Ubuntu Server 呢？
>
>
>


7 个我希望在 Ubuntu 22.04 LTS 看到的变化

说了一大篇，又什么都没说。

希望不要看到gnome

应用列表和后台任务视图深色背景色太难看了

来自四川成都的 Chrome Mobile 92.0|Android 10 用户

支持，Unity模糊特效好看

要好看就用gnome shell 扩展啦，鱼和熊掌哪能兼得

# 7 个我希望在 Ubuntu 22.04 LTS 看到的变化

>
> Ubuntu 22.04 即将面世。但是，你对它的发布有什么期望？在这里，我分享一些我希望看到的东西。
>
>
>

随着 Ubuntu 22.04 LTS 的到来，我们都在急切地等待着体验 [Ubuntu 22.04 引入的功能](https://itsfoss.com/ubuntu-22-04-release-features/)。

在没有对 Ubuntu 22.04 进行全面亲身体验的情况下，我不能确定它是否令人印象深刻。但是，我确实对我想在 Ubuntu 22.04 中看到的东西有一些想法。

现在提出一些修改要求可能有点太晚了，但我还是希望能有最好的结果。

一些重点包括：

### 1、在所有的应用程序中保持一致的主题形象

任何试图在 Ubuntu 上安装 KDE 应用的人都会知道，主题不一致的情况比比皆是。更糟糕的是，Libadwaita 的加入只会让更多的应用程序显得格格不入。

为了解决这个问题，我认为需要一个替代解决方案组合。

首先，默认采用 Ubuntu 的 Yaru 主题的定制 Libadwaita 将使几乎所有为 Gnome 和 GTK 构建的应用程序再次保持一致。然而，这仍然不能解决 Qt/KDE 应用程序的问题。

对于这些，需要一个类似于 [Kvantum](https://github.com/tsujan/Kvantum) 的解决方案。尽管 Kvantum 有点“难”，但我真的相信，一个有 Canonical（Ubuntu 的母公司）全力支持的解决方案能够克服 Kvantum 所面临的所有挑战。

Ubuntu 的外观和感觉是其决定性的特征之一，关键是要在每个应用程序中保持这种外观，以确保其视觉吸引力。

### 2、使用 GNOME 40 中引入的水平停靠区

尽管有些激进，[Gnome 40](https://news.itsfoss.com/gnome-40-release/) 是 Gnome 向未来的一次飞跃，有几个令人兴奋的功能。然而，这些创新的功能中有许多并没有进入 Ubuntu 22.10。

其中最值得注意的是水平停靠区。对我来说，我发现它极大地提高了我的工作效率，因为我不必再像以前那样把鼠标移到屏幕的左边。我相信很多 Ubuntu 用户同意我的观点，但是 Canonical 坚持认为左边的位置是最好的。

我不是说他们应该把停靠区移到底部，这毕竟是 Ubuntu 的一个决定性特征，只是给用户一个这样的选择而已。Ubuntu 在设置程序中已经有一个自定义“外观”部分，所以我认为在那里增加一个简单的切换开关不会太难。

### 3、找回混合主题

升级到 Ubuntu 21.10 后，我很失望地发现 [混合主题选项消失了](https://news.itsfoss.com/ubuntu-21-10-theme-change/)。虽然这只是个小问题，但我确实发现自己很怀念这个选项，并不断地想办法把它找回来。

我认为，让用户有能力轻松地定制他们的桌面是很重要的，把这个选项带回来对改善这个问题有很大的帮助。

我理解他们想摆脱它是因为 Ubuntu 和 GNOME 默认主题颜色的冲突。但是，我喜欢它原来的样子。

### 4、改造后的软件中心

随着 Canonical 不断推动人们使用 snap 应用程序（一种与所有发行版兼容的通用打包格式），创建一个新的软件中心将是有意义的。

虽然 Snap 商店已经存在，但它只是 Gnome 软件的一个复刻，而它以其速度慢和 bug 多而出名。

随着 [Gnome 41](https://news.itsfoss.com/gnome-41-release/) 的发布，这一点在一定程度上得到了缓解，尽管这些改进不太可能被包含在 Ubuntu 22.04 中。

如果有一个新的软件中心诞生，或者现有的软件中心得到重大改造，我将会很高兴。

如果 Ubuntu 要推出一个新的应用程序商店，它可能会使用 Flutter 来构建，就像他们的新安装程序。虽然我个人并不喜欢 Ubuntu 开始转向 Flutter 的决定，但这将有助于确保其所有变体的一致性。

### 5、改进的自定义选项

有些人喜欢保持简单，而有些人则喜欢自定义选项来改变外观/感觉。

Ubuntu 22.04 LTS 不需要引入任何疯狂的东西，但是简单地在默认情况下增加一些额外的控制，你可以在 [GNOME 调整](https://itsfoss.com/gnome-tweak-tool/) 中找到，应该可以做到这一点。

目前，外观调整是相当有限的，我们可以使用更多的选项。

### 6、让 Snap 应用程序少一些

我知道，我知道。Snap 应用程序无处不在，而且它们与多个发行版兼容。但是，它们的速度也更慢，而且只能从专有的 Snap 商店安装。

当然，你可以选择 Flatpak 和预建的二进制文件。但是，Snap 的专有方式仍然是许多用户不喜欢的。

另一方面，Ubuntu 的原生 [Apt 软件包管理器](https://itsfoss.com/apt-command-guide/) 速度更快，而且有更多的应用程序可用。这导致了用户体验的明显改善，尽管这种改善在各发行版中并不连续。

不幸的是，Snap 实际上是由 Ubuntu 背后的同一个团队开发的，所以删除它是相当不可能的。

### 7、卸载应用程序的统一方式

Ubuntu 在为终端用户提供便利方面有着很好的声誉。

为了对抗 Linux 软件包的碎片化，Ubuntu 能否引入一种轻松卸载应用程序的方法，无论是 Flatpak/Deb/Snap？

考虑到外面有各种各样的软件包，现在是时候让我们有一个处理所有软件包的单一解决方案了。

在 Ubuntu 22.04 LTS 中不太可能看到它的解决方案，但我希望在下一个版本中能做到！

### 总结

很明显，你可能不会看到所有这些期望的事情在下一个版本中发生。然而，即使 Ubuntu 22.04 LTS 在这个方向上做了一些努力，我们也有希望在未来的版本中看到它们。

你希望在 Ubuntu 22.04 中看到哪些新功能？请在下面的评论中告诉我们！

---

via: <https://news.itsfoss.com/things-i-want-ubuntu-22-04-lts/>

作者：[Jacob Crume](https://news.itsfoss.com/author/jacob/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


在 Linux 上安装应用指南：软件中心篇

Summary: 从我们的新电子书中获得关于在 Linux 上安装应用的所有不同方法的信息。

这是老外的推广水文吧。

2/3 的篇幅在讲 GNOME 桌面的软件中心，又不是所有人在用 GNOME，就算在 GNOME 中这玩意也是个鸡肋。

然后一笔带过 Flathub 和 AppImages，其它方法都没说。

其实是为了推广它的电子书，电子书里面全面。

从我们的新电子书中获得关于在 Linux 上安装应用的所有不同方法的信息。

# 在 Linux 上安装应用指南：软件中心篇

>
> 从我们的新电子书中获得关于在 Linux 上安装应用的所有不同方法的信息。
>
>
>

当你想在你的手机上尝试一个新的应用时，你打开应用商店并安装该应用。这很简单，很快速，很高效。在这种提供应用的模式中，手机供应商可以让你确切地知道到哪里去获得一个应用，而应用的开发者也知道将他们的应用放在哪里，以便人们能够找到它们。

在手机使用这种创新的软件分发模式之前，Linux 正以“软件仓库”的形式使用它。正如这个术语所暗示的，这些是在互联网上传应用的地方，这样 Linux 用户就可以从一个中心位置浏览和安装它们。这个术语被缩短为 “repo”（代表 “repository”，而不是 “reposession”），但无论你叫它“仓库”、“应用商店”、“软件中心”、“包管理器”，还是其他什么，它都是一个好系统，几十年来一直为 Linux 桌面用户服务。

最起码在 Linux 上安装应用很像在手机上安装应用。如果你能用一个安装，你也可以用另外一个安装。

* 下载我们的电子书：[在 Linux 上安装应用指南](https://opensource.com/downloads/installing-linux-applications-ebook)

### 软件中心

在 GNOME 桌面上，你在桌面上看到的软件仓库是一个应用，简单地说，叫 “<ruby> 软件 <rt>  Software </rt></ruby>”。你可以把这个应用看成是一个极其特殊的网页浏览器。它寻找可以从互联网上安装的软件，将所有可用的软件收集到分类中，并将其显示在你的桌面上。

在开始屏幕中，你有几个选项：

* 搜索一个你已经熟悉的应用。要做到这一点，点击窗口左上角的放大镜图标。
* 按类别浏览。这可以在窗口的底部找到。
* 按最近时间和推荐浏览。这些都列在动画横幅和它下面的图标中。

当你点击一个你看起来感兴趣的应用时，会打开一个功能页面，这样你就可以看到截图并阅读软件的简短描述。

### 安装一个应用

当你找到了你想要安装的软件，点击应用功能页面顶部的“<ruby> 安装 <rt>  Install </rt></ruby>”按钮。

安装完毕后，“<ruby> 安装 <rt>  Install </rt></ruby>”按钮就会变成“<ruby> 启动 <rt>  Launch </rt></ruby>”按钮，所以你可以选择启动你刚刚安装的应用。

如果你现在不想启动该应用，你可以随时在你的“<ruby> 活动 <rt>  Activities </rt></ruby>”菜单中找到它，它与你电脑上已有的所有其他应用放在一起。

### 从更多的地方获得更多的应用

你的 Linux 桌面有专门为它打包的应用，但在今天的世界里，到处都有很多开源的东西。你可以通过将“第三方”仓库添加到你的桌面应用商店中来获得更多的应用。当然，这些术语并不完全正确：在一个无论如何都是由每个人创造软件的世界里，什么是“第三方”？当没有任何东西需要花钱时，什么是应用商店？撇开术语不谈，一个流行的第三方软件库是 [Flathub.org](http://flathub.org/setup)。

要在你的 Linux 桌面上增加另一个应用源，基本上是“安装”一个源到你的应用商店。对于 Flathub，下载 **Flathub 仓库文件**，然后用 **GNOME 软件**安装它，就像它是一个应用一样。它不是一个应用。它是一个应用 *源*，但过程是一样的。

### 了解更多

如果没有一堆其他方法来执行任何给定的任务，那就不是 Linux 了。灵活性是建立在 Linux 系统中的，所以虽然 GNOME “软件”提供了一种获取应用的简单方法，但还有很多其他方法，包括安装脚本、安装向导、AppImages，当然还有直接从源代码编译。你可以从我们的新电子书 [在 Linux 上安装应用](https://opensource.com/downloads/installing-linux-applications-ebook) 中获得所有这些安装方法的信息。它是免费的，所以请阅读吧。

---

via: <https://opensource.com/article/22/2/installing-applications-desktop-linux>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Summary: 更多：• 声称恢复 GPU 挖矿性能的工具实际上是恶意软件 • 红帽扩展 eBPF 用于输入设备的 HID 子系统

恢复 GPU 挖矿性能的工具实际上是恶意软件，这操作啊，6666666

# 硬核观察 #558 JavaScript 调查表明：多数人使用 React 但不满意

### JavaScript 调查表明：多数人使用 React 但不满意

从专门 [针对 JavaScript 的 2021 年度调查](https://2021.stateofjs.com/en-US/demographics/)中可以发现，在 JavaScript 框架和库方面，React 的使用率继续领先，其次是 Angular 和 Vue.js。React 的满意度明显下降，在 Vue.js、Solid 和 Svelte 之后排名第四。Solid 在满意度方面排名第一，在兴趣方面排名第二，即使在实际使用它的人方面排名倒数第二。

>
> 老王点评：这个调查报告还披露了很多信息，值得一看。
>
>
>

### 声称恢复 GPU 挖矿性能的工具实际上是恶意软件

一些英伟达的新显卡带有性能限制，以减少该显卡对加密货币矿工的吸引力。大量的 GPU 显卡被用来挖矿，使得游戏玩家和其他人很难获得这种硬件，而且导致价格昂贵。前两天，有网站介绍了一个用于可以打开 RTX 显卡的加密货币挖掘性能限制。不过，[第二天他们发现](https://www.tomshardware.com/news/nvidia-rtx-lhr-unlocker-malware)“该工具非但没有解决挖矿性能上限的问题，反而使主机系统感染了恶意软件”。目前还不清楚该恶意软件到底是做什么的，可能是键盘记录、信息窃取，也有可能是加密货币挖掘。

>
> 老王点评：真是哭笑不得的事情。好吧，现在没人和玩家们抢新显卡了。
>
>
>

### 红帽扩展 eBPF 用于输入设备的 HID 子系统

在内核中运行沙盒程序的 eBPF 非常有用，它已经超越了起源于网络子系统中的最初的 BPF，它对其他领域，如安全、追踪和内核内 JIT 虚拟机等也非常实用。红帽发出了 [一组补丁](https://www.phoronix.com/scan.php?page=news_item&px=Linux-eBPF-For-HID) 为 HID 设备引入了 eBPF 支持。其中一个非常有用的领域是用于有问题或奇怪的设备，这可以将修复放在一些外部仓库中，并作为 eBPF 程序在启动时加载，以避免需要创建新的内核，而经历漫长的上下游过程。

>
> 老王点评：如果你还没有了解过 eBFP，建议了解一下，它已经越来越强大重要了。
>
>
>


10 个提升 GNOME 体验的最佳应用程序（二）

点赞。

gnome没有好程序，gnome的发展丢失了15年

来自河南郑州的 Chrome Mobile 78.0|Android 10 用户

用户界面一致，看起来挺不错

# 10 个提升 GNOME 体验的最佳应用程序（二）

>
> 这是下一组 GNOME 应用程序，非常适合于你的 GNOME 桌面。它的范围包括游戏、实用工具和生产力。
>
>
>

有许多原生的 GNOME 应用程序散落在各地，但用户完全不知道。它们出乎意料地好，并且完美地完成了它的工作。这些应用程序没有办法通过 GNOME 自己的应用程序商店顺利找到，因为，GNOME 应用程序网站并没有将它们全部列出。

也就是说，我们正在继续一个 GNOME 应用程序的发现系列，使这些应用程序变得流行。变得流行是增加知名度和社区贡献的一个好方法。显然，这些应用程序的质量也会得到提高，因为有更多的错误被报告和修复。

在这个《最佳 GNOME 应用程序》系列文章中，我们将重点介绍一些或已知道、或不知道的基于 GTK 的原生应用程序，它们是专门为 GNOME 增加功能设计的。

在这篇文章中，我们介绍了以下完美的 GNOME 应用程序：

* Flatseal - 管理 Flatpak 应用程序的权限
* Junction - 选择应用程序，以便即时打开文件/链接
* Blanket - 提高生产力
* Mousai - 发现音乐（像 Shazam 一样）
* Shortwave - 网络电台
* Health - 健康参数跟踪器
* Dialect - GNOME 的翻译应用
* Video Trimmer - 一个超快的视频分割器
* Console - 一个新的极简的 GNOME 终端
* Crosswords for GNOME - 一个填字游戏

### Flatseal - 管理 Flatpak 应用程序的权限

这个 GNOME 应用程序非常适合 Flatpak 应用程序的重度用户。Flatpak 应用程序在设计上是以沙盒模式运行的。这意味着，它们默认不能访问宿主机系统组件。例如，一个 Flatpak 应用程序可能无法访问你的 Wi-Fi 或主目录。但是，如果一个应用程序为你提供了一个漂亮的 GUI 来管理已安装的 Flatpak 应用程序的所有访问权限呢？

Flatseal 就是这样做的。它列出了你安装的 Flatpak 应用程序，并为你提供了漂亮的用户界面，以授予或删除所有 Flatpak 应用程序的访问权限。如果你正在使用 GNOME 桌面，这个简单易用的应用程序是必备的。

下面是它的外观和安装步骤。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 仓库安装 Flatseal](https://dl.flathub.org/repo/appstream/com.github.tchx84.Flatseal.flatpakref)

更多信息：

* [源代码和开发](https://github.com/tchx84/Flatseal)
* [文档](https://github.com/tchx84/Flatseal/blob/master/DOCUMENTATION.md)

### Junction - 选择应用程序，以便即时打开文件/链接

下一个应用程序是文件的“用……打开”功能的扩展版本。通常情况下，每个文件的扩展名都与一个特定的程序绑定，以便在操作系统中打开它们。你可以在 GNOME 的设置中随时改变它。例如，.txt（文本）文件总是通过 Gedit 打开。

当你使用这个叫做 Junction 的应用程序，并试图打开任何链接或文件时，它会弹出一个单独的菜单，其中有应用程序的图标，以打开该链接或文件。

例如，如果你试图打开一个 PNG 文件，它会给你提供选项，让你用操作系统中安装的所有可用的图形应用程序打开该图像文件。

有兴趣吗？下面是如何安装的。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Junction](https://dl.flathub.org/repo/appstream/re.sonny.Junction.flatpakref)

更多信息：

* [主页](https://apps.gnome.org/app/re.sonny.Junction/)
* [源代码](https://github.com/sonnyp/Junction)

### Blanket - 提高你的注意力和生产力

这是我最喜欢的 GNOME 桌面的应用程序。想听雨声吗？或者鸟儿的歌唱？波浪声？这些自然界的声音有助于集中精力，提高你的注意力。甚至那些有助于你在嘈杂的环境中工作或入睡。

这个应用程序 - Blanket 预装了这些声音。你只需要安装并点击播放，就可以享受平静和安宁的音乐。

默认情况下，它给你很多选择：

* 下雨
* 暴风雨
* 风声
* 波浪
* 溪流
* 鸟鸣
* 夏夜
* 火车
* 船
* 城市
* 咖啡馆
* 壁炉
* 粉红噪音和白噪声

哦，你也可以添加你自己的自定义音乐（mp3、wav、ogg）并播放。

我相信你一定想安装这个应用程序。现在你可以这样安装。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的按钮，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Blanket](https://dl.flathub.org/repo/appstream/com.rafaelmardojai.Blanket.flatpakref)

更多信息：

* [源代码](https://github.com/rafaelmardojai/blanket)
* [主页](https://apps.gnome.org/app/com.rafaelmardojai.Blanket/)

### Mousai - 发现音乐（像 Shazam 一样）

我相信你已经听说过 [Shazam](https://www.shazam.com/home)，这是一个用于智能手机和平板的流行的音乐识别应用程序。Mousai 是一个用于 GNOME 桌面的音乐识别应用。它可以聆听并同时识别歌曲的细节。这个应用程序使用你系统的麦克风或桌面的线路输出音频进行输入。

很干净整洁，对吧。下面是它的一些特点：

* 易于使用的用户界面 —— 非常适合 GNOME 桌面
* 在几秒钟内识别出歌曲
* 将识别的歌曲储存在历史信息中，以便于参考
* 从应用程序内浏览网络上的歌曲信息

在你点击安装之前，请记住这个应用程序的功能使用了流行的 [audd.io](http://audd.io) 的 API。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Mousai](https://dl.flathub.org/repo/appstream/io.github.seadve.Mousai.flatpakref)

更多信息：

* [主页](https://apps.gnome.org/app/io.github.seadve.Mousai/)
* [源代码](https://github.com/SeaDve/Mousai)

### Shortwave - 网络电台

如果你是一个广播听众，也是一个电台粉丝，那么下一个 GNOME 应用程序就是为你准备的。Shortwave 是一个互联网电台，与 GNOME 桌面无缝集成。它能够访问全球 25,000 个广播电台，其独特的功能有：

* 浏览电台
* 搜索电台
* 查看最多投票的电台
* 获取其他用户正在收听的电台
* 创建你的广播电台库
* 能够从 GNOME 直接向网络设备（如谷歌 Chromecast）播放节目

这款广播流媒体应用程序是当今完美的 GNOME 应用程序之一，具有这些令人印象深刻的功能。以下是安装和进入收听状态的方法。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Shortwave](https://dl.flathub.org/repo/appstream/de.haeckerfelix.Shortwave.flatpakref)

更多信息：

* [主页](https://apps.gnome.org/app/de.haeckerfelix.Shortwave/)
* [源代码](https://gitlab.gnome.org/World/Shortwave)

### Health - 健康参数追踪器

想在 GNOME 桌面上直接掌握你的运动和相关活动的情况吗？那么这个应用程序可能就是你要找的。健康应用程序能够跟踪你的步数、体重、卡路里和活动，如游泳、跑步等。

这个应用程序给你一个漂亮的用户界面，显示你是否达到了总步数的每日目标，等等。

以下是你如何安装这个应用程序。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Health](https://dl.flathub.org/repo/appstream/dev.Cogitri.Health.flatpakref)

更多信息：

* [主页](https://apps.gnome.org/app/dev.Cogitri.Health/)
* [源代码](https://gitlab.gnome.org/World/Health)

### Dialect - GNOME 的翻译应用

想找一个真正适用于 GNOME 的本地翻译应用吗？那么 Dialect 就是你正在寻找的应用程序。Dialect 是一个完美的 GNOME 原生应用程序，可以轻松地将任意文本从一种语言翻译成另一种语言。这个应用程序使用谷歌翻译的非正式 API，并给你完美的翻译。它还使用 LibreTranslate API，这是一个自由开源的机器翻译 API，可以在线使用。

Dialect 的其他独特功能包括文本到语音、保存你的翻译历史、自动语言检测和用户界面中的剪贴板按钮，这里仅举几例。

以下是你现在可以为你的 GNOME 桌面安装它的方法。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Dialect](https://dl.flathub.org/repo/appstream/com.github.gi_lom.dialect.flatpakref)

更多信息：

* [主页](https://apps.gnome.org/app/com.github.gi_lom.dialect/)
* [源代码](https://github.com/dialect-app/dialect/)

### Video Trimmer - 更快地剪切你的视频

Video Trimmer 是一个完美的小工具，可以超快地切割你的视频。它只需要设置你的视频的开始和结束时间戳，就可以给你最终的文件。它将文件保存到你的目标目录，你也可以直接从应用程序本身打开文件位置。这个应用程序完美地集成了 GNOME UI，并为你提供了漂亮的修剪时间线和视频预览。

以下是你现在可以为你的 GNOME 桌面安装它的方法。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过 Flathub 安装 Video Trimmer](https://dl.flathub.org/repo/appstream/org.gnome.gitlab.YaLTeR.VideoTrimmer.flatpakref)。

更多信息：

* [源代码](https://gitlab.gnome.org/YaLTeR/video-trimmer)

### Console - 一个为初学者准备的新的最小的 GNOME 终端

这是一个相当新的应用程序，目前正在开发中。这是一个简单的终端程序，旨在为那些技术水平不高的用户提供服务。对于高级用户，GNOME 已经有一个叫做 [GNOME 终端](https://help.gnome.org/users/gnome-terminal/stable/) 的终端模拟器。

你可能会问为什么 GNOME 需要另一个终端，对吗？好吧，Console 是为终端新手设计的，它考虑到了以下使用情况：

* 当一个命令完成时，发出一个漂亮的通知
* 如果用户尝试使用 root 模式（使用 `sudo`、`su` 等），终端会变成红色
* 当使用 `ssh` 时，终端会变成紫色。

这个应用程序仍在 GitLab 上开发。不幸的是，目前还没有安装程序可用。不过，你可以去编译。我试图用 meson 来编译它，但由于依赖关系而失败。

等我我能够编译它，我将在这里放一张截图。

同时，你可以在 [GitLab](https://gitlab.gnome.org/GNOME/console) 中关注这个项目。

### Crosswords for GNOME

我相信你如果喜欢解字谜。那么这款针对 GNOME 的最终应用就非常适合你。GNOME 填字游戏是填字游戏播放器和编辑器。这个游戏带有填字游戏集，你可以开始解题。如果你被卡住了，该应用程序将帮助你揭示你在选词方面的错误。基本的正方形黑白字谜是可用的，但是由于其风格支持，你可以享受各种形状和颜色的字谜板。

这个应用程序的编辑部分目前还在开发中。但是你仍然可以通过安装一个演示的 Flatpak 来玩，所有这些都可以在下面的链接中找到。

为你的 Linux 发行版 [设置 Flatpak](https://flatpak.org/setup/)。然后点击下面的链接，启动自带的软件管理器进行安装（如“<ruby> 软件 <rt>  Software </rt></ruby>”或“<ruby> 发现 <rt>  Discover </rt></ruby>”）。

* [通过私有仓库安装演示版填字游戏](https://people.gnome.org/~jrb/org.gnome.Crosswords/crosswords.flatpak)

在 [这里](https://gitlab.gnome.org/jrb/crosswords) 关注这个应用程序的开发。

### 总结

这就是本期的 GNOME 应用程序系列中最完美、最优秀的应用程序了。我希望你能为你的 GNOME 桌面发现一些很酷的 GTK 应用程序。确保开始为你的工作/目的使用它们。你对这篇文章中完美的 GNOME 应用程序有什么看法？请在下面的评论栏里告诉我。

---

via: <https://www.debugpoint.com/2021/12/best-gnome-apps-part-2/>

作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


为什么我又回到火狐浏览器

因为Mozilla给的太多了

出于 "打破浏览器垄断" 的目的来说，我是很支持 Firefox 的，而且还有国内能直接安装插件和书签同步两大优点 (Edge 出现后这优点就不明显了)。

不过，我坚持用 Chromium 有以下几点。

1. Chromium 能直接翻译网页 (虽然 Firefox 现在也能，但得配置一番)

2. 现在很多网站不再为 Firefox 适配，页面看着怪怪的

3. Firefox 的页面缩放功能我一直没搞明白，设置后看着比例失调，很怪

前段时间打算装个 Firefox 备用，然后发现任何网站加载都巨慢，根本忍不了， 然后就删了。

当然后来才知道这问题和 HTTP3 有关 (solidot.org/story?sid=70353)，把 HTTP3 关了就行了，但也懒再装了。

我安装过的许多发行版都带firefox，这浏览器linux下挺好用的

# 为什么我又回到火狐浏览器

>
> 火狐可以说是最好的开源网页浏览器。但是，是什么让它这么好？它对每个人来说都是一个可行的选择吗？让我来分享我的见解。
>
>
>

火狐是一个神奇的开源网页浏览器。它预装在大多数 Linux 发行版中，无需多想，可以认为它是 Linux 用户和隐私爱好者的一个流行选择。

然而，没有什么是完美的。

无论是火狐、Chrome、Brave，还是任何一个 [可用于 Linux 的最佳浏览器](https://itsfoss.com/best-browsers-ubuntu-linux/)，每个选择都有权衡。

我使用火狐浏览器已经很多年了，但最近我因为标签管理功能转而使用了 [Vivaldi](https://itsfoss.com/install-vivaldi-ubuntu-linux/)，然后也尝试了一下 Brave。

但是，在这段时间里，我发现自己一再回到火狐浏览器，并一直想回来，虽然我对另一个网页浏览器也很满意（就当是一种回忆吧）。

那么，为什么我总是回到火狐浏览器？为什么我认为火狐是适合每个人的理想网页浏览器？

在这里，让我强调一些要点：

### 1、以隐私为重点的解决方案

如今，每个网页浏览器（当然，除了谷歌浏览器）都旨在提供面向隐私的功能。

使用 Brave，甚至使用 Vivaldi，你有各种各样的选择。

请注意，这不是一个功能比较，而是基于我喜欢、注意到的东西。

Brave 可以让你自定义跟踪保护，但它不提供预设配置。你得自己调整拦截保护措施以获得你想要的体验。但是，火狐浏览器可以让你轻松地选择“标准”或“严格”保护模式，而不需要定制个人设置。

说到 Vivaldi，它提供了快速切换跟踪保护类型的能力，但它没有火狐那么好。此外，你没有诸如跨站 Cookie 阻止、以及针对加密矿工、指纹探针的保护。

除了这些细微的差别，火狐还不断为其隐私保护产品增加新的功能。

例如，HTTPS-Only 模式让你无需任何扩展/插件，就可以确保你连接到一个页面的 HTTPS 版本。

### 2、简化的用户界面

我知道我抱怨过很多次火狐不断改造其用户界面。

没错，这不是很令人愉快。

但是，每当我习惯了它，我发现它是一个简单而有效的用户界面。我更喜欢启用它的深色主题。

最近的更新使它更容易访问选项、附加组件、主题等。

就个人而言，感觉它比其他浏览器更好。

希望他们不要继续他们的传统，每次重大升级都破坏用户体验。

### 3、开源

火狐是一个开源的网页浏览器。你已经知道了，但这正是它比 Chrome 等专有选项更出色的原因。

火狐浏览器是我几年前离开谷歌浏览器后尝试的第一个开源网页浏览器。

### 4、火狐多账户容器

[火狐多账户容器](https://itsfoss.com/firefox-containers/) 是火狐的主要亮点之一。

如果你想在不损害隐私的情况下充分提升你的浏览体验，它是 [最佳火狐功能](https://itsfoss.com/firefox-useful-features/) 之一。

你需要安装 [火狐多账户插件](https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/) 才能开始使用它。

该功能可以让你打开相互隔离的几个浏览标签。例如，你可以使用该功能保持登录到同一服务的两个不同账户。你可以将它们分成个人、工作、银行等等几个分类。

你可以选择创建一个新的容器或将你当前的标签作为一个容器打开。也可以自动设置网站在新的容器中打开。

为了更上一层楼，火狐最近增加了为容器启用 Mozilla VPN 的功能。这样，你就可以单独保障你的浏览过程，而不需要为其余的非容器标签启用 VPN。

虽然这可能不适合每个人，但这是一个有用的功能。

### 5、集成的服务

拥有有助于提高用户体验的内置功能和服务总是很方便。

使用火狐浏览器，你可以快速访问各种有用的工具。

这些工具包括：

* 地址栏中的“保存到 Pocket”按钮，可以快速添加一个网页/链接，以便以后阅读。
* Mozilla 的 [VPN 服务](https://www.mozilla.org/en-US/products/vpn/)。
* [Firefox Relay](https://relay.firefox.com) 以保护你的原始电子邮件地址。
* [Firefox Monitor](https://monitor.firefox.com/) 以通知你数据泄露的情况。
* 如果你使用的话，还有密码管理器。

### 6、积极开发

随着每一次火狐浏览器的发布，你会发现一些有价值的升级和改进。

当然，你对每个主要的网页浏览器都可以抱有同样的期望。但是，如果你使用的是一个不太知名的浏览器的功能，你可能想留意一下更新/开发的频率。

为了获得安全的体验，尽快进行安全修复、错误修复和其他改进是很重要的。

### 7、运作良好！

就我而言，我更喜欢方便，而不是最新和最大的。

尽管火狐浏览器设法提供一些行业首创的功能，它仍然是一个方便的选择。

拥有一个同步你所有浏览数据和集成的服务的火狐账户是很有好处的。你可以轻松地在任何其他设备上登录该账户，无缝地继续你的工作。

使用 Brave，你确实也有同步功能，但它的工作方式不一样。它要求你必须有主设备在场，才能成功地将数据同步到另一个设备上（你要扫描二维码）。另外，你也可以选择生成同步代码，并将其随身携带，以便与新设备同步。但是，我觉得基于账户的同步更方便。

虽然 Vivaldi 提供了账户同步功能，但它在我的多显示器环境中并不工作，按钮变得没有反应，而且在 [Vivaldi 5.1 版](https://news.itsfoss.com/vivaldi-5-1-release/) 之后，我也没能成功同步。

所以，火狐成为一个轻松便捷的选择。

### 8、打破浏览器垄断

去年，我们报道了 [火狐浏览器失去了近 5000 万用户](https://news.itsfoss.com/firefox-decline/)，这让那些一直喜欢不基于 Chromium 的可靠产品的用户非常担心。

从技术上讲，我们确实有火狐的复刻和其他一些 [开源浏览器](https://itsfoss.com/open-source-browsers-linux/)。但是，我们需要火狐保持其地位，以便有一个可行的 Chromium 替代品。

### 总结

我应该提到，我坚持使用火狐是因为它适合我的使用情况和工作流程。

你不需要相信我的话。但是，至少，如果你从来没有考虑过这些使用火狐的好处，你可能该试一试!

你对火狐有什么看法？可以告诉我们你最喜欢的浏览器吗？让我们在下面的评论中讨论。

---

via: <https://news.itsfoss.com/why-mozilla-firefox/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #559 KDE 成为 Steam Deck 开发者模式的默认桌面

Summary: 更多：• Linux 内核准备采用现代 C 语言标准 • 富士通准备停止其大型机和 UNIX 业务

KDE上古界面，和掌机太搭了，毕竟都是老古董。。

Steam Deck 用的 Arch Linux 就很赞，作为 Arch Linux 的忠实用户也打算买一个。

这掌机哪里有卖？很喜欢

# 硬核观察 #559 KDE 成为 Steam Deck 开发者模式的默认桌面

### KDE 成为 Steam Deck 开发者模式的默认桌面

Steam Deck 已经发货，[KDE Plasma](https://pointieststick.com/2022/02/25/this-week-in-kde-bugfixing-plasma-5-24/) 成为“开发者模式”下的默认桌面。对于 KDE 开发者来说，为了能顺利地在 Steam Deck 上运行，他们经历了忙碌的一周，进行了大量修复和改进。

>
> 老王点评：虽然这不应该意外，因为 Steam Deck 是基于 Linux 的。
>
>
>

### Linux 内核准备采用现代 C 语言标准

Linux 内核仍然采用的是 1989 版的 C 语言标准，它已有三十多年历史了。由于一些特性在 C89 中不支持，因此在处理一些问题时格外麻烦。Torvalds 说，内核代码一直停留在 C89 的原因之一是旧版本的 gcc 编译器会出现奇怪的问题，现在内核要求的 gcc 最低版本已经提高到了 v5.1，那些 bug 可能不再相关了。在讨论之后，他宣布将在下一个内核版本 5.18 中 [尝试下新的 C 语言标准](https://lwn.net/SubscriberLink/885941/01fdc39df2ecc25f/)。如果一切顺利，C 语言标准有望在下一个内核版本中迁移到 C11。

>
> 老王点评：虽然 Linux 内核存在一些历史遗留问题，但是好在内核社区是一个活跃的社区，能不断前进。
>
>
>

### 富士通准备停止其大型机和 UNIX 业务

富士通将在 2030 年之前 [停止生产和销售其大型机系统](https://www.theregister.com/2022/02/25/fujitsu_signposts_the_end_for/)，并将在 2029 年底之前停止发售其 Unix 服务器系统。对这两个组合的支持服务将再持续五年。对于大多数富士通大型机客户来说，他们需要在这个期限之前将他们的大型机应用迁移到另一个平台上。

>
> 老王点评：虽然这看起来很遥远，但对于大多数使用大型机的组织来说，大型机是一项巨大的长期投资，这对他们来说是一件大事。
>
>
>


用 KWrite 和 Kate 在 Linux 上编辑文本

Summary: 两个 Linux KDE 文本编辑器。一个强大的 KTextEditor 库。

为什么有了Kate还要KWrite呢？

开源社区嘛，都喜欢不断造轮子。

一言以蔽之，Kate 比作 QQ，KWrite 就是 QQ 轻聊版。

感谢重复轮子，开源才能存在

# 用 KWrite 和 Kate 在 Linux 上编辑文本

>
> 两个 Linux KDE 文本编辑器。一个强大的 KTextEditor 库。
>
>
>

文本编辑器通常是一个很好的示例应用，可以展示一个编程框架能够产生什么。我自己在关于 [wxPython、PyQt](https://opensource.com/article/17/4/pyqt-versus-wxpython) 和 [Java](https://opensource.com/article/20/12/write-your-own-text-editor) 的文章中至少写过三个文本编辑器的例子。它们被视为容易创建的应用的原因是，这些框架提供了许多最难编写的代码。我认为这也是大多数操作系统提供简单的桌面文本编辑器的原因。它们对用户有用，对开发者也很容易开发。

在 KDE Plasma 桌面上，有两个文本编辑器可供选择：简陋的 KWrite 和强大的 Kate。它们之间共享一个来自 KDE 框架的名为 KTextEditor 的库，它提供了强大的文本编辑选项，所以无论你选择哪一个，你都拥有比你可能习惯的、由桌面提供的“基本”文本编辑器更多的功能。在不同的文本编辑器中使用相同的组件，意味着一旦你习惯了 KDE 中的文本编辑界面，你基本上就能熟悉它们了，如 KWrite、Kate、KDevelop 等。

### 安装 KWrite 或 Kate

KWrite 和 Kate 在同一个 [开发库](https://invent.kde.org/utilities/kate) 中维护。

然而，它们是作为独立的应用发布的，并且有不同的使用场景。

如果你安装了 KDE Plasma 桌面，你可能已经安装了 KWrite，但你可能需要单独安装 Kate。

```
$ sudo dnf install kwrite kate

```

KWrite 可以从 [apps.kde.org/kwrite](http://apps.kde.org/kwrite) 获得，而 Kate 可以从 [apps.kde.org/kate/](https://apps.kde.org/kate) 获得。

两者都可以通过 KDE “<ruby> 发现 <rt>  Discover </rt></ruby>” 安装，KWrite 可以 [作为 flatpak 安装](https://opensource.com/article/21/11/install-flatpak-linux)。

### KWrite，不那么基本的编辑器

开始使用 KWrite 很容易。你从你的应用菜单中启动它，然后开始打字。如果你在最基本的文本编辑器之外没有别的需求，那么你可以把它当作一个简单的电子记事本。

所有通常的惯例都适用。在大文本区域输入文字，完成后点击保存按钮。

然而，KWrite 与标准的桌面编辑器不同的是，它使用 KTextEditor 库。

### 书签

当你在 KWrite 或 Kate 中工作时，你可以创建临时书签来帮助你找到文档中的重要位置。要创建一个书签，按 `Ctrl+B`。你可以通过在“<ruby> 书签 <rt>  Bookmark </rt></ruby>”菜单中选择它来移动到书签。

书签不是永久性的元数据，它们也不会作为文档的一部分被存储，但当你在工作中需要在各部分之间来回移动时，它们是有用的工具。在其他文本编辑器中，我可以只是输入一些随机的词，比如 “foobar”，然后对这个字符串进行“<ruby> 查找 <rt>  Find </rt></ruby>”，以返回到那个位置。书签是解决这个问题的一个更优雅的方案，而且它们不会有让你的文档充满占位符的风险，因为你可能忘记删除它们。

### 高亮显示

在 KWrite 和 Kate 中，你都可以激活语法高亮，这样你就可以深入了解你正在处理的文本。在其他文字处理程序中，你可能不会有意识地使用高亮显示，但如果你曾经使用过带有自动拼写和语法检查的编辑器，你就会看到一种高亮显示。在大多数现代文字处理程序中，拼写错误被标记的红色警告线就是一种语法高亮的形式。KWrite 和 Kate 可以同时通知你写作中的错误和成功。

要查看拼写错误，请进入“<ruby> 工具 <rt>  Tools </rt></ruby>”菜单，选择“<ruby> 拼写 <rt>  Spelling </rt> <rt> </rt></ruby>”。从子菜单中，激活“<ruby> 自动拼写检查 <rt>  Automatic Spell Checking </rt></ruby>”。

要获得你以特定格式写的东西的视觉反馈，例如 [Markdown](https://opensource.com/article/19/9/introduction-markdown)、HTML 或像 [Python](https://opensource.com/article/17/10/python-101) 这样的编程语言，去“<ruby> 工具 <rt>  Tools </rt></ruby>”菜单，选择“<ruby> 模式 <rt>  Mode </rt></ruby>”。有很多模式，分为几个类别。找到你要写的格式并选择它。文档模式加载在高亮模式中。你可以通过选择“<ruby> 高亮 <rt>  Highlighting </rt></ruby>”而不是“<ruby> 模式 <rt>  Mode </rt></ruby>”来覆盖一个模式的高亮方案。

我最喜欢的功能之一是窗口右侧的文档概览。它基本上是整个文档的一个非常细微的缩略图，所以你只需点击一下就可以滚动到特定区域。它可能看起来太小而无用，但它比人们想象的更容易确定一个章节的标题或文档中的一个近似区域，并通过点击就能接近它。

### Kate 的与众不同之处

由于 KWrite 和 Kate 使用相同的底层组件，你可能想知道为什么你需要从 KWrite 升级到 Kate。如果你决定试用 Kate，你不会因为文本编辑而这样做。所有影响你如何输入和与你的文本互动的功能在这两个应用程序之间都是一样的。然而，Kate 为编码者增加了很多功能。

Kate 有一个侧边栏，你可以查看你的文件系统或项目目录。值得注意的是，Kate 有项目的概念，所以它可以将一个代码文件与同一目录下的头文件联系起来，比如说。它还有一个弹出式终端（只需按下 `F4`），并能将你的文档中的文本通过管道传送到终端会话中。

它还有一个会话管理器，这样你就可以为不同的活动配置一个独特的 Kate。

### 选择你的 Linux 文本编辑器

我们很容易忽视 KWrite 和 Kate。因为它们都是与桌面一起出现的，所以很容易把它们视作开发者强制包含的简单文本编辑器的例子。但这远远不准确。KWrite 和 Kate 是 KDE 系列应用中的典范。它们例证了 KDE 框架所提供的内容，并为期待强大、有意义和有用的 KDE 应用奠定了基础。

了解一下 KWrite 和 Kate，看看哪一个适合你。

---

via: <https://opensource.com/article/22/2/edit-text-linux-kde>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


为什么我喜欢将 KDE 作为我的 Linux 桌面

Summary: KDE Plasma 桌面的目标是整合、一致和定制的完美结合。

除开拉跨Gnome, 哪个桌面不是一致性的?

除开拉跨Gnome, 哪个桌面不是可自由定制的?

KDE很棒，但我选最快的LXDE

lxde已死,lxqt差点意思,gnome臃肿,kde太大了,xfce4凑活这用,比较喜欢用lxde的组件

kde组件依赖太多，所以我选择小kde——lxqt哈哈

我的选择是 KDE + i3WM。

单独使用 i3WM 这类窗口管理器，还得再单独配置电源、触摸板、通知......等，很麻烦，费很大的力还不能满意，而这些在桌面环镜中开箱即用。

但桌面环镜的窗口管理又不能满意，但是二者结合，那就是婊子配狗，天长地久，你值得拥有。

KDE 的一致性做的沒有 Gnome 好, 其默认的浅色主题也不是很好, 对其强大自定义功能, 自己用到的选项也很少. 所以我现在切换到 Gnome(我不使用 Gnome 的扩展).

Gnome 更新一次，一大堆扩展就炸一次，就离谱。

肉桂最好，开箱即用

肉桂最好，开箱即用

然并卵 我依旧在使用gnome 习惯了而已

之前看到有人在知乎上评论：KDE全屏的文字让人看着累。我感觉也是，习惯了GNOME的简洁和优雅

对于我来说，kde的装饰性部件太多，显得很繁琐

KDE Plasma 桌面的目标是整合、一致和定制的完美结合。

# 为什么我喜欢将 KDE 作为我的 Linux 桌面

>
> KDE Plasma 桌面的目标是整合、一致和定制的完美结合。
>
>
>

开源引以为豪的事情之一是选择。你不必满足于你不喜欢的东西。你可以改变你的文件管理器、你的 [文本编辑器](https://opensource.com/article/21/2/open-source-text-editors)，你甚至有超过 [24 个桌面](https://opensource.com/article/20/5/linux-desktops) 可以选择。和许多 Linux 用户一样，我一开始经常切换自己使用的桌面。最初我不知道自己喜欢什么，因为我还没有尝试过所有可用的东西。在 2008 年 1 月的一个好日子，KDE 4.0 发布了，从我看到 Plasma 桌面的那一刻起，我就知道这是我一直在等待的 Linux 桌面（那时我成为 Linux 用户才一年，我想我没必要等太久）。尽管我的笔记本上有 GNOME，我的树莓派上有 [Fluxbox](https://opensource.com/article/19/12/fluxbox-linux-desktop)，可能还有其他一些组合，但我认为自己是 Plasma 桌面的用户，也是 KDE 社区的一员。

### 我爱 KDE 的三个理由

爱上 KDE 的理由有很多，但这里有我的三个理由：

#### 一致性

一致性是教给用户一个新工具的重要部分。最理想的情况是，一个人在一个应用程序中学习了一些东西，然后在不知不觉中把同样的知识转移到另一个应用程序中。KDE 项目的目标是在其所有的应用程序中实现一致性，这也是 KDE 框架存在的原因之一。越多 KDE 开发者使用框架，用户需要学习的东西就越少，因为使用过一个应用程序的用户已经熟悉了该框架所提供的关键组件。

大量的代码在应用程序之间被重复使用。Konsole 可以作为 Dolphin 和 Kate 的一个面板启动。工具栏配置选项在所有应用程序中基本相同。有一些重要的惯例，比如用单次点击来打开一个文件或文件夹，而不是双击（你会节省几个微秒，相信我），以及可靠的右键菜单选项。

KDE 的伟大之处在于，当你想做一件你以前从未做过的事情时，你通常可以猜到你应该如何实现它。你被 KDE 的内部一致性所训练，知道应该怎么做。这并不总是有效的，毕竟你可能找错了地方，或者你可能试图让两种技术一起工作，而这两种技术没有过互相影响，但一般来说，你知道在哪里寻找一个选项，或者你知道在哪里拖动一个文件，或者何时右击一个对象，或者长按一个按钮。你通过实践来学习 KDE，那是一种很好的感觉。

#### 整合

KDE 项目被很多人称为桌面，但还有一群用户认为 KDE 更像是一套应用程序。他们都是正确的！

你可以运行 Plasma 桌面，也可以运行一个不同的桌面或窗口管理器，而只使用 KDE 应用程序。有很多东西可以选择，它们一起构成了一个完整的操作系统，影响了操作系统的风格倾向。当然，还有一些工作仍在进行中，但在我每天使用的应用程序中，有用于联系人、电子邮件和日历的 Kontact 套件，用于视频编辑的 Kdenlive，用于插图和摄影的 Krita，用于文件管理的 Dolphin，用于 RSS 订阅的 Akregator，用于存档的 Ark，用于终端的 Konsole，用于播放音乐的 Juk，用于从我的手机传输文件的 KDE Connect，这个名单还在继续增长。我并不是只安装 K 应用，因为在 KDE 开发之外也有很多伟大的应用程序，但是有这样一套完整的工具使用同一套框架和库是很好的。它提供了凝聚力，这使得整合成为可能。

#### 定制

Plasma 桌面认识到，不同的用户对他们的工作空间有不同的要求和偏好。KDE 中几乎所有的东西都可以定制。你可以改变你的主题，你可以改变窗口装饰的布局，你可以改变打开一个文件所需的点击次数，什么是可点击的，什么是可拖动的，你可以在窗口内移动面板，然后当你不希望这些设置适用于某个应用程序时，你可以为它们设置特定的窗口覆盖项。

如果这听起来让人不知所措，也没错。但你不应该记住或甚至知道所有可能的定制。默认值是令人愉快的直观，而且大部分的行为是你期望的桌面行为。有一些小的 KDE 惯例你可能要习惯，但是当你发现你不喜欢的东西时，你知道因为它是 KDE，它可以被改变。你离开找到正确的旋钮或转盘来改变这个设置只距离一个参考文档。

### 让 Linux KDE 成为你自己的

我配置 Plasma 桌面的方式与我在会议和工作中看到的其他桌面不同，它是我在生活中尝试过的所有桌面中最喜欢的古怪东西的综合体。而这正是 KDE 的特别之处。它能适应我的每一个奇思妙想，甚至是非理性的奇思妙想。下次你必须在桌面之间做出选择时，看看 KDE 吧。如果你不喜欢你所看到的，给它点时间。你要么学会爱上它（单击操作就很好，我发誓），要么你最终会改变它。无论哪种方式，你都赢了。

---

via: <https://opensource.com/article/22/2/why-i-love-linux-kde>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #560 英伟达遭到黑客攻击，但英伟达黑了回去

Summary: 更多：• 雅虎邮箱 2 月 28 日起停止在中国大陆服务 • 有迹象显示未来的英特尔系统对开源固件更加不友好

“干得漂亮” “快走，不送”

一共才几条新闻？底下的评论不是毫无意义的废话就是极具主观性的评论，这么久了都多少用户说过这个问题了？科技新闻下面强行加插这种废话/主观评论，很难想象这是一个科技/技术类网站。

“快走，不送~”嘿，还有小尾巴，你搁这朋友圈呢？

##blockquote

诸位网友：uBO加入此条静态规则可屏蔽点评。

克里斯那穆提说过，有思想的地方就有冲突。你不看看隔壁的白左Delta怎么恶心中国的?开源软件宣传还Chinese!!!111oneone?，以为中国人看不懂英文?这个跟问候"全家"一语双关有什么区别?所以这已经算和气了。

啥子哦

这有什么好吵的

人家老王每天刷新多条外网新闻，不就是想让大家看看最近开源届发生的动态嘛？加一点主观评论也不是不可以，毕竟这又不是严格意义上的新闻网站

老王做这个已经快2年了，期间还时不时跟踪某些事件的后续，已经做的非常好了

反观有些人，给你看新闻你还挑三拣四的，干脆自己去外网刷得了，省的在这里恶心别的喜欢看的人

快滚！不送！

你在美国？<br />
注意新冠哦

开了梯子吧

2005年8月，中国雅虎由阿里巴巴集团全资收购。2013年，中国雅虎邮箱、资讯、社区宣布停止服务，原有团队将专注于阿里巴巴集团公益事业的传播。2021年11月1日起，雅虎中国正式关闭。用户无法从中国大陆使用Yahoo的产品与服务。

这个硬核观察栏目，就是我（硬核老王）对开源、科技等新闻的一个个人的看法，因此，这三条的遴选标准、点评的观点，都非常个人化，因此，肯定不具备公正性、客观性，甚至合理性。

有时候，有些消息不能列入；有时候，有些消息列入的原因我不能明说；有时候，有些消息纯粹是哗众取宠。这些望理解。

感觉我的评价是续貂的、感觉这个栏目是多余的，都可以通过自己的手段屏蔽。感觉我的选择、点评不当的，也可以心平气和的指出。唯一我会删除的是，那些没有不能好好说话的言语。

老胡(误)中肯。

我还在用，次用邮箱！不过早不是国内的服务器了。

我还在用，次用邮箱！不过早不是国内的服务器了。

我还在用，次用邮箱！不过早不是国内的服务器了。

老王中肯，技术人就该这样！

# 硬核观察 #560 英伟达遭到黑客攻击，但英伟达黑了回去

### 英伟达遭到黑客攻击，但英伟达黑了回去

据报道，前几天英伟达据遭到网络攻击，为避免损失扩大，他们将邮件和开发工具等多个内部系统下线。而据恶意软件样本网站 vx-underground 称，此次攻击是一个活跃在南美的黑客组织实施的。不过，[该组织遭到了英伟达的反击](https://wccftech.com/nvidia-fires-back-at-hackers-by-encrypting-1-tb-stolen-data-successfully-ransomed-their-systems/)，他们称：“几天前，我们组织了针对英伟达的攻击，偷了 1TB 的机密数据。今天我们醒来发现英伟达这坏蛋用勒索软件攻击了我们的机器”。英伟达不但加密了被盗的数据以避免外泄，而且将勒索软件安装在了黑客私人的机器上，只是由于该数据做了备份，来自英伟达的反击没有成功。

>
> 老王点评：虽然没有达成反击目标，但是我说，干得漂亮！
>
>
>

### 雅虎邮箱 2 月 28 日起停止在中国大陆服务

雅虎发布官方 [通知邮件](https://www.gizchina.com/2022/02/26/yahoo-mail-will-officially-stop-service-in-mainland-china-on-february-28/) 称，2 月 28 日前用户可下载备份通讯录、日程等；之后，则无法再从中国大陆通过雅虎邮箱接收或者发送电子邮件。同时，官方也强调中国大陆以外的全球用户的使用不会有改变。而从去年 11 月开始，用户将无法从中国大陆使用雅虎的产品与服务，这也包括其旗下著名科技媒体 Engadget 等媒体。

>
> 老王点评：快走，不送~
>
>
>

### 有迹象显示未来的英特尔系统对开源固件更加不友好

英特尔在上个季度发布了通用可扩展固件（USF）规范草案，重点是降低固件的复杂性，可跨 CPU 和 XPU 进行扩展，支持行业引导程序和操作系统载荷，并提高固件质量和安全性。但是据 Coreboot 的开发者说，它 [对开源社区已经不再友好](https://www.phoronix.com/scan.php?page=news_item&px=Intel-USF-FSP-3.0-Less-OSF)。新的英特尔固件组件将硬件初始化工作基本上留给了二进制，Coreboot 在围绕二进制 BLOB 的选项和控制方面将受到进一步限制。

>
> 老王点评：随着自由开放的操作系统和开放硬件的发展，我想，开放的潮流不可逆，必然会出现更好的开源固件的。
>
>
>


Bash Shell 脚本新手指南（三）

Summary: 它将涉及到函数、用 if/elif 语句进行比较，并以研究 while 循环作为结尾。

不是打广告哈，阮一峰写了篇《Bash 脚本教程》，想看中文教程的可以看看。

链接：wangdoc.com/bash

如要要学 Zsh，可以试试这篇《Zsh 开发指南》。

链接：github.com/goreliu/zshguide

Zsh 和 Bash 语法是兼容的，学 Bash 也可以参考这个教程。当然 Zsh 和 Bash 也有一小部分不一样，里面的《Bash 和 zsh 用法简明对照表》小节有提到。

不是砸场子哈，博主翻译、分享这些很幸苦，很是感谢。这里只是整合一下 Bash 的教程哈，给想学的人一个参考。

国内的幕课网和 W3C School 也有 Bash 教程。

链接：

w3cschool.cn/bashshell

imooc.com/wiki/shelllesson

# Bash Shell 脚本新手指南（三）

<img src="content_image/album_202202_28_103333wnph1p1nqkb8b3zl.jpg" alt="" title="">

欢迎来到面向初学者的 Bash Shell 脚本知识第三部分。这最后一篇文章将再来学习一些知识点，这些将使你为持续的个人发展做好准备。它将涉及到函数、用 `if`/`elif` 语句进行比较，并以研究 `while` 循环作为结尾。

### 函数

让我们从一个看似困难但其实很简单的基本概念开始，即函数。把它看作是一种简单的方法，可以把脚本中被反复使用的部分放到一个可重复使用的组中。你在本系列第一篇或第二篇文章中所做的任何事情都可以放在一个函数中。因此，让我们把一个函数放到我们的 `learnToScript.sh` 文件中。让我指出几个关键点。你将需要为你的函数起一个名字、一对小括号，以及用大括号包围放在你的函数中的命令。

```
#!/bin/bash

#A function to return an echo statement.
helloFunc() {
        echo "Hello from a function."
}

#invoke the first function helloFunc()
helloFunc

```

你会看到如下输出结果：

```
[zexcon@fedora ~]$ ./learnToScript.sh
Hello from a function.
[zexcon@fedora ~]$

```

函数是重复使用一组命令的好方法，但如果你能使它们在每次使用时对不同的数据进行操作，它们会更加有用。这就要求你在每次调用函数时提供数据，这称为参数。

要提供参数，你只需在调用函数时把它们加在函数名称后面。为了使用你提供的数据，你在函数命令中使用位置来引用它们。它们将被命名为 `$1`、`$2`、`$3`，以此类推，这取决于你的函数将需要多少个参数。

让我们修改上一个例子来帮助更好地理解这个问题。

```
#!/bin/bash

#A function to return an echo statement.
helloFunc() {
        echo "Hello from a function."
        echo $1
        echo $2
        echo "You gave me $# arguments"
}

#invoke the function helloFunc()
helloFunc "How is the weather?" Fine

```

输出如下：

```
Hello from a function.
How is the weather?
Fine
You gave me 2 arguments

```

输出中发生的事情是 `helloFunc()` 在每一行都做了一个回显。首先它回显了一个 `Hello from a function`，然后它继续回显变量 `$1` 的值，结果是你传递给 `helloFunc` 的 `"How is the weather?"`。然后它将继续处理变量 `$2`，并回显其值，这是你传递的第二个项目：`Fine`。该函数将以回显 `You gave me $# arguments` 结束。注意，第一个参数是一个用双引号括起来的单个字符串 `"How is the weather?"`。第二个参数 `Fine` 没有空格，所以不需要引号。

除了使用 `$1`、`$2` 等之外，你还可以通过使用变量 `$#` 来确定传递给函数的参数数量。这意味着你可以创建一个接受可变参数数量的函数。

关于 bash 函数的更多细节，网上有很多好的参考资料。[这里有一个可以让你入门的资料](https://opensource.com/article/20/6/bash-functions)。

我希望你能了解到函数如何在你的 bash 脚本中提供巨大的灵活性。

### 数值比较 []

如果你想进行数字比较，你需要在方括号 `[]` 中使用以下运算符之一：

* `-eq` （等于）
* `-ge` （等于或大于）
* `-gt` （大于）
* `-le` （小于或等于）
* `-lt` （小于）
* `-ne` （不相等）

因此，举例来说，如果你想看 12 是否等于或小于 25，可以像 `[ 12 -le 25 ]` 这样。当然，12 和 25 可以是变量。例如，`[ $twelve -le $twentyfive ]`。（LCTT 译注：注意保留方括号和判断语句间的空格）

### if 和 elif 语句

那么让我们用数字比较来介绍 `if` 语句。Bash 中的 `if` 语句将以 `if` 开始, 以 `fi` 结束。`if` 语句 以 `if` 开始，然后是你想做的检查。在本例中，检查的内容是变量 `numberOne` 是否等于 `1`。如果 `numberOne` 等于 `1`，将执行 `then` 语句，否则将执行 `else` 语句。

```
#!/bin/bash

numberTwelve=12

if [ $numberTwelve -eq 12 ]
then
        echo "numberTwelve is equal to 12"
elif [ $numberTwelve -gt 12 ]
then
        echo "numberTwelve variable is greater than 12"
else
        echo "neither of the statemens matched"
fi

```

输出如下：

```
[zexcon@fedora ~]$ ./learnToScript.sh
numberTwelve variable is equal to 12

```

你所看到的是 `if` 语句的第一行，它在检查变量的值是否真的等于 `12`。如果是的话，语句就会停止，并发出 `numberTwelve is equal to 12` 的回显，然后在 `fi` 之后继续执行你的脚本。如果变量大于 `12` 的话，就会执行 `elif` 语句，并在 `fi` 之后继续执行。当你使用 `if` 或 `if`/`elif` 语句时，它是自上而下工作的。当第一条语句是匹配的时候，它会停止并执行该命令，并在 `fi` 之后继续执行。

### 字符串比较 [[]]

这就是数字比较。那么字符串的比较呢？使用双方括号 `[[]]` 和以下运算符等于或不等于。（LCTT 译注：注意保留方括号和判断语句间的空格）

* `=` （相等）
* `!=` （不相等）

请记住，字符串还有一些其他的比较方法，我们这里不会讨论，但可以深入了解一下它们以及它们是如何工作的。

```
#!/bin/bash

#variable with a string
stringItem="Hello"

#This will match since it is looking for an exact match with $stringItem
if [[ $stringItem = "Hello" ]]
then
        echo "The string is an exact match."
else
        echo "The strings do not match exactly."
fi

#This will utilize the then statement since it is not looking for a case sensitive match
if [[ $stringItem = "hello" ]]
then
        echo "The string does match but is not case sensitive."
else
        echo "The string does not match because of the capitalized H."
fi

```

你将得到以下三行：

```
[zexcon@fedora ~]$ ./learnToScript.sh
The string is an exact match.
The string does not match because of the capitalized H.
[zexcon@fedora ~]$

```

### while 循环

在结束这个系列之前，让我们看一下循环。一个关于 `while` 循环的例子是：“当 1 小于 10 时，在数值上加 1”，你继续这样做直到该判断语句不再为真。下面你将看到变量 `number` 设置为 `1`。在下一行，我们有一个 `while` 语句，它检查 `number` 是否小于或等于 `10`。在 `do` 和 `done` 之间包含的命令被执行，因为 `while` 的比较结果为真。所以我们回显一些文本，并在 `number` 的值上加 `1`。我们继续执行，直到 `while` 语句不再为真，它脱离了循环，并回显 `We have completed the while loop since $number is greater than 10.`。

```
#!/bin/bash

number=1

while [ $number -le 10 ]
do
        echo "We checked the current number is $number so we will increment once"
        ((number=number+1))
done
        echo "We have completed the while loop since $number is greater than 10."

```

`while` 循环的结果如下：

```
[zexcon@fedora ~]$ ./learnToScript.sh
We checked the current number is 1 so we will increment once
We checked the current number is 2 so we will increment once
We checked the current number is 3 so we will increment once
We checked the current number is 4 so we will increment once
We checked the current number is 5 so we will increment once
We checked the current number is 6 so we will increment once
We checked the current number is 7 so we will increment once
We checked the current number is 8 so we will increment once
We checked the current number is 9 so we will increment once
We checked the current number is 10 so we will increment once
We have completed the while loop since 11 is greater than 10.
[zexcon@fedora ~]$

```

正如你所看到的，实现这一目的所需的脚本量要比用 `if` 语句不断检查每个数字少得多。这就是循环的伟大之处，而 `while` 循环只是众多方式之一，它以不同的方式来满足你的个人需要。

### 总结

下一步是什么？正如文章所指出的，这是，面向 Bash Shell 脚本初学者的。希望我激发了你对脚本的兴趣或终生的热爱。我建议你去看看其他人的脚本，了解你不知道或不理解的地方。请记住，由于本系列每篇文章都介绍了数学运算、比较字符串、输出和归纳数据的多种方法，它们也可以用函数、循环或许多其他方法来完成。如果你练习所讨论的基础知识，你将会很开心地把它们与你还要学习的所有其他知识结合起来。试试吧，让我们在 Fedora Linux 世界里见。

---

via: <https://fedoramagazine.org/bash-shell-scripting-for-beginners-part-3>

作者：[Matthew Darnell](https://fedoramagazine.org/author/zexcon/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何让 KDE 看起来像 GNOME

Summary: 在不放弃你的 Plasma 桌面的情况下获得 GNOME 的感觉。

能反过来吗？

我第一次用 GNOME 的时候，GNOME 还在疯狂的内存泄露（几年后，听说后面给修复了），这个阴影伴随我多年。

KDE Connect 真的很赞，KDE + i3WM 更赞。

这是什么操作？

来自福建福州的 Chrome Mobile 98.0|Android 8.0 用户

正在使用2015款MacBook上真机体验GNOME 41，完美支持触控板操作，相当流畅（比最新的macOS反应更快），开销也不比KDE高，UI一致性比KDE更好。

在不放弃你的 Plasma 桌面的情况下获得 GNOME 的感觉。

# 如何让 KDE 看起来像 GNOME

>
> 在不放弃你的 Plasma 桌面的情况下获得 GNOME 的感觉。
>
>
>

GNOME 有一种极简主义设计的倾向。它是一种美丽的桌面体验，并且是第一个在我使用 Linux 时引起别人赞叹的自由桌面。然后（请原谅我的形而上的哲学思考），没有复杂性就没有极简主义，而 KDE 以其极具定制性而闻名。我认为测试一下 KDE 的配置可能会很有趣，并尝试在 KDE Plasma 桌面上重新实现，至少在表面上实现 GNOME 的体验。

如果你尝试这个，请在一个临时用户帐户中进行。这些变化相对来说比较剧烈，撤销它以回到你的标准 KDE 布局可能是一个很大的工作。

### Adwaita 主题

GNOME 的默认主题叫做 Adwaita，是为 GTK 设计的，这是 GNOME 用于窗口和部件的工具包。KDE 使用 Qt 工具包，但 Fedora-Qt 项目已经开发了一个模仿 Adwaita 的 Qt 主题。这是在 KDE 上模仿 GNOME 的第一步，也是最明显的一步。使用你的发行版的包管理器安装 Adwaita for Qt：

```
$ sudo dnf install adwaita-qt{,5}

```

在基于 Debian 的发行版上，请使用 `apt` 命令而不是 `dnf`。

安装完毕后，进入“<ruby> 系统设置 <rt>  System Settings </rt></ruby>”，选择“<ruby> 应用风格 <rt>  Application Style </rt></ruby>”。选择你喜欢的 Adwaita 主题变体：有一个浅色主题和一个深色主题，以及两者之间的变化。点击“<ruby> 应用 <rt>  Apply </rt></ruby>”按钮来更新你的主题，但先不要关闭这个控制面板。

### 窗口装饰

在“<ruby> 应用风格 <rt>  Application Style </rt></ruby>”窗口的左侧面板中选择“<ruby> 窗口装饰 <rt>  Window Decorations </rt></ruby>”分类。如果有一个适合 Adwaita 的标题栏样式，通过选择它并点击“<ruby> 应用 <rt>  Apply </rt></ruby>”来激活它。如果没有安装额外的装饰，点击面板右下方的“<ruby> 获取新窗口装饰 <rt>  Get new window decorations </rt></ruby>”按钮，下载合适的东西。我使用了用户 x-varlesh-x 提供的 “Arc” 主题，但你可以四处看看，看看什么最适合你的其他主题。

GNOME 著名的是它的窗口标题栏上只有一个按钮，所以导航到“<ruby> 标题栏按钮 <rt>  Titlebar Buttons </rt></ruby>”标签，然后通过将“<ruby> 关闭 <rt>  Close </rt></ruby>”按钮从标题栏图像拖到处置区域来删除所有按钮。

取消选择“<ruby> 显示标题栏按钮提示 <rt>  Show titlebar button tooltips </rt></ruby>”，因为 GNOME 不倾向于在系统部件上做提示。

点击“<ruby> 应用 <rt>  Apply </rt></ruby>”来保存你的修改。

### GTK 主题

在 KDE 上，使用 GTK 的应用通常会被重新主题化成与 KDE 的默认主题一致。现在你已经把你的主题从 KDE Breeze 改为 GNOME Adwaita，你必须告诉 GTK 使用 Adwaita 主题。

点击“<ruby> 应用风格 <rt>  Application Style </rt></ruby>”面板底部的“<ruby> 配置 GNOME/GTK 应用风格 <rt>  Configure GNOME/GTK application style </rt></ruby>”按钮，在下拉菜单中选择 “Adwaita”。

### 工作区行为

GNOME 在视觉上比 KDE 更安静，所以在“<ruby> 系统设置 <rt>  System Settings </rt></ruby>”中找到“<ruby> 工作区行为 <rt>  Workspace behavior </rt></ruby>”面板，停用“<ruby> 在鼠标悬停时显示信息提示 <rt>  Display informational tooltips on mouse hover </rt></ruby>”和“<ruby> 显示状态变化的视觉反馈 <rt>  Display visual feedback for status changes </rt></ruby>”。

你也可以把打开文件和文件夹改为需要双击而不是单击（在实际中，这对我来说太不方便了）。

### 图标和光标

你可以在“<ruby> 系统设置 <rt>  System Settings </rt></ruby>”中把光标改为 Adwaita 主题，然后选择一个图标主题。我喜欢 Breeze 的图标，但它们确实感觉像 KDE。GNOME 使用 Adwaita 图标集，但由于它们是为 GNOME 设计的，所以缺少一些重要的 KDE 组件的图标。你可以点击“<ruby> 图标 <rt>  Icons </rt></ruby>”控制面板中的“<ruby> 获取新图标 <rt>  Get New Icons </rt></ruby>”按钮来浏览很多图标集，最后我选择了用户 alvatip 提供的 “Nordzy”。不过，有很多不错的图标集可用，查看它们，看看你喜欢什么。我发现任何不属于 Breeze 的东西都会使 KDE 看起来与我习惯的东西有足够的不同。

### 系统面板

GNOME 的面板在屏幕的顶部，而 KDE 的面板默认在屏幕的底部。GNOME 的面板在默认情况下也是比较空的，所以我发现最简单的做法是先把当前的 KDE 面板完全删除。

右键点击并选择“<ruby> 编辑面板 <rt>  Edit panel </rt></ruby>”。进入编辑模式后，再次右键点击面板，选择“<ruby> 删除面板 <rt>  Remove panel </rt></ruby>”。当它消失了，右击桌面上的任何地方，选择“<ruby> 添加面板 <rt>  Add panel </rt></ruby>”并添加一个空面板。这样就在屏幕底部添加了一个面板，所以右击它，选择“<ruby> 编辑面板 <rt>  Edit panel </rt></ruby>”，然后点击并拖动“<ruby> 屏幕边缘 <rt>  Screen Edge </rt></ruby>”按钮到屏幕的顶部。

当仍处于编辑模式时，点击“<ruby> 添加部件 <rt>  Add widgets </rt></ruby>”按钮，将“<ruby> 应用仪表板 <rt>  Application dashboard </rt></ruby>”部件添加到面板的最左端。然后从“<ruby> 编辑面板 <rt>  Edit panel </rt></ruby>”视图中添加一个“<ruby> 间隔 <rt>  Spacer </rt></ruby>”块，然后是一个“<ruby> 时钟 <rt>  Clock </rt></ruby>”，然后是另一个“<ruby> 间隔 <rt>  Spacer </rt></ruby>”。你可以拖动这些小部件来排列它们，所以我发现最简单的做法是添加上应用仪表板和时钟，然后是两个间隔，再把它们排列起来。

你可以右键点击每个小组件来定制图标和布局。例如，我把日期从时钟上移走了，因为它在附加了日期后看起来很挤，尽管 GNOME 确实包含了日期。

通过进入“<ruby> 系统设置 <rt>  System Settings </rt></ruby>”，选择一个深色的 Plasma 主题，比如 “Breeze Dark”，将面板改为黑色。

### GNOME Plasma 桌面

通过一些快速的调整，你的桌面现在在各个方面接近于 GNOME。布局是类似的。

应用仪表板提供了一个 GNOME 风格的应用启动器。

其他小的修改进一步有助于产生这种错觉。例如，我简化了 Dolphin 文件管理器，去掉了“<ruby> 位置 <rt>  Places </rt></ruby>”面板，也去掉了工具栏上的大部分按钮。

### 一个不同的视角

这不是一个精确的匹配，比我更具钻研精神的人可以做的更多，得到更接近正确的结果。然而，像这样有趣的变化证明了 KDE 是多么的灵活，拥有大量的选项意味着你可以缩减你的交互内容以适应你的偏好。一个类似 GNOME 的桌面可以给你一个新的视角来看待你与桌面的互动，即使你不会永远保持这种布局，它可以帮助你发现你可能没有想到要寻找的选项。

---

via: <https://opensource.com/article/22/2/make-kde-look-like-gnome>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #561 大部分 Rust 程序员认为 Rust 很有挑战性，但值得

Summary: 更多：• FSF 公布五篇探讨 GitHub Copilot 的论文 • 中国手机品牌几乎统治欧洲最大的通信展

坐等杀妻作者在2024年去除废弃标记

欧洲苦三星久矣。

来自江西南昌的 Chrome Mobile 65.0|Android 8.1 用户

# 硬核观察 #561 大部分 Rust 程序员认为 Rust 很有挑战性，但值得

### 大部分 Rust 程序员认为 Rust 很有挑战性，但值得

在对 Rust 社区的 [年度调查中发现](https://blog.rust-lang.org/2022/02/15/Rust-Survey-2021.html)，使用 Rust 的人中，81% 的人至少每周都在使用这种语言。75% 的 Rust 用户表示用于生产环境。在工作中使用 Rust 的人，83% 的人认为它具有挑战性。只有 13% 的受访者认为该语言拖累了他们的团队，而 82% 的人认为 Rust 有助于他们的团队实现他们的目标。只有 1% 的受访者认为挑战不值得，而 79% 的受访者说肯定值得。90% 的人表示将有可能在未来再次使用 Rust。96% 的人使用它的人是因为它可以“构建相对正确和没有错误的软件”，其次是 92% 的人因为性能选择了它。

>
> 老王点评：Rust 虽然很难，但是明显已经准备好在生产环境取代 C 语言了。
>
>
>

### FSF 公布五篇探讨 GitHub Copilot 的论文

FSF 称微软的 GitHub Copilot 为“服务即软件替代物（SaaSS）”，他们认为它“立即对自由软件运动和我们保障用户和开发者自由的能力提出了严重的问题”，因而向社区征文讨论这一新生事物。现在他们 [公布了其中五篇论文](https://www.fsf.org/news/publication-of-the-fsf-funded-white-papers-on-questions-around-copilot)，虽然 FSF 不一定同意或反对这些论文的观点，但认为它们推动了对这一问题的讨论。

顺便说一句，Copilot 的意思不是“复制许多”，而是指（飞机上的）“副驾驶”、“自动驾驶仪”，虽然确实是由 AI 从代码库中“复制”出许多代码的。

>
> 老王点评：这种写出的代码版权和知识产权该如何界定，还需要讨论，但是我认为这种技术是一种有益的进步。
>
>
>

### 中国手机品牌几乎统治欧洲最大的通信展

下周，世界最大的手机贸易展，世界移动通信大会（WMC）将在巴塞罗那举办。从目前的情况来看，展会上所有最大的硬件发布似乎都可能 [来自中国](https://www.theverge.com/2022/2/27/22950422/mwc-mobile-world-congress-2022-chinese-phone-brands-honor-oppo-huawei-tcl-poco)，如 OPPO、荣耀、TCL、小米的子品牌 Poco 和华为，而不是前些年来自欧洲、美国，甚至像韩国这样的亚洲国家的品牌。截至去年，IDC 报告称，全球最受欢迎的五大智能手机品牌中的三个（小米、Oppo 和 vivo）总部都在中国，虽然第一和第二的位置被三星和苹果占据。

>
> 老王点评：虽然苹果和谷歌不太重视这个展会，但是也代表了中国手机制造行业的兴盛。
>
>
>

### 回音

* 之前我们 [报道过](/article-14300-1.html) Linux 讨论废弃 ReiserFS 文件系统，现在已经标记该文件系统为废弃，并将在 2025 年删除它。另外，它的作者因杀妻入狱 15 年后，将在 [2023 年获释](https://www.solidot.org/story?sid=66625)。


Fedora 36 发布时间表和新功能

哟，看看，这是谁来了？<br />
哦，原来是跳票王 Fedora 啊。

Fedora 一到店，所有发行版便都看着他笑，有的叫道，"Fedora，你今年打算跳几次票！" 他不回答，对柜里说，"更两个包，要一个新内核。" 便排出一张路线图。

他们又故意的高声嚷道，"你一定又遇到重大 BUG 了！" Fedora 睁大眼睛说，"你怎么这样凭空污人清白……" "什么清白？我前天亲眼见你遇到 GPU 的 BUG，直接卡住。"

Fedora 便涨红了脸，额上的青筋条条绽出，争辩道，"BUG 不能算……BUG！……Feature 的事，能算 BUG 么？" 接连便是难懂的话，什么 "致力创新"，什么 "First" 之类，引得众人都哄笑起来：店内外充满了快活的空气。

注：

1.GPU 的 BUG 是指 bugzilla.redhat.com/show_bug.cgi?id=1825046

2.Features、First、致力创新是 Fedora 的自我介绍 (docs.fedoraproject.org/en-US/project)

老鲁乙己了

正在用Fedora35写评论，非常期待36

fedora还是挺好的，我选arch

果然跳票了...

# Fedora 36 发布时间表和新功能

>
> Fedora 36 很快就要发布了，预期会有哪些功能呢？还有，它准备什么时候发布？
>
>
>

Fedora 36 是 [今年最值得期待的发布](https://news.itsfoss.com/linux-distro-releases-2022/) 之一。

虽然我们期待每一个重要的发布，但去年，[Fedora 35](https://news.itsfoss.com/fedora-35-release/) 以 GNOME 41 和一个新的 KDE 流派（Kinoite）让人期待它带来一些令人兴奋的变化。

别着急；如果你等不及要看到 Fedora 36，我将重点指出有关该版本的基本细节。

### Fedora 36 发布日期

按照官方的时间表，Fedora 36 测试版的早期发布日期是 **2022 年 3 月 15 日**。而且，Fedora 36 测试版的延迟发布日期（万一延迟）是 **2022 年 3 月 22 日**。

一旦公开测试完成，最终的发布日期可望在 **2022 年 4 月 19 日**。如果出现延迟，发布日期将被推至 **2022 年 4 月 26 日**。

你还应该注意，Fedora Linux 34 将在 **2022 年 5 月 17 日** 走到其生命的终点。

你现在可以尝试用每夜构建版来下载 Fedora 36（链接在本文底部），但是距离测试版发布还有几周时间，你应该等等。

### Fedora 36 功能

像往常一样，Fedora 36 拥有最新的 GNOME 以及其他的补充和改进。

主要的亮点包括：

#### 1、GNOME 42

[GNOME 42](https://news.itsfoss.com/gnome-42-features/) 是一次令人兴奋的升级，有各种视觉和功能的变化。

它还包括性能和视觉上的调整及其他改进。如果你没了解过 [GNOME 41 增加的功能](https://news.itsfoss.com/gnome-41-release/)，你也应该看看。

当然，你可以预期在 Fedora 36 中找到所有这些变化。在这里，我将重点指出那些 Fedora 36 中的细节（如果你没有用上 GNOME 42）。

#### 2、全系统的深色模式

Fedora 36 享有从 GNOME 42 引入的全系统深色模式。

虽然在其他 Linux 发行版上有深色模式的实现，但 GNOME 42 帮助 Fedora 36 成为桌面用户的一个有吸引力的选择。

深色模式完美地融合在一起，给人一种干净的 GNOME 体验。

#### 3、新壁纸

如果没有一张新的壁纸，其他的改进听起来都很乏味。

所以，Fedora 设计团队在 Fedora 36 中带来了一张制作精美的壁纸，这是一张风景插图，看起来很不错。

默认的壁纸有日间/夜间的变体。正如你所注意到的上面的白天的壁纸，下面是晚上的艺术作品。

两者看起来都很奇妙，对眼睛也很舒畅。

#### 4、Linux 内核 5.17

众所周知，Fedora 36 提供最新的 Linux 内核版本。截至目前，它正在运行即将发布的 Linux 内核 5.17 的候选版本。

随着 Fedora 36 的最终发布，你应该看到 Linux 内核 5.17 的稳定版本。

#### 5、深色/浅色壁纸

除了 Fedora 36 的新默认壁纸之外，它还具有与 GNOME 42 一起引入的深色/浅色模式壁纸集。

截至目前，在测试 Fedora 36 工作站（预发布版本）时，我只能找到其中一张壁纸，而不是 GNOME 42 中的整个系列。

所以，你也许可以期待在 Fedora 36 测试版中增加更多的内容。

你可以从外观上选择壁纸及其可用的深色/浅色变体。

#### 6、屏幕截图用户界面和本地屏幕录制

GNOME 42 引入的新的屏幕截图用户界面是一个奇妙的补充。另外，只需切换一下，你就可以开始录制你的屏幕了！

你可以看到 Fedora 36 的这个功能，工作得非常好。

#### 7、桌面环境更新

由于显而易见的原因，你应该在 Fedora 36 看到提供的最新的桌面环境。

最基本的应该是 GNOME 42、[KDE Plasma 5.24](https://news.itsfoss.com/kde-plasma-5-24-lts-release/) 和 Xfce 4.16。

除此之外，LXQt 也已经更新到 1.0.0。

#### 8、重要的技术变化

除了视觉上的变化和 Linux 内核的升级，Fedora 36 还有各种技术改进。

其中一些值得一提的包括：

* 将系统的 openJDK 包从 Java 11 更新为 Java 17。
* 引入了即将推出的 Golang 1.18 版本。
* 将各种语言的字体切换为 Noto 字体作为默认字体，以确保文本渲染的一致性。
* 今后自动升级时排除推荐软件包的行为（如果你没有安装它们）。
* GNU 工具链更新至 gcc 12 和 glibc 2.35。
* 修复某些情况下的升级性问题。
* 默认的 Wayland 会话与 NVIDIA 专有驱动程序。
* 更新 PHP 栈到最新的 8.1.x。
* RPM 数据库将被重新定位到 `/usr` 目录，目前它在 `/var`。

关于更多的技术细节，你可以参考 [官方变更集](https://fedoraproject.org/wiki/Releases/36/ChangeSet)。如果你想下载预发布版本，你可以从下面的链接抓取 ISO。

* [Fedora 36（预发布）](https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-36/compose/Workstation/x86_64/iso/)。

### 总结

Fedora 36 将会是一个令人激动的版本。

当它发布时，我很期待在 Fedora 36 工作站上尝试 Wayland 会话与 NVIDIA 专有驱动程序。

你对这个版本有什么期待？请在下面的评论中告诉我。

---

via: <https://news.itsfoss.com/fedora-36-release-date-features/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Kubernetes 部署的可视化地图

@admin , @wxy ，提个建议。

pod 这种名词在业内都在使用英文的情况下，建议不要自行选一个解释作翻译，就使用英文，免得产生歧义（除非你是中文社区第一个翻译的人）。

不然翻译成 "吊舱"，感觉很诡异好吧，之前还见过一个人把 pod 译成 "豆荚"，就离谱。虽然 pod 也有这两个意思，但看着太怪了。

# Kubernetes 部署的可视化地图

>
> 通过查看创建一个吊舱或一个部署时的 10 个步骤，可以更好地了解 Kubernetes。
>
>
>

当你在 Kubernetes 上使用容器时，你经常把应用程序组合在一个<ruby> 吊舱 <rt>  pod </rt></ruby>中。当你把一个容器或一个吊舱发布到生产环境中时，它被称为一个<ruby> 部署 <rt>  deployment </rt></ruby>。如果你每天甚至每周都在使用 Kubernetes，你可能已经这样做过几百次了，但你有没有想过，当你创建一个吊舱或一个部署时到底会发生什么？

我发现在高层次上了解事件链条是有帮助的。当然，你不一定要理解它。即使你不知道为什么，它仍然在工作。我不打算列出每一件发生的小事，但我的目标是涵盖所有重要的事情。

这里有一张 Kubernetes 不同组件如何互动的视觉地图。

你可能注意到，在上图中，我没有包括 etcd。API 服务器是唯一能够直接与 etcd 对话的组件，而且只有它能够对 etcd 进行修改。因此，你可以认为 etcd 在这张图中存在于（隐藏的）API 服务器后面。

另外，我在这里只讲到了两个主要的控制器（<ruby> 部署控制器 <rt>  Deployment controller </rt></ruby>和<ruby> 复制集控制器 <rt>  ReplicaSet controller </rt></ruby>）。其他的控制器的工作方式类似。

下面的步骤描述了当你执行 `kubectl create` 命令时会发生什么。

### 步骤 1

当你使用 `kubectl create` 命令时，一个 HTTP POST 请求被发送到 API 服务器，其中包含部署清单。API 服务器将其存储在 etcd 数据存储中，并返回一个响应给 `kubectl`。

### 步骤 2 和 3

API 服务器有一个观察机制，所有观察它的客户都会得到通知。客户端通过打开与 API 服务器的 HTTP 连接来观察变化，API 服务器会流式地发出通知。其中一个客户端是部署控制器。部署控制器检测到一个<ruby> 部署 <rt>  Deployment </rt></ruby>对象，它用部署的当前规格创建一个<ruby> 复制集 <rt>  ReplicaSet </rt></ruby>。该资源被送回 API 服务器，并存储在 etcd 数据存储中。

### 步骤 4 和 5

与上一步类似，所有观察者都会收到关于 API 服务器中的变化的通知。这一次，复制集控制器会接收这一变化。该控制器了解所需的副本数量和对象规格中定义的吊舱选择器，创建吊舱资源，并将这些信息送回 API 服务器，存储在 etcd 数据存储中。

### 步骤 6 和 7

Kubernetes 现在拥有运行吊舱所需的所有信息，但吊舱应该在哪个节点上运行？<ruby> 调度器 <rt>  Scheduler </rt></ruby>观察那些还没有分配到节点的吊舱，并开始对所有节点进行过滤和排序，以选择最佳节点来运行吊舱。一旦节点被选中，该信息将被添加到吊舱规格中。而且它被送回 API 服务器并存储在 etcd 数据存储中。

### 步骤 8、9 和 10

到目前为止的所有步骤都发生在<ruby> 控制平面 <rt>  control plane </rt></ruby>本身。<ruby> 工作节点 <rt>  worker node </rt></ruby>还没有做任何工作。不过，吊舱的创建并不是由控制平面处理的。相反，在所有节点上运行的 `kubelet` 服务观察 API 服务器中的吊舱规格，以确定它是否需要创建任何吊舱。在调度器选择的节点上运行的 kubelet 服务获得吊舱规格，并指示工作节点上的容器运行时创建容器。这时就会下载一个容器镜像（如果它还不存在的话），容器就会实际开始运行。

### 理解 Kubernetes 的部署

对这个一般流程的理解可以帮助你理解 Kubernetes 中的许多事件。考虑一下 Kubernetes 中的<ruby> 守护进程集 <rt>  DaemonSet </rt></ruby>或<ruby> 状态集 <rt>  StatefulSet </rt></ruby>。除了使用不同的控制器外，吊舱的创建过程是一样的。

课后作业：如果部署被修改为有三个应用程序的副本，导致创建吊舱的事件链条会是什么样子？你可以参考图表或列出的步骤，但你肯定有你需要弄清楚的知识。知识就是力量，你现在有了了解 Kubernetes 的一个重要组成部分。

---

via: <https://opensource.com/article/22/3/visual-map-kubernetes-deployment>

作者：[Nived Velayudhan](https://opensource.com/users/nivedv) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #562 比特币挖矿正变得越来越不环保

Summary: 更多：• 备份不再能有效阻止勒索软件攻击 • Mozilla 计划建立新的社区 Connect

Mozilla做点Bug，在社区收集用户数据，再卖给Google。妙

真的假的？

不对呀，这东西曾经“环保”过吗

# 硬核观察 #562 比特币挖矿正变得越来越不环保

### 比特币挖矿正变得越来越不环保

过去比特币矿工对可再生能源的依赖度，经常在 40~70% 之间大幅波动。自中国清退高能耗加密货币挖矿行业以来，迁移到世界各地的比特币开采工作，正变得较以往任何时候更加不环保。[专家指出](https://www.cell.com/joule/fulltext/S2542-4351(22)00086-1)，这可能是矿工使用了更多燃煤和天然气电力，而不是中国丰富的水电资源的结果。在比特币挖矿中，可再生能源发电的占比出现了大幅下降，从 2020 年的平均 42%、滑落到了 2021 年 8 月的 25% 。

>
> 老王点评：大量接收了比特币矿场的美国，不知道对此怎么看。
>
>
>

### 备份不再能有效阻止勒索软件攻击

[调查发现](https://www.computerweekly.com/news/252513735/Backups-no-longer-effective-for-stopping-ransomware-attacks)，83% 的成功勒索攻击使用了替代勒索方法：38% 使用窃取的数据勒索客户，35% 向暗网泄露数据，只有 17% 的攻击只要求赎金以换取解密密钥。备份能最小化数据被加密带来的影响，但无法阻止勒索软件组织使用窃取的数据进行二次甚至三次勒索。调查发现 18% 的受害者在支付赎金之后数据仍然泄露，这一比例甚至高于 16% 拒绝支付赎金的受害者。

>
> 老王点评：对抗勒索攻击已经成为各个稍有规模的公司必须认真面对的事情了。
>
>
>

### Mozilla 计划建立新的社区 Connect

Mozilla 在去年 6 月推出了 Mozilla Ideas，以让用户可以贡献想法、和开发者沟通。但该项目已经失败，一方面是 Ideas 在一个需要创建账户的私人服务上，而用户不喜欢；另外一方面是没有用户浪费他们的时间来贡献想法，也没有开发者投入他们的时间来浏览该网站。Mozilla Ideas 将在[Mozilla Connect](https://voonze.com/mozilla-ideas-closes-its-doors-but-the-mozilla-idea-persists/) 品牌下重新出现，支持 Firefox 账号，会有 Mozilla 员工的更多参与。但目前还不知道 Mozilla Connect 何时开放。

>
> 老王点评：问题是，就算有这样的沟通社区，Mozilla 也得听才行。
>
>
>

### 回音

* 英伟达 [反击黑客失败](/article-14312-1.html) 后，黑客开始开始出售窃取的数据，并销售一种可以绕过 RTX 30 系列中的 [挖矿限制](https://www.bleepingcomputer.com/news/security/hackers-to-nvidia-remove-mining-cap-or-we-leak-hardware-data/) 的代码。


用 SELinux 保护你的容器

哈哈，很多 Linux 教程第一步就是关闭 SELinux。

# 用 SELinux 保护你的容器

>
> 黑掉你的系统，了解为什么配置 SELinux 作为你的第一道容器防线是很重要的。
>
>
>

<img src="content_image/album_202203_02_093614t53cfb857841qzzk.jpg" alt="" title="Three closed doors">

当有些事情在你的 Linux 环境中不能正常工作时，最简单的方法就是禁用<ruby> 安全增强型 Linux <rt>  Security-Enhanced Linux </rt></ruby>（[SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux)）。而当它突然可以工作了，你就会忘记了禁用这件事 —— 这是一个常见的陷阱，意味着你已经失去了一个非常强大的安全工具。

随着容器、微服务和分布式架构的兴起，威胁也在上升。这是由于一个老的、众所周知的问题：速度。容器的优势在于它们能让你快速行动，做更多的事情，并迅速改变。这意味着容器的采用已经飞速发展，但它所提供的速度也意味着你会遇到更多的问题和漏洞。当你越来越快地做更多的事情时，这自然会发生。

### 如何减轻威胁

正如孙子所说，“不战而屈人之兵”。当涉及到容器的基本防御时，这句话真的很有共鸣。为了避免问题（战斗），确保你的容器主机是安全的，你可以使用 SELinux 作为你的第一道防线。

SELinux 是一个开源项目，于 2000 年发布，2003 年集成到 Linux 内核中。根据 [红帽公司的解释](https://www.redhat.com/en/topics/linux/what-is-selinux)，“SELinux 是 [Linux 系统](https://www.redhat.com/en/topics/linux/what-is-linux) 的一个安全架构，允许管理员对谁可以访问系统有更多的控制。它最初是由美国国家安全局（NSA）开发的，是使用 Linux 安全模块（LSM）对 [Linux 内核](https://www.redhat.com/en/topics/linux/what-is-the-linux-kernel) 的一系列补丁。”

### 开始吧

当你想到容器时，首先想到的可能是 [Docker](https://opensource.com/resources/what-docker)。Docker 在 2013 年出现后掀起了一场容器采用革命。它是容器爆炸性流行的主要原因之一，但如上所述，大量采用增加了用户对安全风险的脆弱性。

在你用 SELinux 保护你的 Docker 容器之前，你需要设置一些东西。

#### 前置条件

* 安装并配置了 CentOS 8/RHEL 8。
* 安装并配置好 Docker CE
* 创建两个账户：root 和 非 root 用户（下面的例子中是 `mcalizo`）。

如果你需要在你的 RHEL 8/CentOS 8 服务器上设置 Docker，你可以按照这些 [说明](https://www.linuxtechi.com/install-docker-ce-centos-8-rhel-8/)。如果你运行的是 RHEL 8，你需要在开始之前删除预装的 Podman 和 runc 包。

首先，确保 SELinux 被启用：

```
[mcalizo@Rhel82 ~]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
[mcalizo@Rhel82 ~]$

```

然后，验证你的操作系统版本和 Docker 正在运行。以 root 身份登录并运行：

```
[root@rhel82 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)
[root@rhel82 ~]#

[root@rhel82 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-10-28 19:10:14 EDT; 15s ago
     Docs: https://docs.docker.com
 Main PID: 30768 (dockerd)
    Tasks: 8
   Memory: 39.0M
   CGroup: /system.slice/docker.service
           └─30768 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 28 19:10:13 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:13.889602941-04:00" level=error msg=">
Oct 28 19:10:13 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:13.903413613-04:00" level=warning msg>
Oct 28 19:10:13 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:13.903427451-04:00" level=warning msg>
Oct 28 19:10:13 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:13.903538271-04:00" level=info msg="L>
Oct 28 19:10:14 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:14.132060506-04:00" level=info msg="D>
Oct 28 19:10:14 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:14.308943088-04:00" level=info msg="L>
Oct 28 19:10:14 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:14.319438549-04:00" level=info msg="D>
Oct 28 19:10:14 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:14.319570298-04:00" level=info msg="D>
Oct 28 19:10:14 rhel82.home.labs.com dockerd[30768]: time="2020-10-28T19:10:14.333419209-04:00" level=info msg="A>
Oct 28 19:10:14 rhel82.home.labs.com systemd[1]: Started Docker Application Container Engine

```

检查你的 Docker 版本：

```
[root@rhel82 ~]# docker --version
Docker version 19.03.13, build 4484c46d9d

```

### 黑掉主机

了解一个问题的最好方法之一就是去体验它。因此，我将告诉你，如果你的安全设置不当，向 Docker 主机注入恶意代码是多么容易。

为了能够在 Docker 主机上做坏事，“恶意”的非 root 用户（本教程中为 `mcalizo`）必须是可以实例化 Docker 容器的组的成员。

首先，确认 `mcalizo` 用户属于哪个组：

```
[root@Rhel82 ~]# groups mcalizo
mcalizo : mcalizo

```

输出显示，`mcalizo` 只属于它自己的组。这意味着 `mcalizo` 不能实例化 Docker 容器，如果它试图这样做，将会得到这个错误：

```
[mcalizo@Rhel82 ~]$ docker run -it --rm centos:latest /bin/sh
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

```

要允许 `mcalizo` 实例化容器，将用户加入 `docker` 组：

```
[root@Rhel82 ~]# usermod -G docker -a mcalizo
[root@Rhel82 ~]# groups mcalizo
mcalizo : mcalizo docker

```

接下来，部署一个 `fedora:latest` 的容器，并登录到实例化的容器中去探索它：

```
[mcalizo@Rhel82 ~]$ docker run -it --rm fedora:latest /bin/sh
Unable to find image 'fedora:latest' locally
latest: Pulling from library/fedora
ee7e89337106: Pull complete
Digest: sha256:b9ec86d36fca7b1d3de39cd7c258e8d90c377d312c21a7748071ce49069b8db4
Status: Downloaded newer image for fedora:latest
sh-5.0# cat /etc/redhat-release
Fedora release 33 (Thirty Three)

```

当你登录到新创建的容器时，你可以看到你是以 root 身份自动登录的：

```
sh-5.0# whoami
root
sh-5.0#

```

作为 `root` 用户，你可以在这个容器中做任何事情，这意味着你可以利用容器主机，做很多破坏。因为你可以实例化一个容器，即使你不属于主机的 sudoers 账户，你也可以对主机做一些事情。

退出你刚刚创建的容器，并创建一个新的容器来演示这个漏洞：

```
[mcalizo@Rhel82 ~]$ docker run -it --rm -v /:/exploit fedora:latest /bin/bash
[root@131043f2e306 /]#

```

[-v 选项](https://docs.docker.com/storage/volumes/) 将 Docker 主机的 `/` 目录挂载到 `/exploit` 目录下的容器：

```
[root@131043f2e306 /]#ls exploit/
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

```

因为它已被挂载，你可以在 Docker 主机上做任何事情。例如，你可以删除文件、编辑特定的配置来破害系统，甚至安装木马程序或其他恶意软件来窃取重要信息。

### 为什么会发生这种情况？

你可能想知道，既然 SELinux 处于强制模式，为什么会出现这种情况？深入挖掘 SELinux，看看哪里出了问题。

验证 SELinux 是否有一个 [Docker 上下文](https://docs.docker.com/engine/reference/commandline/context/)：

```
[mcalizo@Rhel82 ~]$ ps -eZ | grep docker
system_u:system_r:container_runtime_t:s0 30768 ? 00:00:04 dockerd
[mcalizo@Rhel82 ~]$

```

正如预期的那样，它确实有。这意味着 SELinux 管理着 Docker 守护进程。检查 Docker 守护进程，看看 SELinux 是否默认启用：

```
[mcalizo@Rhel82 ~]$ docker info | grep Security -A3
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.18.0-193.el8.x86_64

```

Docker 守护进程中的 SELinux 在默认情况下是 **不启用** 的。 这就是问题所在！要解决这个问题，按 [文档](https://docs.docker.com/engine/reference/commandline/dockerd/) 说明，通过更新或创建文件 `/etc/docker/daemon.json` 来启用 SELinux 来控制和管理 Docker（你必须有 root 权限才能这样做）：

```
[root@Rhel82 ~]# cat /etc/docker/daemon.json
{
  "selinux-enabled": true
}
[root@Rhel82 ~]#
[root@Rhel82 ~]# systemctl restart docker

```

在创建或更新该文件并重启 Docker 后，你应该看到 Docker 守护进程中启用了 SELinux 支持：

```
[root@Rhel82 ~]# systemctl restart docker
[mcalizo@Rhel82 root]$ docker info | grep Security -A3
 Security Options:
  seccomp
   Profile: default
  selinux
[mcalizo@Rhel82 root]$

```

虽然仍然可以在你的 Docker 容器上挂载 Docker 主机中的特定文件系统，但不再允许更新或访问该文件：

```
[mcalizo@Rhel82 root]$ docker run -it --rm -v /:/exploit fedora:latest /bin/bash
[root@ecb5836da1f6 /]# touch /exploit/etc/shadow.sh
touch: cannot touch '/exploit/etc/shadow.sh': Permission denied
[root@ecb5836da1f6 /]#

```

### 了解更多

你在容器世界中的第一道防线取决于你对容器主机的操作系统的设置有多强。有许多方法可以实现 Linux 的安全性，包括市场上可供选择的方案，以增强你的安全态势。

SELinux 是一个额外的安全层，默认情况下内置于 [Linux 发行版](https://www.redhat.com/en/topics/linux/whats-the-best-linux-distro-for-you) 中。为了借助它保护你的系统不被破坏，请确保 SELinux 保持开启状态。

如果你想了解更多，请参阅：

* [如何在 CentOS 8 / RH 上安装 Docker CE](https://www.linuxtechi.com/install-docker-ce-centos-8-rhel-8/)
* [Docker 安全速查表](https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html)
* [dockerd 文档](https://docs.docker.com/engine/reference/commandline/dockerd/)
* [卷的使用文档](https://docs.docker.com/storage/volumes/)
* [什么是 SELinux？](https://www.redhat.com/en/topics/linux/what-is-selinux)

---

via: <https://opensource.com/article/20/11/selinux-containers>

作者：[Mike Calizo](https://opensource.com/users/mcalizo) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


KDE 与 GNOME：什么是 Linux 桌面的终极选择？

Summary: 在 最佳桌面环境 中，KDE Plasma 和 GNOME 特别受欢迎。在这里，我打算强调其中的关键区别，以帮助你做出决定。

KDE 是比 XFCE 更轻的桌面环境

对内存占用表示反对，我自己都试过同一个fedora35，两个桌面都是1.2G

以前用gnome,现在用kde

以前用gnome,现在用kde

Arch Linux 德国社区有个软件宝统计。

+ plasma-workspace: 30.46%

+ gnome-shell: 21.46%

+ xfdesktop: 14.19%

+ cinnamon: 4.05%

+ lxde-common: 3.48%

+ mate-panel: 2.9%

链接：pkgstats.archlinux.de/fun

我个人一如即往的推荐 KDE+i3WM。

一直gnome + awesome wm的路过 看来我是小众

gnome感觉是独立于win和mac之外交互相对成熟的UI，Kde就太像win，没有新鲜感。个人意见:)

只用gnome，没空定制。kde也用过，不喜欢kde系的应用软件，gtk系的在kde里面很丑，kde有苹果的臭味，也有微软的臭味。不喜欢gnome提供的应用软件，但是gnome提供的少，gtk系的有自由的味道。

GTK 的自由就是阻止用户换主题？笑死。

xfce is best.

surface安装linux，gnome触屏操作做的更好,我选择gnome

Gnome3确实是一个不错的选择，我也使用了很长时间，但是每次大的升级它的插件都会挂一大批，比如Hide Top bar 和 Dash to dock 是我必装的两款插件，但是升级Gnome3到V45后，发现一个多月过去了Hide Top bar目前还没有适配, 这个体验导致我放弃了Gnome3, 现在开始在KDE下工作了。希望有一天，那些优秀的Gnome插件被官方内置并同步更新，然后我再回到Gnome3.

# KDE 与 GNOME：什么是 Linux 桌面的终极选择？

说到 Linux，<ruby> 桌面环境 <rt>  desktop environment </rt></ruby>（DE）是个大问题。

桌面环境构成了图形用户界面（GUI），以及你在 Linux 发行版上得到的一组应用。

你可以通过我们的 [解释什么是桌面环境的文章](https://itsfoss.com/what-is-desktop-environment/) 了解。

选择一个好的桌面环境可以帮助你提高生产力、工作流程、易用性和整体体验。

在 [最佳桌面环境](https://itsfoss.com/best-linux-desktop-environments/) 中，KDE Plasma 和 GNOME 特别受欢迎。在这里，我打算强调其中的关键区别，以帮助你做出决定。

>
> 注意：KDE 是整个社区的人在其名下开发的各种项目。其中桌面环境的名字是 Plasma。在这里，我们将 Plasma 桌面与 GNOME 进行比较。然而，为了简单起见，我们倾向于使用 “KDE” 而不是 “Plasma”。
>
>
>

### 用户界面：功能与外观

用户界面通常涉及到布局类型、图标、主题、小工具和 GUI 的其他组件。

#### KDE

KDE 的目标是提供一个传统的桌面布局，让大多数 Windows 用户感到舒适。

不过，不要被这一点所迷惑。它的外观很简单，但却专注于更多的功能。

事实上，Windows 从 KDE 中获得了灵感，对其用户界面进行了一些改进，比如通过滚动任务栏中的音量图标来调整音量的能力。

而且，KDE 以其一致的外观和感觉而闻名，即使多年来有许多改进。

#### GNOME

另一方面，GNOME 提供了一种独特的桌面体验。如果你正在寻找一个不同的、现代的用户界面设计，GNOME 应该很适合你。

其图标/主题/壁纸可能看起来更符合现代标准。偏好有所侧重，但在我看来，GNOME 看起来更有吸引力。

然而，如果你已经适应了传统的类似 Windows 的布局，调整工作流程可能需要一段时间。

这里没有开始/应用/菜单按钮。你必须点击活动概览来访问你的工作空间（或虚拟桌面），并从同一个地方访问应用菜单。

对一些人来说，没有任务栏可能看起来更干净，但这取决于你的喜好。

请注意，与 KDE 相比，UI 可能没有那么多功能，也没那么丰富。例如，系统托盘中的部件提供了比 GNOME 上的小程序更多的选项。

因此，在 UI 方面，KDE 与 GNOME 并没有明显的赢家，而是取决于你对功能或现代外观的要求。

### 应用生态

#### KDE

使用 KDE，你可以获得 [无数的实用程序](https://apps.kde.org)。

你可能会被 KDE 提供给 KDE 上使用的应用所淹没。

不止如此，整个 KDE 社区都一直忙于为这个武器库添加新的应用和工具。

它们中许多在现有的应用中脱颖而出，如 Krita、Kdenlive、Kate 编辑器等等。

#### GNOME

GNOME 默认也具有 [众多的应用](https://apps.gnome.org/en-GB/)。虽然对于大多数用户来说，这可能是一个足够的列表，但与 KDE 相比，它在目录上有所不足。

我发现自己并没有使用过很多来自 GNOME 的应用。

而且，值得注意的是，与 GNOME 的默认应用相比，KDE 桌面环境自带的应用得到了更快的改进。

这是与 GNOME 应用程序相比的 KDE 的开发更新频度，不过这只是个人观察，这可能会随着时间而改变。

### 什么是最好的定制？

#### KDE

如果你想改造和控制用户体验，KDE 是一个很好的选择。

不要光听我说，你可以按照我们的 [KDE 定制指南](https://itsfoss.com/kde-customization/) 了解可用选项。

不仅仅是定制的能力，你还可以得到很多开箱即用的控制，用于改变主题、颜色、工作区效果、窗口管理等等，而不需要任何特定的应用程序/扩展。

对于一些人来说，如果你想坚持使用原版的体验，这么多的选项也不会产生什么影响，不用担心。

#### GNOME

至于 GNOME，你没有那么多开箱即用的控制。相反，你必须得依靠 GNOME “优化”或一些扩展来改变。但是，是的，你可以在很大程度上自定义体验。

另外，请注意，在写这篇文章的时候，[GNOME 42](https://news.itsfoss.com/gnome-42-features/) 还没有成为稳定版本。所以，你可以期待一个系统级的深色模式的实现，以及一些外观/感觉上的改进。

当然，这不是一个公平的比较，考虑到两者都提供不同的 GUI 元素和布局。然而，对于想要更多控制和定制选项的用户来说，KDE 会被选择。

GNOME 适合于不想要很多选项的用户。如果你喜欢 GNOME 提供的东西，并且愿意用额外的努力来定制体验，你也可以这么做。

### 额外的能力：KDE 与 GNOME

#### GNOME

如前所述，GNOME 提供了给你当前的配置 [增加更多的功能的扩展功能](https://itsfoss.com/gnome-shell-extensions/)。

你可以前往 [GNOME 的 shell 扩展网站](https://extensions.gnome.org) 来探索各种选择，或者看看我们的 [最佳 GNMOE 扩展列表](https://itsfoss.com/best-gnome-extensions/)。

GNOME 扩展让你可以轻松地做很多事情，比如使用自动移动窗口切换器来自动化应用启动的工作区。

有各种各样的扩展来改善你的工作流程，使事情变得简单。

然而，这些扩展取决于 GNOME shell 的版本。此外，由于从一个版本到另一个版本的激进变化，GNOME 扩展可能在未来的版本中停止工作。

#### KDE

另一方面，KDE 也提供了一个充满附加组件、小工具和应用附加组件的袋子。

不像 GNOME 从浏览器中添加扩展的那种不方便的方式（使用另一个浏览器扩展），你可以使用“发现”软件中心直接访问 KDE 的附加组件。

所以，添加额外的功能或主题就变成了一种无缝的体验，而不需要遵循一套单独的步骤。

不要忘了，像 KDE Connect 这样的工具提供了额外的能力，让你把你的手机和你的电脑连接起来。

总的来说，你可以在两者上扩展功能，但如果你想有更多的选择，KDE 更有优势。

### 无障碍选项

#### KDE

虽然 KDE 在几个方面做得很好，但增强桌面无障碍的可用能力非常有限（比如没有开箱即用的屏幕阅读器）。

有一种可能是，开发者正在用 Orca 屏幕阅读器应用来测试其功能，比如桌面的听力/视觉辅助，但在 KDE Plasma 5.24 中，它不够实用。

正如我们的一位读者所指出的，KDE 在安装前后都不能“说话”。所以，这对他们来说不是一个选择。

#### GNOME

然而，GNOME 做得更好，它有读屏器、视觉提醒、屏幕键盘、声音键、点击辅助等。

所以，如果一个用户依赖无障碍选项来使用桌面，GNOME 应该是个选择。

### KDE 比 GNOME 更快？

拥有一个能在可用系统资源下有效工作的桌面环境是很重要的。如果你想进行多任务处理，而又没有超好的配置来支持的话，这一点就显得无比重要。

KDE 通常被认为比其他大多数桌面环境要快，因为它对资源的占用很轻。

然而，为了给你一个参考，我创建了两个虚拟机（Fedora 35 和 KDE Neon 用户版），在你继续尝试之前提供一些想法。

两个虚拟机的设置都使用类似的资源配置，分配了两个核心和 8GB 内存，下面是我们的情况：

这个资源使用情况是在开启虚拟机后，后台没有任何东西运行的情况下的截图。

相比之下，由 KDE 驱动的发行版 KDE Neon 被证明在后台没有运行截图程序的情况下消耗了不到 1GB 的内存。

即使在截图程序运行的情况下，它消耗的资源也较少。

如果这还不能说服你，过去也有许多报告，比如 [Jason 的报告](https://www.forbes.com/sites/jasonevangelho/2019/10/23/bold-prediction-kde-will-steal-the-lightweight-linux-desktop-crown-in-2020/?sh=1338b70026d2)，提到 KDE 是比 XFCE 更轻的桌面环境。

### 可用的发行版：GNOME 与 KDE

大多数流行的发行版都将 GNOME 作为默认（或唯一）的桌面环境。Fedora、Ubuntu 和 Pop!\_OS 是流行的例子。

你应该能找到许多有单独的 GNOME 版本的发行版。

至于 KDE，你可以尝试了解一下我们的 [基于 KDE 的发行版](https://itsfoss.com/best-kde-distributions/) 列表，或者寻找像 Kubuntu 这样的选择。在大多数主流发行版中，你可能不会发现 KDE 是默认选择的发行版，但你应该发现几乎所有的发行版都有 KDE 的变体。

### 那么，你应该选择什么来定义你的桌面体验？

对桌面环境的选择带给了你想要的桌面体验。

如果你想要简单、性能和众多的选项/工具，KDE 应该是一个常青的选择。

如果你想要一个现代的/更干净的外观，并且不介意不同的布局（或用户体验），GNOME 可以成为一个不错的补充。

虽然 GNOME 可能无法给你同样多的控制，但你仍然可以用它做很多事情。Pop!\_OS 是一个例子，它将 GNOME 作为桌面环境，并在其上添加扩展/功能，使其成为一个光鲜的桌面发行版。

所以，你需要评估什么对你的用户体验更重要。

**我的看法**：我会选择 GNOME 而不是 KDE，以获得独特/完美的桌面体验。

你会选择什么？请在下面的评论区告诉我你的想法。

### 常见问题：如果你还在为做出选择而感到困惑

看完比较后，你可能会有一些问题，所以我想解决一些潜在的问题：

**1、为什么 KDE 不流行**

KDE 可以说是继 GNOME 之后第二受欢迎的桌面环境。然而，它并不是主流发行版和 Ubuntu、Pop!\_OS、Fedora 等流行选项的默认选择；因此，你可以看到身边都是 GNOME。

**2、GNOME 比 KDE 更稳定吗？**

这两个桌面环境都是由有经验的开发者团队建立的，并定期进行修复和改进。

到目前为止，GNOME 已经有多次彻底的改变。所以，从这个角度来说，KDE 可以被认为是更一致和稳定的体验。

**3、KDE 是否比 GNOME 更快？**

虽然我们已经在文章中试图解决这个问题，但应该注意的是，性能取决于你做什么和可用的系统资源。

对于一些用户来说，最少的资源消耗可能是一个很大的胜利。而对某些人来说，随着可用资源的增加，差异也会逐渐消失。

**4、KDE 比 GNOME 好吗？**

KDE 具有更多的应用、自定义选项和额外的功能。然而，对于那些不希望获得任何此类选项的用户来说，它可能会让人感到不知所措。

如果用户喜欢简洁的用户体验，提供现代的外观，GNOME 可能是一个更好的选择。

归根结底，这都是你的喜好，而不是一个桌面环境的优势。

---

via: <https://itsfoss.com/kde-vs-gnome/>

作者：[Ankush Das](https://itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #563 勒索团伙要求英伟达开源其驱动程序

Summary: 更多：• Mozilla 推出新版 MDN 开发者网络，付费版随后就来 • OWA 组织希望 iOS 可运行第三方浏览器引擎

虽然勒索团伙是应该讨伐，但要求开源其 Linux 平台的驱动，我倒是举双手赞同。

SO, NVIDIA F*** YOU!

NVIDIA早点开源吧.......

近几年英伟达 GPU 的所有完整芯片设计、图形技术、计算技术资料等等——这里面没驱动吗？

我澄清，要求英伟达开源的勒索团伙，不是我~

我希望英伟达开源其Linux驱动，其他的无所谓

来自河南许昌的 Chrome Mobile 78.0|Android 10 用户

已经通过BT泄露出的大约20G的压缩包里面有驱动。

就算有驱动源码，你敢用吗？用了英伟达就告你<br />
这个和英伟达自己开源的性质是不一样的

我敢啊，英伟达是神仙吗，他能知道我的电脑里装的是什么？还告？

直接用当然不行，但遵守净室原则重写就行了，利好 Nouveau。

# 硬核观察 #563 勒索团伙要求英伟达开源其驱动程序

### 勒索团伙要求英伟达开源其驱动程序

在 [昨天的回音](/article-14318-1.html) 中我们提到，入侵英伟达的勒索团伙，似乎被英伟达的 [反击](/article-14312-1.html) 激怒了，开始出售英伟达的数据和代码，这包括该公司员工的密码哈希、RTX 30 系列显卡的挖矿限制绕过代码。现在，勒索团伙又 [要求](https://voonze.com/those-responsible-for-the-cyber-attack-on-nvidia-demand-that-geforce-drivers-be-open-source/) 英伟达必须将其显卡驱动完全开源，包括 Windows、macOS、Linux 各个系统版本，而且必须马上开源，永远开源。否则，将在本周五公开近几年英伟达 GPU 的所有完整芯片设计、图形技术、计算技术资料等等。

>
> 老王点评：我想英伟达不可能答应这样的要求，而勒索团伙也不会从开源这件事得到好处，或许这是勒索团伙为了粉饰其“正义性”的烟雾弹，最终还是为了钱。且让我们拭目以待。
>
>
>

### Mozilla 推出新版 MDN 开发者网络，付费版随后就来

Mozilla 开发者网络（MDN）一直是 Web 开发者的宝贵资源，它提供了大量关于各种 HTML、CSS 和 JavaScript 功能的开放、详细的文档，以及广泛的 Web API 参考资料。但在 Mozilla 裁员期间，MDN 的作者团队被裁掉了，并将 MDN 捐给了一个新的项目 Open Web Docs（OWD），谷歌、微软等也参与了进来。但现在 Mozilla [重新设计了其 MDN](https://developer.mozilla.org/) 网站，并准备推出一个每月 5 美元的 MDN Plus [收费服务](https://hacks.mozilla.org/2022/03/a-new-year-a-new-mdn/)。

>
> 老王点评：虽然重新设计的 MDN 看起来不错，但这是因为准备提供收费服务才重整的么？
>
>
>

### OWA 组织希望 iOS 可运行第三方浏览器引擎

新成立的开放网络倡导组织（OWA）希望 [说服苹果公司](https://open-web-advocacy.org/)，允许第三方浏览器引擎在 iOS 上运行。iOS 上的所有浏览器，无论是 Chrome、Firefox 还是 Edge，实际上只是 Safari 的一个皮肤。第三方浏览器也不能在主屏幕上添加快捷方式，不能以全屏操作，也不能使用苹果支付。OWA 称，Safari/WebKit 团队过去十年里在创新方面停滞不前，并积极阻止了 Web 应用在移动领域的普及。

>
> 老王点评：我就纳闷了，当年微软因为 IE 被判垄断败诉，为什么苹果公司这么多年能一直这样垄断 iOS 浏览器？
>
>
>


在 KDE 中添加、切换、删除和管理 Linux 用户

KDE 的设置项是真的全。

# 在 KDE 中添加、切换、删除和管理 Linux 用户

>
> 在一台电脑上维护独立的用户是一种奢侈，也是保护你自己和你关心的人的数据安全的一个好方法。
>
>
>

在一个家庭中共享一台电脑通常是一件很随意的事情。当你需要电脑时，你拿起它并开始使用它。这在理论上很简单，而且大部分情况下是有效的。也就是说，直到你不小心拿起公用电脑，不小心把你的服务器的正常运行时间的截图发到你伴侣的烹饪博客上。然后，就到了建立独立用户帐户的时候了。

从一开始，Linux 就是一个多用户系统。它的设计是把每个用户，只要他们登录，都当作一个独特的人，有一个属于他们自己的桌面，一个独特的网络浏览器配置文件，访问他们自己的文档和文件，等等。KDE Plasma 桌面做了很多工作，使得从一个帐户切换到另一个帐户很容易，但首先你必须为每个你期望使用电脑的人设置一个用户帐户。你也可以为客人设置一个特殊的帐户（我称这个帐户为 `guest`）。

### 在 KDE 中添加用户

在 Linux 上有不同的方法来添加用户。一种方法是系统管理员式的 [使用终端](https://www.redhat.com/sysadmin/linux-commands-manage-users)。当你有很多用户需要添加时，这是非常有效的，所以你想把这个过程自动化或者只是减少鼠标点击的次数。

不过在 Plasma 桌面上，你可以用<ruby> 用户 <rt>  Users </rt></ruby>程序来添加用户。<ruby> 用户 <rt>  Users </rt></ruby>实际上是<ruby> 系统设置 <rt>  System Settings </rt></ruby>中的一个控制面板，但你可以从你的应用菜单中启动它，就像它是一个独立的应用。

要添加一个用户，点击窗口底部的<ruby> 添加新用户 <rt>  Add New User </rt></ruby>按钮。

给新用户一个<ruby> 名字 <rt>  Name </rt></ruby>和一个<ruby> 用户名 <rt>  Username </rt></ruby>。这些可能是相同的，但意图是他们的名字是他们的姓名，而他们的用户名是他们用于使用的入口。例如，我的名字是 “Seth Kenlon”，而我的用户名是 `seth`。

将新用户指定为<ruby> 标准用户 <rt>  Standard </rt></ruby>或<ruby> 管理员 <rt>  Administraor </rt></ruby>。标准用户只对自己的环境有完全的控制权。他们可以 [安装 Flatpak](https://opensource.com/article/21/11/install-flatpak-linux) 并将数据保存到他们的主目录，但他们不能影响机器上的其他用户。这是有用户帐户的好处之一。我不会认为我允许使用我的电脑的任何人打算删除对我很重要的数据，但意外还是发生了。通过为我自己和我的伴侣创建一个单独的用户帐户，我在保护我们每个人的数据，我也在保护我们每个人，避免意外地移动一个文件或误放对另一个人很重要的数据。

管理员可以进行全系统的更改。我通常在我的电脑上为自己保留这个角色，我也希望我的伴侣在她自己的电脑上为自己保留这个角色。然而，在工作中，这个角色属于 IT 部门。

为用户创建一个<ruby> 密码 <rt>  Password </rt></ruby>，并重复<ruby> 确认 <rt>  Confirm </rt></ruby>。登录后，新用户可以改变他们的密码。

要完成用户创建，请点击<ruby> 创建 <rt>  Create </rt></ruby>按钮。

### 切换用户

在桌面有两种不同的方式来切换用户。你可以注销，然后让另一个用户登录，或者你可以从应用菜单的<ruby> 电源/会话 <rt>  Power / Sessions </rt></ruby>子菜单中选择<ruby> 切换用户 <rt>  Switch user </rt></ruby>。

当一个新用户登录时，你的当前桌面会被“冻结”或暂停，而另一个用户的新桌面会被调出来。你所有的窗口都保持打开。你甚至可以在游戏中切换用户（如果你正在战斗中，你应该先暂停一下），当你切换回来时，你可以从你离开的地方继续。更好的是，你的所有进程也会继续运行。所以你可以在渲染视频或编译代码时切换用户，当你切换回来时，你的视频已经完成了渲染，或者你的代码已经完成了编译（只要有足够的时间）。

### 删除用户

当我有客人时，我经常在他们的逗留期间创建一个客人帐户，当他们离开后，我就删除这个帐户。

你可以通过删除一个用户的用户帐户来从你的电脑中删除该用户。这将删除他们的所有数据，所以要确保你要删除的用户已经把他们需要的东西从机器上迁移掉了！

<ruby> 删除用户 <rt>  Delete User </rt></ruby>按钮位于<ruby> 用户 <rt>  Users </rt></ruby>控制面板中的每个用户帐户下，也就是你最初创建用户的地方。

### Linux 用户管理

在计算机上维护独立的用户是一种奢侈，也是保护你自己的数据和你关心的人的数据安全的好方法。它允许每个用户都是独一无二的，并使桌面成为他们自己的。在 Linux 中，这很容易，而且没什么影响，因此可以为朋友、房客和家人创建用户。

---

via: <https://opensource.com/article/22/2/manage-linux-users-kde>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


2021 总结：DevOps 促进转型的 13 个例子

DevOps 赛高。

# 2021 总结：DevOps 促进转型的 13 个例子

>
> 2021 年，我们的顶级 DevOps 文章聚焦于工具、最佳实践和最关键的部分：转型。
>
>
>

<img src="content_image/album_202203_03_112426i6am9jokk88z9n89.jpg" alt="" title="Tips and gears turning">

2021 年对于 DevOps 来说是激动人心的一年，开发团队不断适应远程和混合工作模式。这一年最受欢迎的 DevOps 文章展示了我们的社区如何关注工具、创新、最佳实践和转型。

### DevOps 工具和创新

该行业的工具仍然是读者的首选读物。[Nimisha Mukherjee](https://opensource.com/users/nimisha) 是红帽的一名工程经理，她编写了 [面向开发人员的 13 个开源工具](https://opensource.com/article/21/6/open-source-developer-tools)。她将工具分为“内环”和“外环”两个部分，“内环”是开发人员最常见的任务，“外环”是开发人员的代码通过持续集成和交付（CI/CD）部署到生产环境的地方。

我们的读者对实现 DevOps 工具链的兴趣也很高。首次投稿的 [Tereza Denkova](https://opensource.com/users/tereza-denkova) 是一家 IT 专业服务公司 Accedia 的营销助理，他撰写了 [如何实现 DevOps 工具链](https://opensource.com/article/21/1/devops-tool-chain)，并将其与创新紧密联系在一起。

### DevOps 实践

[Daniel Oh](https://opensource.com/users/daniel-oh) 是我们的主要支持者，也是一位多产的内容创作者，他写了 [2021 年需要关注的 3 个无服务器策略](https://opensource.com/article/21/1/devapps-strategies)，概述了当今无服务器应用程序开发和部署方法是如何加速采用 DevApps 实践的。

[Evan “Hippy” Satis](https://opensource.com/users/hippyod) 在他的文章 [解决 CI/CD 中的存储库阻抗不匹配](https://opensource.com/article/21/8/impedance-mismatch-cicd) 中提供了调整部署映像和描述符的策略。他是红帽公司的高级顾问，他在文章中采用的有条不紊的方法证明了他的行业经验。另外，请参阅他的文章 [在 shell 中处理模块化和动态配置文件](https://opensource.com/article/21/5/processing-configuration-files-shell)。

在我的文章 [DevOps 文档指南](https://opensource.com/article/21/3/devops-documentation) 中，我提出了让文档成为 DevOps 讨论的一部分的理由。我从读者那里得到了一些有见地的评论，因此我正在为未来的一篇文章跟进这些评论。

### DevOps 转型

我们有时不相信 DevOps 能够适应组织需求。理解其他形式的运维的潜在影响是非常必要的，这些运维可能在现在或将来补充或增强 DevOps。[Bryant Son](https://opensource.com/users/brson)，一个自称是<ruby> 章鱼猫 <rt>  Octocat </rt></ruby>的人，在 [GitOps 和 DevOps 有何不同？](http://opensource.com/article/21/3/gitops) 中提出 GitOps 是 DevOps 的进化形式。

[Mike Calizo](https://opensource.com/users/mcalizo) 是新西兰奥克兰的一位红帽公司解决方案架构师，他撰写了 [如何成功采用 DevSecOps](https://opensource.com/article/21/2/devsecops)。本文将介绍他作为解决方案架构师的经验。他解释了在你迁移到 DevSecOps 的过程中可能会遇到的一些安全挑战。

我写了一系列关于 DevOps 到 DevSecOps 转型的文章。它们是：

* [启动从 DevOps 到 DevSecOps 的转型](http://opensource.com/article/21/10/devops-to-devsecops)
* [开始 DevSecOps 转型的 3 个阶段](https://opensource.com/article/21/10/first-phases-devsecops-transformation)
* [遵循 DevSecOps 成熟度模型](https://opensource.com/article/21/10/devsecops-maturity-model)
* [DevSecOps 转型的另外 3 个阶段](https://opensource.com/article/21/10/last-phases-devsecops-transformation)
* [使 DevSecOps 的采用成为团队努力的 4 个步骤](https://opensource.com/article/21/10/devsecops-team-effort)

### 2022 年和 DevOps 的未来

看到 DevOps 的文章登上了 2021 年最受欢迎的名单，说明 DevOps 将迎来一个更加有趣的 2022 年，因为组织正在继续掌握他们的工具，改进他们的战略，并继续他们的 [数字化转型](https://enterprisersproject.com/what-is-digital-transformation)，以便在不断变化的市场中有效地竞争。

感谢所有阅读我们的 DevOps 文章、喜欢这些文章，并通过网站和社交媒体给我们发送评论的人。

---

via: <https://opensource.com/article/22/1/devops-transformation>

作者：[Will Kelly](https://opensource.com/users/willkelly) 选题：[lujun9972](https://github.com/lujun9972) 译者：[CN-QUAN](https://github.com/CN-QUAN) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #564 冰淇淋机黑客起诉麦当劳索赔 9 亿美元

Summary: 更多：• 红帽正在开发一个基于 RHEL 的车载 Linux 发行版 • Steam Deck 可以安装 Windows 系统，但驱动还不足

不如来猜猜后面 Valve 会提供用于 Windows 驱动吗。

2022 年 03 月 11 日，Steam Deck 宣布推出 Windows 驱动：目前仅限 Win10， Win11 所需 BIOS 仍在制作中

消息来源：www。ithome.com/0/607/122.htm

# 硬核观察 #564 冰淇淋机黑客起诉麦当劳索赔 9 亿美元

### 冰淇淋机黑客起诉麦当劳索赔 9 亿美元

2019 年以来，小型创业公司 Kytch 致力于发明和销售一种手机大小的工具，它安装在麦当劳的冰激凌机内，可以拦截冰淇淋机的内部通信，并将其发送到网络或智能手机界面，以帮助远程监控和排除冰淇淋机内普遍存在的许多缺陷。许多麦当劳经营者都会安装这个设备。麦当劳向经营者们发送了电子邮件，要求他们立即将该设备从冰淇淋机中撤出，称该设备不仅违反了冰淇淋机的保修，截获了他们的机密信息，而且还构成了安全威胁，并宣传了一种具有该设备类似功能的新冰淇淋机。Kytch 公司的业务停摆之后，对麦当劳提起了 [法律诉讼](https://www.wired.com/story/kytch-ice-cream-machine-hackers-sue-mcdonalds-900-million/)，指控麦当劳公司存在虚假广告和侵权干涉其与客户的合同，要求获得不少于 9 亿美元的赔偿。

>
> 老王点评：这个事情比较有意思，到底是谁对呢？
>
>
>

### 红帽正在开发一个基于 RHEL 的车载 Linux 发行版

今天，CentOS 汽车 SIG 宣布了用于汽车上的新发行版 [AutoSD](https://blog.centos.org/2022/03/centos-automotive-sig-announces-new-autosd-distro/)，它是一个二进制发行版，将作为红帽即将推出的车载操作系统的公开的开发预览版。像 CentOS Stream 是 RHEL 的上游一样，它是红帽的汽车发行版的上游。AutoSD 将采用专门的内核，而不是 CentOS Stream 的内核。开发商可以加入汽车 SIG，围绕汽车硬件做开发，在 SIG 中启用新硬件并不意味着它会自动成为红帽汽车发行版的一部分。

>
> 老王点评：这些年汽车 Linux 一直没有很好的发展起来，但是随着对车载系统的更多功能要求，一个更强大的操作系统市场显然在成长。
>
>
>

### Steam Deck 可以安装 Windows 系统，但驱动还不足

Steam Deck 在硬件上是一台 x86 PC，而预装的 Steam OS 是基于 Arch Linux。由于 Linux 原生游戏不足，虽然可以利用 Proton 技术来运行 Windows 游戏，但还是有人希望能原生运行 Windows 游戏。Steam Deck 默认开放了启动引导，因此可以开机引导到 Windows 的安装 U 盘来[安装](https://www.tomshardware.com/how-to/install-windows-steam-deck)。不过，目前虽然可以顺利安装和进入桌面，但缺少显卡、Wi-Fi、有线网络等大量重要驱动。

>
> 老王点评：如果是给 Steam Deck 打造 Linux 驱动，我想社区可能就已经动起手了，而 Windows 用户可没这个习惯，显然用户只能等待 Valve 公司了。
>
>
>