Java 循环语句的简要指南

Summary: 无论你使用的是 while 循环、do/while 循环，还是无限循环，了解循环的工作原理对 Java 编程至关重要。

# Java 循环语句的简要指南

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

>
> 无论你使用的是 `while` 循环、`do`/`while` 循环，还是无限循环，了解循环的工作原理对 Java 编程至关重要。
>
>
>

只要某些预定的条件为真，一个 `while` 循环就会执行一组任务。这被认为是一个控制结构，可以指导程序的流程。它是一种你可以通过定义一个条件来告诉你的代码要做什么的方法，它可以测试它，并根据它发现的情况采取行动。Java 中的两种 `while` 循环是 `while` 和 `do`/`while`。

### Java while 循环

`while` 循环的目的是对数据进行迭代，直到某个条件得到满足。要创建一个 `while` 循环，你需要提供一个可以测试的条件，然后是你想要运行的代码。Java 有几个内置的测试函数，其中最简单的是数学运算符（`<`, `>`, `==`, 等等）：

```
package com.opensource.example;

public class Example {
  public static void main(String[] args) {

  int count = 0;
  while (count < 5) {
    System.out.printf("%d ", count);
    count++;
    }
  }
}

```

在这个简单的例子中，条件是变量 `count` 小于 5。因为 `count` 被实例化为 0，然后在 `while` 循环的代码中增加 1，所以程序总共迭代了 5 次：

```
$ java ./while.java
0 1 2 3 4

```

在它进行第六次迭代之前，条件不再是真的，所以循环结束。

`while` 循环的条件语句是至关重要的。弄错了可能意味着你的循环永远不会执行。例如，假设你把 `count == 5` 作为条件：

```
while (count == 5) {
    System.out.printf("%d ", count);
    count++;

```

当你运行这段代码时，它的构建和运行都很成功，但什么也没有发生：

```
$ java ./while.java
$

```

循环被跳过了，因为 `count` 被设置为 0，而且在第一次遇到 while 循环的时候，它还是 0。循环从未开始，`count` 也从未被递增。

与此相反的是，当一个条件开始为真，并且永远不会为假时，这将导致一个无限循环。

### Java do while 循环

与 `while` 循环相似，`do`/`while` 循环在每次迭代结束时测试条件，而不是在开始时测试条件。有了这个循环，循环中的代码至少运行一次，因为没有进入的入口，只有退出的出口:

```
package com.opensource.example;

public class Example {
  public static void main(String[] args) {

  int count = 9;
  do {
      System.out.printf("%d ", count);
      count++;
    } while(count == 5);
  }
}

```

在这个示例代码中，`count` 被设置为 9。循环重复的条件是 `count` 等于 5，但是 9 不等于 5。不过，这个检查要到第一次迭代结束时才进行：

```
$ java ./do.java
9

```

### Java 无限循环

无限循环，正如它的名字所示，永远不会结束。有时它们是被错误地创建的，但无限循环确实有一个有效的场景。有时你想让一个进程无限地继续下去（在功能上是无限的，因为你不能保证你需要它什么时候停止），因此你可能会把你的条件设置为不可能满足的东西。

假设你写了一个应用程序，在僵尸天启期间计算留在你附近的僵尸的数量。为了模拟需要多少个循环才能达到 0 个僵尸的不确定性，我的演示代码从操作系统中检索了一个时间戳，并将计数器（`c`）的值设置为从该时间戳得出的某个数字。因为这是一个简单的例子，你不会真的想陷入一个无限循环，这段代码倒数到 0，并使用 `break` 函数来强制结束循环：

```
package com.opensource.example;

public class Example {
  public static void main(String[] args) {

  long myTime = System.currentTimeMillis();

  int c;

  if ( myTime%2 == 0 ) {
      c = 128;
  } else {
      c = 1024;
  }

  while(true) {
    System.out.printf("%d Zombies\n", c);

    // break for convenience
    if ( c <= 0 ) { break; }
    c--;
    }
  }
}

```

你可能要运行几次才能触发不同的僵尸总数，但有时你的程序会迭代 128 次，有时会迭代 1024 次：

```
$ java ./zcount.java
1024 Zombies
1023 Zombies
[...]
0 Zombies

```

你能说出为什么循环的终点是 0 而不是 -1 吗？

### Java 循环

循环使你能够控制程序的执行流程。迭代在编程中很常见，无论你使用 `while` 循环、`do`/`while` 循环还是无限循环，了解循环的工作原理都是至关重要的。

---

via: <https://opensource.com/article/23/1/java-loops>

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

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


《LCTT 术语词典》

Summary: 本文收录了 LCTT 自创和选用的翻译词汇。

我觉得“交互界面”不尽人意，有可能还不如 shell 的原意及外壳。交互界面总让人与 UI 混淆，并且让人感觉似乎若有若无。外壳更能强调他在操作系统中的重要地位。

我对英文术语的态度不太一样。有些不怎么好翻译的词语（比如 copyleft），我觉得应当保留。有人将 copyleft 翻译成版左，我觉得这反而让人迷惑。<br />
同样，由于英语的语言特征，一些词语无法容易地翻译，比如术语“continuation”，流传“继续”“延续”“续延”几种译法。但是我倾向于直接使用 continuation，理由相同：会令人迷惑。

翻译的都是些什么，云里雾里。

来，笔给你，展示~

给一点好意见

专业名词不应该多此一举的翻译，Live USB/CD专业人员都应该知道，这么已翻译专业的不专业的人都要去百度 emm...

本文收录了 LCTT 自创和选用的翻译词汇。

# 《LCTT 术语词典》

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

本文收录了 LCTT 自创和选用的翻译词汇。

为什么要自创翻译词汇？在翻译过程中，我们发现一些非缩写的英语术语沿袭使用了英语单词/短语，而没有得体的、公认的、正式的对应中文翻译。我们认为，中英文混杂是对原生语言的一种污染（英文缩写除外，这是为了减少冗长的语句），按照本地化的宗旨，应该对这些词汇进行翻译，并在必要时创造新的词汇。故此，我们在几年的翻译中，逐渐推敲和形成了一些新的译法，并在我们翻译的文章中使用和推广。

对这些译法，我们尽量遵循“信达雅”的原则。但鉴于水平所及，肯定会有所不足，虽然也有不断的调整和改进，但仍希望得到大家的反馈和指正。

我们采用的方法是：

* 音似：中文读音近似于英文原词
* 意近：中文字的意思接近英文原意
* 组词：根据上述两条组成新的词汇，以避免和原有词汇混淆

此外，需要说明的是，有些译法可能已经被其他人在别的地方更早提出，但限于我们的学识和搜索能力，并未发现和了解到，并非我们故意剽窃。

顺便说一句，2014 年对 “Shebang”（`#!`）一词翻译时，来自于 LCTT 早期重要贡献者 GOLinux 提出的 “[释伴](/article-3664-1.html)” 译法，是我们第一次创造新的翻译词汇，也是我们形成这样的想法的起点。

除了自创的翻译词汇外，这里还收录了一些选用的翻译词汇。有一些词汇存在多种译法，我们在翻译和使用过程中，采用了某个译法，在此列出以保持一致。

### F

#### Fork：复刻

Fork 行为/操作广泛用于进程管理、版本管理和软件衍生方面。此词汇也长期缺乏确定的译法。

此前，提议者对 Fork 给出了 “复刻” 的译法。基本意思是，根据上游/父本复制一份，然后在此基础上进行修改，从而形成“衍生品”。

有趣的是，我们发现 GitHub 的 [部分中文文档](https://docs.github.com/zh/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks) 中也采用了此译法，不知道是不是受到了我们的影响。

* 提议者：wxy
* 首次链接：</article-7877-1.html>

### H

#### Here Document：现场文档

在编程领域，“here document” 是一个常见的术语，特指在脚本语言（如 Perl、Bash）中，能够直接在代码内部嵌入并处理一个数据块或文本串的技术。尽管传统上我们将它翻译为“嵌入式文档” 或不翻译，但这个译法似乎并不能完全地体现出原文的感觉和含义。

为了让这个概念变得更为直观和易理解，我们建议将 “here document” 翻译为 “现场文档”。“现场”相比于“嵌入式”，更好的传达了文档就在代码的当前位置，或代码“现场”的含义。这样的译法也与原文 “here document” 中 “here”（这里）的含义更为契合。我们希望这个译法能够在未来得到更广泛的使用和认可，让编程的世界因语言的精准而变得更美好。

PS., 该译法和解释得到了 ChatGPT 的建议和生成。

* 提议者：wxy
* 首次链接：</article-16298-1.html>

### L

#### Live：立付

Live 原意多指“现场”、“实时”，在计算机环境中使用时也多引用此意。但对它的翻译就颇费神，因为无论是在 Live Patch，还是更多见的 Live USB/CD、Live Session，其实都不好翻译为“现场”、“实时”。

提议者之前曾经尝试创造了新的“[临场](/article-12854-1.html)”词汇，但是感觉有些不够达意。经过推敲，提议者再次推荐使用“立付”，在照顾发音的同时，取其“立时交付”之意。这样，Live USB/CD 可以译做 “立付 USB/CD”，Live Session 可以译做 “立付会话”。

而对于 Live Stream，提议者建议依旧翻译为“直播”、“实时流”。对于 Live Patch，还是采用 “热补丁” 这样的意译。

* 提议者：wxy
* 首次链接（临场）：</article-12854-1.html>
* 首次链接（立付）：</article-15499-1.html>

#### Repo（Repository）：代码仓库/软件仓库

Repository 主要用于两个场景，一个是用于版本管理的代码仓库，一个是用于分发软件/组件/制品的软件仓库。

鉴于两种场景的差异，建议在使用时，分别注明“代码仓库”或“软件仓库”，也可简称为 “代码仓”或“软件仓”。

### S

#### Shebang [ʃɪ'bæŋ]：释伴

Shebang（也称为 Hashbang）是一个由井号和叹号构成的字符序列（`#!`），出现在脚本文件的第一行的前两个字符，后跟解释器路径，如：`#!/bin/sh`，这通常是 Linux 中 shell 脚本的标准起始行。

长期以来，Shebang 都没有正式的中文名称。提议者将其翻译为：“释伴”，即解释伴随行的简称，同时又是 Shebang 的音译。（关于这个词汇的翻译，在下面的首次链接中有其它的建议和讨论。）

* 提议者：GoLinux
* 首次链接：</article-3664-1.html>

#### Shell ：交互界面

Shell 是 Unix/Linux 等系统的 `sh`、`bash` 等命令行的接口程序，包括 DOS/Windows 的 `command.com`/`cmd.exe` 等其实也属于此类，只是通常不这样称呼。

这个词汇也是一个一直没有翻译而径直使用的计算机词汇。我们也没有见到（找到）合适的翻译。但是我们在 LCTT 译者 CanYellow 翻译的一篇文章中见到他将其翻译为 “交互界面”，我们认为这是一种好的翻译。

* 提议者：CanYellow
* 首次链接：</article-15469-1.html>

### 说明

此文档会根据建议不断更新，其固定地址为： <https://github.com/LCTT/TranslateProject/blob/master/Dict.md> ，欢迎大家提交议题或拉取请求来完善它。


硬核观察 #898 OpenAI 雇佣上千人改进 AI 的编程能力

Summary:
? OpenAI 雇佣上千人改进 AI 的编程能力
? Yandex 的搜索引擎使用了 1922 个排名因子
? GIMP 3.0.0 有望在年内发布
»
»

# 硬核观察 #898 OpenAI 雇佣上千人改进 AI 的编程能力

### OpenAI 雇佣上千人改进 AI 的编程能力

OpenAI 过去半年招募了大约一千名远程工作的合同工，其中四成是程序员，他们的工作是为 OpenAI 的模型创建数据学习软件工程。一位完成 OpenAI 五小时无偿编程测试的开发者说，他被要求完成两部分组成的任务：首先是给予一个编程问题，要求用书面英语解释他会如何处理。然后要求他提供解决方案。如果他发现错误，OpenAI 会让他详细描述错误，以及如何修复。

>
> **[消息来源：Slashdot](https://developers.slashdot.org/story/23/01/29/0225201/openai-hires-an-army-of-contractors-will-they-make-coding-obsolete)**
>
>
>

>
> 老王点评：这是真·“人工”训练的智能。
>
>
>

### Yandex 的搜索引擎使用了 1922 个排名因子

Yandex 搜索引擎的源代码最近被前雇员泄露。根据分析，它的搜索排名算法使用了 1922 个排名因子。即便 Yandex 不是谷歌，但 Yandex 和谷歌的排名因子肯定有很多相似之处。Yandex 的排名因子包括 PageRank 和链接相关因子、文本相关性、内容年龄和新鲜度，终端用户行为信号、主机可靠性、维基百科等网站高优先度，等等。

>
> **[消息来源：Solidot](https://www.solidot.org/story?sid=73989)**
>
>
>

>
> 老王点评：这种靠排名因子来列出搜索结果的做法，现在和 ChatGPT 等 AI 相比，感觉太机械、太手工、太落后了。
>
>
>

### GIMP 3.0.0 有望在年内发布

开源图像编辑软件项目 GIMP 公布了 2022 年年度报告。2022 年 GIMP 项目发布了一个稳定版本 2.10.32，3 个开发版本 2.99.10、2.99.12 和 2.99.14；有 87 位贡献者参与了项目，其中包括 35 位开发者，核心开发者 7 位；Wayland 支持有所改善；GTK+3 移植接近完成。项目团队称，计划是在 2023 年发布 GIMP 3.0.0，至少会发布一个 RC 版本。

>
> **[消息来源：GIMP](https://www.gimp.org/news/2023/01/29/2022-annual-report/)**
>
>
>

>
> 老王点评：不知道 2.99 最终能达到什么子版本，但是 3.0 已经等了太久了，以至于没啥激情了。
>
>
>


一个正在开发中的 ChatGPT GNOME 扩展

Summary: 你想要一个人工智能的 GNOME 桌面吗？下面这个扩展可以实现这个功能！

你想要一个人工智能的 GNOME 桌面吗？下面这个扩展可以实现这个功能！

# 一个正在开发中的 ChatGPT GNOME 扩展

>
> 你想要一个人工智能的 GNOME 桌面吗？下面这个扩展可以实现这个功能！
>
>
>

[ChatGPT](https://chat.openai.com) 是一个在当下十分流行的聊天机器人，它可以与用户进行互动，用户就像在对话一样。

最近，关于 ChatGPT 的新闻时常出现在人们的视野之中，有时是关于 ChatGPT 的坏消息。

不难看出，ChatGPT 有其两面性。事实上，对于任何人工智能的实现都同样如此。

一方面，ChatGPT 这一工具的巨大潜力给许多人留下了深刻的印象。但另一方面，因人们对它的滥用/误用，导致 ChatGPT 在科技界引起了轩然大波。

人们对 ChatGPT 滥用/误用太多了，以至于其创建者 [OpenAI](https://openai.com) 开发了一种工具来检测 ChatGPT 的使用情况，这个内容可以进一步访问 [此网页](https://news.itsfoss.com/openai-chatgpt-detection/)。

现在，我注意到在一个 Reddit 讨论中，一位开发人员提到了一些有趣的事情。

一个用户名为 [HorrorPills](https://github.com/HorrorPills) 的开发人员已经开始**为 ChatGPT 开发 GNOME 扩展**。

这听起来非常有趣，让我们继续来看看吧。

### 这个扩展仍在开发中：让我们持续保持关注吧！

这是一个 GNOME 桌面扩展，将 ChatGPT 添加到了桌面的 <ruby> 系统托盘 <rt>  system tray </rt></ruby> 中。

现在，这个 GNOME 桌面扩展还处于未完成的状态，它已经具有了基本的功能，但仍存在一些错误。

正如它的开发者 [所说](https://www.reddit.com/r/linux/comments/10ay23v/comment/j46yp15/) 的那样：

你需要有一个 **ChatGPT 帐户**，才能使用这个扩展程序，并且需要用到你的键盘，才能进行定位，因为现在这个扩展的光标功能还有很多问题。

此外，这个扩展**对 GNOME 43 的支持也很不完整**，他们提供了一个临时的修复程序，并将这个进一步完善的任务添加到此扩展的后续开发中。

如果你喜欢的话，你可以**试试这个扩展**。你可以通过它的 [GitHub 仓库](https://github.com/HorrorPills/ChatGPT-Gnome-Desktop-Extension)，来获取运行它所需的所有说明和文件。

它的开发人员还 [表示](https://www.reddit.com/r/linux/comments/10avlgs/comment/j4al4cg/)：当这个扩展变得更加稳定时，他们会将这个扩展发布到 **GNOME 扩展** [网站](https://extensions.gnome.org) 上去。

此外，开发人员还 [透露](https://www.reddit.com/r/linux/comments/10avlgs/comment/j48uofo/)：他们在未来可能会实现 **KDE Plasma 的 ChatGPT 扩展**。

---

via: <https://news.itsfoss.com/chatgpt-gnome-extension-development/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed) 译者：[chai001125](https://github.com/chai001125) 校对：[wxy](https://github.com/wxy)

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


Fedora Media Writer：顶级的立付 USB 创建器

立付 是认真的吗

一个 Live USB 让你们 LCTT 整出十八种翻译来了

为啥“Live”翻译成了“立付”；而“USB”没有翻译成“通用串行总线接口”？

厚此薄彼。。。

所谓 live cd 实际上是系统安装介质，这种介质的特性就是可以直接运行将要安装的系统而不必执行安装，与其音译一个不知所谓的词出来，何不从词意本质入手，翻译为 “可启动/可运行的系统安装光盘”（虽然能启动/运行本身就是安装程序/光盘的性质，但应该不难理解实际意思吧），国外经常会弄出一堆不知所谓的生造词，就如你们词典里的shebang，翻译为释伴实际上是一种很坑的行为，这种词就直接按意思翻译哪怕一个词翻译成句子都比硬凑音节好得多，因为懂的不需要看你们这种翻译，不懂的看了你们的翻译依然不懂，而且这种生造词层出不穷，全

# Fedora Media Writer：顶级的立付 USB 创建器

>
> 关于安装和使用 Fedora Media Writer 从 Linux 和 Windows 创建立付 USB 的教程。
>
>
>

### Fedora Media Writer

社区和 Fedora Linux 团队开发并维护了 [Fedora Media Writer 应用](https://github.com/FedoraQt/MediaWriter)。这个应用可以将任何 ISO 镜像写入你的闪存盘（U 盘）中。此外，Fedora Media Writer 还有直接从 Fedora 镜像中下载 ISO 文件的功能，前提是你有一个稳定的互联网连接。

此外，它还为你提供了一个下载选项列表：比如官方版本、新兴版本、定制版和实验室版本的镜像。

不仅如此，你还可以使用这个灵巧的工具将任何其他 ISO 镜像写入你的闪存。它不总是需要 Fedora ISO。

虽然有其他流行的工具可以用来创建 <ruby> 立付 <rt>  Live </rt></ruby> USB ，比如 [Etcher](https://www.debugpoint.com/2021/01/etcher-bootable-usb-linux/)、Ventoy 和 Rufus，但考虑到该团队是从主流 Fedora Linux 与贡献者一起开发的，你仍然可以尝试使用此程序。

>
> **LCTT 译注**：特此说明一下使用 “立付” 一词作为 “Live” 的中文翻译。
>
>
> Live 原意多指“现场”、“实时”，在计算机环境中使用时也多引用此意。但对它的翻译就颇费神，因为无论是在 Live Patch，还是更多见的 Live USB/CD、Live Session，其实都不好翻译为“现场”、“实时”。
>
>
> 提议者之前曾经尝试创造了新的“[临场](/article-12854-1.html)”词汇，但是感觉有些不够达意。经过推敲，提议者再次推荐使用“立付”，在照顾发音的同时，取其“立时交付”之意。这样，Live USB/CD 可以译做 “立付 USB/CD”，Live Session 可以译做 “立付会话”。
>
>
> 详见我们发布的[《LCTT 术语词典》](/article-15496-1.html)。
>
>
>

因此，综上所述，这里是 Fedora Media Writer 的快速功能亮点。

#### Fedora Media Writer 的功能摘要

* 适用于 Linux、Windows 和 macOS
* 直接下载 + 写入镜像到 USB 闪存
* 官方版本（Workstation、IoT、Server）下载
* 新兴版本（Silverblue、Kinoite）下载
* 定制版（KDE Plasma、Xfce 等）
* 实验室（Fedora Astronomy、Robotic 等）
* 可作为 Linux 发行版的 Flatpak 包
* 同时，可以将任何其他 ISO 镜像（非 Fedora）写入 U 盘。
* 能够格式化 U 盘，恢复 U 盘
* 基于 Qt

### 如何安装

#### Linux

Fedora Media Writer 以 Flatpak 的形式提供给 Linux 发行版。要在任何 Linux（如 Fedora、Ubuntu 或 Linux Mint）中安装它，请 [按照这个指南设置 Flatpak](https://flatpak.org/setup/)。

然后，点击下面的链接进行安装。这将启动你的 Linux 发行版的官方软件程序（如 <ruby> 发现 <rt>  Discover </rt></ruby>应用、GNOME <ruby> 软件 <rt>  Software </rt></ruby> 应用）。安装后，你可以通过应用程序菜单启动它。

>
> **[以 Flatpak 形式安装 Fedora Media Writer](https://dl.flathub.org/repo/appstream/org.fedoraproject.MediaWriter.flatpakref)**
>
>
>

#### Windows

如果你是一个计划迁移到 Linux（如 Fedora）的 Windows 用户，它是一个完美的工具。你需要从 GitHub 上下载 exe 安装程序（链接如下），并按照屏幕上的指示进行安装。

>
> **[用于 Windows 的最新安装程序（exe）](https://github.com/FedoraQt/MediaWriter/releases/latest)**
>
>
>

安装完成后，你可以从开始菜单启动它。

#### macOS

对于 macOS，你可以在上述链接中获取 dmg 文件。

>
> **[用于 macOS 的最新安装程序（dmg）](https://github.com/FedoraQt/MediaWriter/releases/latest)**
>
>
>

### 如何使用 Fedora Media Writer 在 Linux 中创建立付 USB

第一个页面给你两个主要选项。<ruby> 自动下载 <rt>  Download automatically </rt></ruby> 选项用于即时下载 ISO 镜像。第二个选项是直接从你的磁盘上写入已经下载的 ISO 文件。

如果你已经插上了 USB，你应该看到它是第三个选项。第三个选项是格式化并删除你 U 盘中的所有数据，并将其恢复到出厂设置。

此外，你也可以用这个工具来格式化你的 USB 闪存。你不需要任何命令或任何花哨的东西。需要注意的一点是，这个选项只有在你的 U 盘有数据时才可见。如果它已经被格式化了，该工具可以检测到它，但不会显示恢复它的选项！! ?

#### 自动下载和写入

<ruby> 自动下载 <rt>  Download automatically </rt></ruby>选项为你提供了以下页面，可以从镜像中下载任何你想要的 Fedora ISO。这对很多人来说很有用，因为它消除了单独下载 ISO 文件、验证校验和等的麻烦。

在选择了发行版之后，最后的页面会给你版本（Fedora 36、35 等）和架构（x86、ARM 等）的选项。另外，你应该看到目标 USB。点击 “<ruby> 下载并写入 <rt>  Download & Write </rt></ruby>”，开始这个过程。

#### 从磁盘上写入一个现有的 ISO 文件

当你选择 “<ruby> 选择 ISO 文件 <rt>  select .iso file </rt></ruby>” 时，你可以从系统中选择该文件。之后，选择目标 USB 驱动器，然后点击 “<ruby> 写入 <rt>  Write </rt></ruby>”，开始这个过程。

写入操作完成后，你可以看到如上所示的确认信息。在我的测试中，写一个大约 3GB 的 ISO 需要大约 3 到 4 分钟。

### 使用 Fedora Media Writer 在 Windows、macOS 中创建 LIVE USB

在 Windows 和 macOS 中使用这个工具的步骤是一样的，就像上面显示的 Linux 一样。你可以在安装后轻松找到快捷方式，并以同样的方式启动。

### 结束语

我希望本指南能帮助你在日常的 USB 写入工作中使用 Fedora Media Writer。另外，这个工具的好处是你可以用它来格式化/恢复你的 U 盘。你不再需要 GParted 或 GNOME <ruby> 磁盘 <rt>  Disks </rt></ruby> 应用了。

对于 Linux、Windows 和 macOS 用户来说，这是一个非常棒的程序。

加油。

---

via: <https://www.debugpoint.com/fedora-media-writer/>

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

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


硬核观察 #899 OpenAI 发布检测 AI 生成文本的工具

Summary:
? OpenAI 发布检测 AI 生成文本的工具
? 万维网联盟以公益性非营利组织重启
? 谷歌决定在 2024 年禁止第三方 Cookie
»
»

# 硬核观察 #899 OpenAI 发布检测 AI 生成文本的工具

### OpenAI 发布检测 AI 生成文本的工具

ChatGPT 的创造者 OpenAI 今天发布了一个免费的基于网络的工具，旨在帮助弄清某块文本是由人类还是机器写的。OpenAI 警告说，该工具并不完美，可能会有“误判和漏判”，不应该单独依靠新工具来确定文件的作者身份。它在大于 1000 字的文本样本和英语中效果最好，但它还不能区分人类和人工智能编写的计算机代码。

>
> **[消息来源：Axios](https://www.axios.com/2023/01/31/openai-chatgpt-detector-tool-machine-written-text)**
>
>
>

>
> 老王点评：以子之矛，攻子之盾。我敢说，这个工具肯定会利用来改善 AI 的输出，使之更不容易识别出来。
>
>
>

### 万维网联盟以公益性非营利组织重启

万维网联盟（W3C）是 Web 发明人蒂姆·伯纳斯-李创立于 1994 年的行业组织，它为互联网制定了包括 HTML 和 CSS 等近 500 个开放标准，整个 Web 世界都是在此基础上发展起来的。W3C 的标准可以被任何人使用，而且由于 W3C 专利政策免收版税，所以不需要任何费用。2023 年伊始，W3C 联盟成立了一个新的符合美国 501(c)(3) 的公益性非营利组织。虽然蒂姆爵士已经逐渐退出了大多数 W3C 的决策，但在 W3C 董事会中为他保留了一个永久席位。

>
> **[消息来源：W3C](https://www.w3.org/2023/01/pressrelease-w3c-le-launched.html.en)**
>
>
>

>
> 老王点评：W3C 确实很有功绩，成为非营利组织后应该可以发挥更大的作用。
>
>
>

### 谷歌决定在 2024 年禁止第三方 Cookie

尽管存在争议和来自政府的审查，但这家广告公司仍打算继续推进其基于兴趣的广告主题 API。谷歌在报告中说，“在 2024 年第三季度，Chrome 浏览器将在两个月内逐步取消对第三方 Cookie 的支持。”此前，谷歌最早曾打算在 2022 年底前废弃对第三方 Cookie 的支持。为了取代第三方 Cookie，谷歌早在 2019 年就宣布了“隐私沙盒”技术，并正在开发一系列取代性技术，如主题 API、FLEDGE API、归属报告 API、私有状态令牌 API、第一方集 API 等等。谷歌坚持认为其广告技术工具可以在支持开放网络的同时促进隐私。

>
> **[消息来源：The Register](https://www.theregister.com/2023/02/01/google_cookie_sandbox/)**
>
>
>

>
> 老王点评：或许一部分初衷是好的，但是打击对手的心思怕也是有的，大部分数字广告商都还必须依赖第三方 Cookie。
>
>
>


Kodi 20.0 发布，支持 AV1 视频和 Steam Deck 控制器

Summary: Kodi 20 版本增加了多项重要功能。

Kodi 20 版本增加了多项重要功能。

# Kodi 20.0 发布，支持 AV1 视频和 Steam Deck 控制器

>
> Kodi 20 版本增加了多项重要功能。
>
>
>

[Kodi](https://kodi.tv) 是 Kodi 基金会开发的跨平台开源媒体播放器，提供了大量功能。

它的上一个主要版本是**两年前**发布的 [Kodi 19 “Matrix”](https://news.itsfoss.com/kodi-19-release/)。

**Kodi “Nexus”** 是改进后的主要版本，它提供了几个新功能和改进。

让我们来看看这些。

### ? Kodi 20 “Nexus” 更新了什么？

这次发布带来了很多新的特性，较为突出的有：

* AV1 编解码支持
* 增强的 PVR 支持
* 更新后的数据抓取器
* 多个修复和改进

#### AV1 编解码支持

Kodi 现在在 Linux 平台上支持开源的免版税的 [AV1 编解码](https://en.wikipedia.org/wiki/AV1)。

通过 [视频加速 API](https://en.wikipedia.org/wiki/Video_Acceleration_API)（VA-API）实现了解码 AV1 的硬件加速，并且还为视频输入流增加了 AV1 支持。

#### 增强的 PVR 支持

通过 [PVR](https://kodi.wiki/view/PVR) 观看电视和收听广播也得到了许多改进，其中一些值得注意的改进包括：

* 重新设计过的频道管理器。
* 能够显示特定频道或录音的提供方。
* 能够按提供方对频道和录音进行排序。
* 支持只读录音。
* 改进后的 EPG 搜索。
* 自动清理缓存的 PVR 图像。
* PVR 客户端插件的多实例支持。
* Estuary 主题下的 PVR 体验调整。

#### 更新后的数据抓取器

TVDB 电视节目抓取器已更新，以防止其在加载损坏的“视频流”和“信息标记视频”后出现问题。

>
> ? 建议旧版 Kodi 20 的用户更新到最新版本，避免使用此抓取器时出现问题。
>
>
>

此外，更新后的 Python 电视节目抓取器，解决了一个潜在的问题，即新的抓取器使用的 XML 格式与现有的程序不同的问题。

因此，当你向库中现有的电视节目添加新集时，即便你正在使用 NFO 文件，你也必须刷新节目以下载新集指南。

#### ? 多个修复和改进

除此之外，Kodi 20 还提供了一些修复和改进，例如：

* Steam Deck 控制器的内置支持。
* 开始支持 NFSv4 的文件系统。
* 默认支持光盘。
* 使用通用缓冲区管理 API 时，能够设置使用 HDR 输出。
* 解决了 DRMPrime 的一个问题。
* 多个对于图文电视的支持。
* 修复了单机游戏的黑屏问题。

要了解更多信息，请阅读 [官方公告](https://kodi.tv/article/kodi-20-0-nexus-release)。

### ? 下载 Kodi 20

Kodi 20 “Nexus” 可从 [官方网站](https://kodi.tv/download/) 及其 [GitHub 仓库](https://github.com/xbmc/xbmc/releases/tag/20.0-Nexus) 获取。

在应用商店和官方软件库也可以获取到。

Kodi v21（代号：Omega）正在开发中。如果你想从这次发布中获得更多内容，请关注下一个版本。

---

via: <https://news.itsfoss.com/kodi-20-nexus-release/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed) 译者：[natsumm](https://github.com/natsumm) 校对：[wxy](https://github.com/wxy)

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


我的第一个拉取请求被合并了！

Summary: 体验为开源做出贡献的快乐。

体验为开源做出贡献的快乐。

# 我的第一个拉取请求被合并了！

>
> 体验为开源做出贡献的快乐。
>
>
>

难以用言语形容我在收到合并通知（如下图）时的喜悦，当然这要归功于现在我上的工程学校 [AltSchool Africa](https://www.altschoolafrica.com/)。

在此之前，我曾多次接触过开源的概念，了解了它在技术领域的重要性，甚至参加过开源会议（比如 OSCAFest）。我曾多次跃跃欲试，但当打开 GitHub 来想创建些东西时，冒名顶替综合症就会冒出来。

时间来到 2022 年 8 月 8 日星期一，当观看了 Bolaji 为开源做贡献的视频之后，我重新振奋起来。不过，想要把我学到的东西付诸实践，我注意到需要下面几个步骤：

步骤：

1. 我要下定决心，做好为一个开源项目做出贡献的心理建设。
2. 我要根据我的技能水平进行筛选，我从一个站点（[Good First Issues](https://goodfirstissues.com/)）寻找我开始的第一个项目。我不停地往下翻看，直到找到了一个符合心意的项目。
3. 我要确定自己掌握完成项目所需的 [Git 和 GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models) 知识。

>
> **LCTT 译注：**
>
>
> “[Good First Issues](https://goodfirstissues.com/)” 这个网站主要是针对那些想为开源软件做贡献，但不知道从哪里开始或如何开始的开发者。通过为开发者提供过滤器，该网站使他们能够根据自己熟悉的编程语言来浏览和选择问题和存储库。此外，他们还可以选择他们想要解决的问题的类型。
>
>
>

### 项目

经过长时间查找，我终于找到了一个名为 [确保没有缺失的 alt 属性](https://github.com/mdn/content/issues/19334) 的项目。我所要做的，就是为网站上的图片提供描述性的 `alt` 值。图片的 `alt` 值有助于提高网站的辅助功能，这样屏幕阅读器就可以向视障人士提供图像的详细描述了。这很简单，对吧？是的，但假如我没有下定决心想要作出贡献，我就不会找到这项目，在我心中开源仍将是个神话。

我心潮澎湃，直到发现这个项目是来自 [MDN](https://developer.mozilla.org/en-US/) 的。等等，<ruby> MDN <rt>  Mozzila 开发者网络 </rt></ruby>？干和 Mozilla 的开发者一样的事儿？他们会合并我这么小儿科的贡献吗？[冒名顶替综合症](https://opensource.com/article/20/9/imposter-syndrome) 又开始了。

在检查这个议题时，我看到有人已经在提交贡献了，于是我鼓起勇气开始翻阅项目的内容。阅读和理解这个项目颇花费了我一些时间，而另一个要克服的，就是清楚处理这个议题我要怎么做。

这个项目就像你想的那么简单。

于是，我挑选了两幅图片着手尝试。我给它们的 `alt` 属性赋值，提交我的更改，然后发出拉取请求。从提交请求到收到批准邮件的这段时间，我充满了自我怀疑。我要不要关闭拉取请求？这可是 MDN 啊。好吧，这甚至都不算编程…… 如果请求没有被合并怎么办？我恐怕再也不会想为开源做出贡献了。不过，所有的疑虑都在我看到审阅者发来的这些邮件时烟消云散：

我喜出望外，这激发了我去检查更多图片的热情，也给了我发请求解决其他议题所需的勇气。

### 总结

我希望你能从这篇文章中感受到以下几点：

* 开源是面向所有人的。你在刚刚访问的那个网站上看到拼写错误了吗？你帮助订正了拼写错误，这就是为开源做出了贡献。
* 没有任何技能是微不足道的。如你所见，我所做出的贡献，只需要对 HTML 最基本的了解。
* 能阻止你做出贡献的只有你自己。
* 要想让雪球滚起来，需要做的就只是提交第一个贡献。

我衷心希望你能从我的经历中获得什么，并且今天就付诸实践。这也就是我想贡献的另一个领域，那么，我们下一篇文章见，也祝你开源愉快！

这篇文章最初发布于 [我的第一个拉取请求被合并](https://dev.to/jhhornn/i-got-my-first-pull-request-merged-3ei9)，并经许可转载。

---

via: <https://opensource.com/article/22/9/first-pull-request-merged>

作者：[Oluwaseun](https://opensource.com/users/jhhornn) 选题：[lkxed](https://github.com/lkxed) 译者：[onionstalgia](https://github.com/onionstalgia) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #900 微软准备将 GPT-4 接入到必应搜索引擎

Summary:
? 微软准备将 GPT-4 接入到必应搜索引擎
? Twitter API 将不再提供免费访问
? AI 图像合成模型会“记忆”一点点训练图像
»
»

# 硬核观察 #900 微软准备将 GPT-4 接入到必应搜索引擎

### 微软准备将 GPT-4 接入到必应搜索引擎

据称，微软正在努力将 OpenAI 的 ChatGPT 的更快版本（被称为 GPT-4）在未来几周内纳入它的必应搜索引擎。整合后，必应将使用 GPT-4 来回答搜索查询。GPT-4 和 ChatGPT 的主要区别在于速度，不像 ChatGPT 有时需要长达几分钟的时间来形成回应。通过使用 GPT-4，必应将能够为用户提供人性化的答案，而不是仅仅显示一个链接列表。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/02/01/report-microsoft-plans-to-update-bing-with-a-faster-version-of-chatgpt-in-the-coming-weeks/)**
>
>
>

>
> 老王点评：GPT-4 就准备这样悄悄亮相了？这条新闻有点不确定，或许是一个内测版 GPT-4？
>
>
>

### Twitter API 将不再提供免费访问

Twitter 宣布，从 2 月 9 日开始它的 API 将不再支持免费访问，使用其 API 将必须付费。但其尚未披露付费计划。上个月 Twitter 修改了 API 规则，[明确禁止](/article-15474-1.html) 了开发者利用其 API 开发第三方客户端，大部分第三方 Twitter 客户端已经被 [杀死](/article-15447-1.html) 了。成千上万的开发者还使用 Twitter API 建立了有关天气和信息的机器人，这些都是有趣的业余项目，但在新的政策下，这些机器人都面临关闭。该公司还没有澄清它是否也计划终止对研究人员的免费 API 使用。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/02/01/twitter-to-end-free-access-to-its-api/)**
>
>
>

>
> 老王点评：马某这是杀鸡取卵，着急还清他的收购贷款啊。还好，现在一些去中心化的 Twitter 替代品已经开始出现，除了长毛象，这两天还有个 Damus 开始刷屏票圈。
>
>
> 夹带个私货，已经开始测试 Damus 的朋友可以加 Ξ:///硬核老王： `npub123eqjqdz2g5yw4vvz3ea6ws2ma0xls42jx3nqtzp4lcdk4jyh0zqwg426f`。
>
>
>

### AI 图像合成模型会“记忆”一点点训练图像

研究发现利用对抗性攻击，可以从“稳定扩散”等潜在扩散人工智能图像合成模型中提取一小部分训练图像。它挑战了图像合成模型不记忆其训练数据的观点，以及训练数据如果不被披露就可能保持隐私的观点。研究人员在他们测试的 35 万张高概率记忆图片中只提取到 94 个直接匹配和 109 个感知近似匹配，记忆率大约为 0.03%。另外，他们发现 “记忆” 是近似的，因为人工智能模型不能产生训练图像完全相同的精确副本。

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/02/researchers-extract-training-images-from-stable-diffusion-but-its-difficult/)**
>
>
>

>
> 老王点评：虽然这个比例非常小，但是如果在大量使用的情况下，可能会带来一些监管和隐私的问题。也就是说，人们希望 AI 图像合成可以做到 “意会” 而不是 “拼合”。
>
>
>


如何使用机器学习来分析情感

Summary: 本文将帮助你理解情感分析的概念，并且学习如何使用机器学习进行情感分析。

本文将帮助你理解情感分析的概念，并且学习如何使用机器学习进行情感分析。

# 如何使用机器学习来分析情感

本文将帮助你理解 <ruby> 情感分析 <rt>  sentiment analysis </rt></ruby> 的概念，并且学习如何使用机器学习进行情感分析。我们使用了不同的机器学习算法进行情感分析，然后将各个算法的准确率结果进行比较，以确定哪一种算法最适合这个问题。

情感分析是自然语言处理（NLP）中的一个重要的内容。情感指的是我们对某一事件、物品、情况或事物产生的感觉。情感分析是一个从文本中自动提取人类情感的研究领域。它在上世纪 90 年代初才慢慢地开始发展起来。

本文将让你明白如何将机器学习（ML）用于情感分析，并比较不同机器学习算法的结果。本文的目标不在于研究如何提高算法性能。

如今，我们生活在一个快节奏的社会中，所有的商品都能在网上购买到，每个人都可以在网上发表自己的评论。而一些商品的负面网络评论可能会损害公司的声誉，从而影响公司的销售额。因此对公司来说，通过商品评论来了解客户真正想要什么变得非常重要。但是这些评论数据太多了，无法一个个地手动查看所有的评论。这就是情绪分析诞生的缘由。

现在，就让我们看看如何用机器学习开发一个模型，来进行基本的情绪分析吧。

### 现在就开始吧！

#### 获取数据

第一步是选择一个数据集。你可以从任何公开的评论中进行选择，例如推文或电影评论。数据集中至少要包含两列：标签和实际的文本段。

下图显示了我们选取的部分数据集。

接下来，我们导入所需的库：

```
import pandas as pd
import numpy as np
from nltk.stem.porter import PorterStemmer
import re
import string

```

正如你在上面代码看到，我们导入了 `NumPy` 和 `Pandas` 库来处理数据。至于其他库，我们会在使用到它们时再说明。

数据集已准备就绪，并且已导入所需的库。接着，我们需要用 `Pandas` 库将数据集读入到我们的项目中去。我们使用以下的代码将数据集读入 Pandas <ruby> 数据帧 <rt>  DataFrame </rt></ruby> 类型：

```
sentiment_dataframe = pd.read_csv(“/content/drive/MyDrive/Data/sentiments - sentiments.tsv”,sep = ‘\t’)

```

#### 数据处理

现在我们的项目中已经导入好数据集了。然后，我们要对数据进行处理，以便算法可以更好地理解数据集的特征。我们首先为数据集中的列命名，通过下面的代码来完成：

```
sentiment_dataframe.columns = [“label”,”body_text”]

```

然后，我们对 `label` 列进行数值化：`negative` 的评论替换为 1，`positive` 的评论替换为 0。下图显示了经过基本修改后的 `sentiment_dataframe` 的值。

#### 准备好特征值、目标值

下一步是数据的预处理。这是非常重要的一步，因为机器学习算法只能理解/处理数值形数据，而不能理解文本，所以此时要进行特征抽取，将字符串/文本转换成数值化的数据。此外，还需要删除冗余和无用的数据，因为这些数据可能会污染我们的训练模型。我们在这一步中去除了噪声数据、缺失值数据和不一致的数据。

对于情感分析，我们在数据帧中添加特征文本的长度和标点符号计数。我们还要进行词干提取，即将所有相似词（如 “give”、“giving” 等）转换为单一形式。完成后，我们将数据集分为两部分：特征值 X 和 目标值 Y。

上述内容是使用以下代码完成的。下图显示了执行这些步骤后的数据帧。

```
def count_punct(text):
   count = sum([1 for char in text if char in string.punctuation])
   return round(count/(len(text) - text.count(“ “)),3)*100

tokenized_tweet = sentiment_dataframe[‘body_text’].apply(lambda x: x.split())
stemmer = PorterStemmer()
tokenized_tweet = tokenized_tweet.apply(lambda x: [stemmer.stem(i) for i in x])
for i in range(len(tokenized_tweet)):
   tokenized_tweet[i] = ‘ ‘.join(tokenized_tweet[i])
sentiment_dataframe[‘body_text’] = tokenized_tweet
sentiment_dataframe[‘body_len’] = sentiment_dataframe[‘body_text’].apply(lambda x:len(x) - x.count(“ “))
sentiment_dataframe[‘punct%’] = sentiment_dataframe[‘body_text’].apply(lambda x:count_punct(x))
X = sentiment_dataframe[‘body_text’]
y = sentiment_dataframe[‘label’]

```

#### 特征工程：文本特征处理

我们接下来进行文本特征抽取，对文本特征进行数值化。为此，我们使用<ruby> 计数向量器 <rt>  CountVectorizer </rt></ruby>，它返回词频矩阵。

在此之后，计算数据帧 X 中的文本长度和标点符号计数等特征。X 的示例如下图所示。

#### 使用的机器学习算法

现在数据已经可以训练了。下一步是确定使用哪些算法来训练模型。如前所述，我们将尝试多种机器学习算法，并确定最适合情感分析的算法。由于我们打算对文本进行二元分类，因此我们使用以下算法：

* K-近邻算法（KNN）
* 逻辑回归算法
* 支持向量机（SVMs）
* 随机梯度下降（SGD）
* 朴素贝叶斯算法
* 决策树算法
* 随机森林算法

#### 划分数据集

首先，将数据集划分为训练集和测试集。使用 `sklearn` 库，详见以下代码：

```
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 0.20, random_state = 99)

```

我们使用 20% 的数据进行测试，80% 的数据用于训练。划分数据的意义在于对一组新数据（即测试集）评估我们训练的模型是否有效。

##### K-近邻算法

现在，让我们开始训练第一个模型。首先，我们使用 KNN 算法。先训练模型，然后再评估模型的准确率（具体的代码都可以使用 Python 的 `sklearn` 库来完成）。详见以下代码，KNN 训练模型的准确率大约为 50%。

```
from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)
model.score (X_test,y_test)

0.5056689342403629

```

##### 逻辑回归算法

逻辑回归模型的代码十分类似——首先从库中导入函数，拟合模型，然后对模型进行评估。下面的代码使用逻辑回归算法，准确率大约为 66%。

```
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit (X_train,y_train)
model.score (X_test,y_test)

0.6621315192743764

```

##### 支持向量机算法

以下代码使用 SVM，准确率大约为 67%。

```
from sklearn import svm
model = svm.SVC(kernel=’linear’)
model.fit(X_train, y_train)
model.score(X_test,y_test)

0.6780045351473923

```

##### 随机森林算法

以下的代码使用了随机森林算法，随机森林训练模型的准确率大约为 69%。

```
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
model.score(X_test,y_test)

0.6938775510204082

```

##### 决策树算法

接下来，我们使用决策树算法，其准确率约为 61%。

```
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model = model.fit(X_train,y_train)
model.score(X_test,y_test)

0.6190476190476191

```

##### 随机梯度下降算法

以下的代码使用随机梯度下降算法，其准确率大约为 49%。

```
from sklearn.linear_model import SGDClassifier
model = SGDClassifier()
model = model.fit(X_train,y_train)
model.score(X_test,y_test)

0.49206349206349204

```

##### 朴素贝叶斯算法

以下的代码使用朴素贝叶斯算法，朴素贝叶斯训练模型的准确率大约为 60%。

```
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(X_train, y_train)
model.score(X_test,y_test)

0.6009070294784581

```

#### 情感分析的最佳算法

接下来，我们绘制所有算法的准确率图。如下图所示。

可以看到，对于情感分析这一问题，随机森林算法有最佳的准确率。由此，我们可以得出结论，随机森林算法是所有机器算法中最适合情感分析的算法。我们可以通过处理得到更好的特征、尝试其他矢量化技术、或者使用更好的数据集或更好的分类算法，来进一步提高准确率。

既然，随机森林算法是解决情感分析问题的最佳算法，我将向你展示一个预处理数据的样本。在下图中，你可以看到模型会做出正确的预测！试试这个来改进你的项目吧！

---

via: <https://www.opensourceforu.com/2022/09/how-to-analyse-sentiments-using-machine-learning/>

作者：[Jishnu Saurav Mittapalli](https://www.opensourceforu.com/author/jishnu-saurav-mittapalli/) 选题：[lkxed](https://github.com/lkxed) 译者：[chai001125](https://github.com/chai001125) 校对：[wxy](https://github.com/wxy)

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


Summary: 一个正在开发中令人兴奋的新代码编辑器，基于其自己的 GUI 框架。

一个正在开发中令人兴奋的新代码编辑器，基于其自己的 GUI 框架。

# 迎接 ecode：一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器

>
> 一个正在开发中令人兴奋的新代码编辑器，基于其自己的 GUI 框架。
>
>
>

如果你看看周围的开源代码编辑器，有几个有前途的新项目可能会挑战 Visual Studio Code 的地位。

当然，这可能不会很快发生。**但对支持新项目持乐观态度也无妨。**

我们最近在这里介绍了其中的一些选择：

现在，我偶然发现了另一个编辑器，“**ecode**”。这个项目的作者提到，它从 [Lite XL](https://itsfoss.com/lite-xl/) 等编辑器中获得了灵感。

有什么不同？

* 它建立在其新的 GUI 框架 [eepp](https://github.com/SpartanJ/eepp/) 之上，该框架专注于提供一个丰富的用户界面。
* 虽然它的目标是使用最少的资源，但 ecode 的理念针对的是有 SSD、高核心数和良好的 GPU 加速的**现代硬件**系统。
* 该代码编辑器可以被编译为在任何现代浏览器中运行。然而，目前的重点并不在网页版的开发上。

这听起来不错。那么，让我们看一看。

>
> ? 该项目正在大力开发中。你不应该在日常工作中依赖这个工具。
>
>
>

### ecode 的特点

[ecode](https://github.com/SpartanJ/ecode) 是一个功能强大的编辑器，从一开始就有所有的基本功能。

当然，它有计划随着开发的进展增加更多的东西。就目前而言，这里有一些关键的亮点：

* 可移植
* 语法高亮
* 终端支持
* 自动补全
* 可定制的颜色方案
* 可定制的键盘绑定
* LSP 支持
* <ruby> 缩略视图 <rt>  Minimap </rt></ruby>
* 插件管理器
* 深色和浅色模式
* 各种类型的分割视图以适应不同的工作流程

我在 Linux Mint 上简单地试了一下这个编辑器，它看起来确实是正在开发中。

但是，即使在其早期阶段，它也支持广泛的语言和相应的语法高亮。

你可以从一组预定义的主题中快速定制编辑器的主题。

对于编写大量代码（冗长的片段）并需要快速浏览的用户来说，缩略视图将非常方便。

最初，当我在一个空白区域右键点击时，该应用崩溃了。但是，随着下一个版本 **0.4.1**（在发表这篇文章的时候）的更新，它很快就被修复了。所以，我想说**开发进展似乎很有希望**。

### 下载 ecode

你可以尝试一下 [在线演示](https://cdn.ensoft.dev/eepp-demos/demo-fs.html?run=ecode.js) 来快速测试一些选项。

有一个可用于所有 Linux 发行版的 AppImage 软件包。也有用于 macOS 和 Windows 的软件包。

你可以从它的 [GitHub 发布页](https://github.com/SpartanJ/ecode/releases/tag/ecode-0.4.1) 获得这些包，或者探索它的 [源码](https://github.com/SpartanJ/eepp/)。

>
> **[下载 ecode](https://github.com/SpartanJ/ecode/releases/tag/ecode-0.4.1)**
>
>
>

? 有这么多有前途的新代码编辑器在开发中，你认为我们会对微软的 VS Code 有一个好的竞争吗？

---

via: <https://news.itsfoss.com/ecode-editor/>

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

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


elementary OS 7 发布

Summary: 在一年后，elementary OS 7 出现了，带来一些激动人心的微妙变化！

在一年后，elementary OS 7 出现了，带来一些激动人心的微妙变化！

# elementary OS 7 发布

>
> 在一年后，elementary OS 7 出现了，带来一些激动人心的微妙变化！
>
>
>

elementary OS 6.1 是一个令人印象深刻的版本。终于，过去了一年，下一个主要的升级，elementary OS 7 “Horus” 来了。

这些变化可能不算大规模的翻新，正如以前 [报道](https://news.itsfoss.com/elementary-os-7-dev-updates/)，开发的重点更多的是在细化上。

### elementary OS 7：有什么新内容？

主要的改进领域包括：

* <ruby> 应用中心 <rt>  AppCenter </rt></ruby>
* 应用程序和系统更新
* 侧载/替代商店
* 改进的初次安装体验
* 应用程序的改进

#### 应用中心升级

在每一次重大的升级中，<ruby> 应用中心 <rt>  AppCenter </rt></ruby>都得到了很大的重视。虽然它已经提供了完美的体验，但它变得越来越好了，更快的性能、更好的调整以适应不同屏幕分辨率或窗口大小。

应用的描述是这次的亮点。你可以一次看到应用程序的更多屏幕截图，让你对应用程序有更好的了解。

这些图片还包括了图片说明，应该有助于视力有关的残疾用户访问应用程序页面。

从大的方面来说，屏幕截图融入到以应用程序的默认重点颜色为特色的背景中，看起来很不错。

此外，应用程序的描述也会给你提供更多关于该应用程序如何积极维护的信息，以及最近的发布说明。

#### 应用程序更新

你现在可以选择切换是否要自动更新应用程序。

Flatpak 的首选项保持不变；你可以选择让它们自动更新，而不是手动检查。

此外，系统更新一旦下载并准备好，就会离线安装，可以给你一个顺滑的体验。

#### 第三方应用商店

elementaryOS 7 应用中心上的应用程序放在其独立的 Flatpak 软件仓库上。

然而，你仍然可以添加 Flathub 作为软件仓库，以获得更多的 Flatpak 应用程序。

为了告知你这一区别，应用中心会提到一些警告，如 “<ruby> 非策划的 <rt>  Non-Curated </rt></ruby>”，这样你就知道它是来自另一个应用商店。

当你第一次尝试从第三方商店安装一个应用程序时，这样的弹出警告只会出现一次。

#### 支持网页应用程序

该版本包括 GNOME Web 43，它支持创建网页应用程序，可在应用程序菜单中找到。

你可以在 GNOME Web 中管理所安装的网页应用程序。

#### 重新设计的图标

elementaryOS 已经被视作最漂亮的 Linux 发行版之一。

为了提升体验，几乎每一个应用程序的图标都被重新设计，以提供一个更现代和更有表现力的用户体验。

#### 安装和初次体验

安装体验随着升级而变得更加直接了当。

换句话说，你在安装程序中的看到屏幕数量将减少，但仍然可以得到所有的基本信息，包括警告和系统要求。

安装程序现在可以提示你选择左键或右键设置为鼠标的主按钮。

从系统主题偏好到自动更新，你可以在安装后直接配置所有必要的东西。

#### 新的音乐多媒体应用程序

为了提供更好的多媒体体验，该音乐应用程序已经从头开始完全重写，在各种使用情况下都能很好地工作。

你可以设置本地音乐位置、预览音频文件、获得正确的元数据信息，以及更多。

#### 其他变化

你会发现其他几个细微的改进。其中一些包括：

* 邮件应用现在采用了更现代、更扁平的设计，以提高响应速度。
* 邮件应用程序现在支持微软 365 账户。
* 在任务应用中对新创建的任务列表的离线支持。
* 在线账户设置包括对 CalDAV 账户的离线支持。
* 切换选择文件夹，只需点击一下。
* 重新设计的打印机设置。
* 电源配置文件管理设置。

你可以参考 [官方公告](https://blog.elementary.io/os-7-available-now/) 了解更多细节。

### 下载 elementary OS 7

>
> ? 当我尝试最新的 RC 构建版时，我的英伟达显卡驱动的系统启动时出现了一个反色的（看起来很奇怪）的彩色屏幕。这对最终版本来说可能不是一个问题。
>
>
>

你可以从 [官方网站](https://elementary.io) 上获取最新的 ISO。我希望他们能够为英伟达系统增加一个单独的 ISO，但对于其他系统，它应该可以正常工作。

>
> **[elementary OS 7](https://elementary.io)**
>
>
>

另外，你必须得重新安装，而不是从 elementary OS 6 升级。在你继续安装之前，请查看其 [官方 FAQ](https://github.com/elementary/os/wiki/OS-7-Horus-FAQ)。

---

via: <https://news.itsfoss.com/elementary-os-7-release/>

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

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


硬核观察 #901 工程师们纷纷批准谷歌联合创始人谢尔盖·布林的代码申请

Summary:
? 工程师们纷纷批准谷歌联合创始人谢尔盖·布林的代码申请
? ChatGPT 月活用户达到一亿，史上增长速度最快的消费级应用
? 苹果活跃设备已达 20 亿台
»
»

Ai逻辑再好也没用，没有上下文衔接的记忆，就是个木箱子。小冰就是活活的反面教材

# 硬核观察 #901 工程师们纷纷批准谷歌联合创始人谢尔盖·布林的代码申请

### 工程师们纷纷批准谷歌联合创始人谢尔盖·布林的代码申请

为了应对 ChatGPT，谷歌的两位联合创始人 [回到](/article-15465-1.html) 谷歌共商对策。已经淡出公司日常管理的顶级富豪谢尔盖·布林提交了多年以来的第一个代码申请，以获得训练 LaMDA 的数据。这是对一个配置文件的两行修改，将他的用户名加入到代码中。几十名工程师回复了“我看行（LGTM）”，批准了这个请求，其中一些批准来自该团队以外的工作人员，他们似乎只是渴望能够说他们给公司联合创始人的代码做了审查批准。

>
> **[消息来源：福布斯](https://www.forbes.com/sites/richardnieva/2023/01/31/sergey-brin-code-request-lamda/?sh=719e5fdb7ce6)**
>
>
>

>
> 老王点评：哈哈，给谷歌创始人的代码做批准的机会可不多。
>
>
>

### ChatGPT 月活用户达到一亿，史上增长速度最快的消费级应用

OpenAI 是在 2022 年 11 月推出的聊天机器人 ChatGPT。据研究，2023 年 1 月期间 ChatGPT 日独立访客达到 1300 万，这一数字是 12 月的一倍多。1 月份的月活用户达到一亿，为史上增长速度最快的消费级应用。而 TikTok 达到 1 亿用户花了 9 个月时间，Instagram 花了 2 年半时间。分析师称，过去二十年没有一个互联网消费应用能以如此快的速度增长。

>
> **[消息来源：路透社](https://www.reuters.com/technology/chatgpt-sets-record-fastest-growing-user-base-analyst-note-2023-02-01/)**
>
>
>

>
> 老王点评：就这样的用户量和活跃程度，我觉得 ChatGPT 成为一个新的“搜索引擎”没有问题。
>
>
>

### 苹果活跃设备已达 20 亿台

在今天的季度收益报告中，苹果公司表示，该公司超过了 20 亿台设备的里程碑。去年这个时候，苹果公司说达到 18 亿台活跃设备。自 2019 年以来，其安装量每年增长约 1-1.5 亿台新设备。而活跃设备在短短 7 年内从 10 亿增加到 20 亿，翻了一番。

>
> **[消息来源：9to5mac](https://9to5mac.com/2023/02/02/apple-hits-2-billion-active-devices/)**
>
>
>

>
> 老王点评：看起来苹果的发展依旧很好。
>
>
>


System76 即将推出的 COSMIC 桌面正在酝酿大变化

请原谅我，这看起来就像gnome

估计是基于gtk的rust封装开发的，并非rust某种原生gui库吧

确实有点像

# System76 即将推出的 COSMIC 桌面正在酝酿大变化

>
> System76 介绍了其即将推出的由 Rust 开发的 COSMIC 桌面环境的开发细节。让我们来看看。
>
>
>

Pop!\_OS 的开发者们 [早在 2021 年](https://news.itsfoss.com/pop-os-cosmic-rust/) 就开始着手开发他们**基于 Rust 的桌面环境** COSMIC。

其目标是制作一些你已经熟悉的 Pop!\_OS 的东西，但为你提供一个更快和更可扩展的桌面环境。

System76 也决定 [不发布 Pop!\_OS 22.10](https://news.itsfoss.com/no-pop-os-21-10/)，以专注于它的开发。

另外，我们的一个社区贡献者尝试了它的一个早期版本，它看起来很有希望：

>
> **建议阅读** ?
>
>
> 我试用了 System76 新的基于 Rust 的 COSMIC 桌面！如果你还不知道，System76 的开发者一直在开发一个新的桌面环境（被称为 COSMIC），它是用 Rust 编写的：一种内存安全和超快的编程语言。从头开始创建一个桌面环境并不是一件简单的事。这涉及到创建从合成器、...
>
>
>
>
>
>

时间过去了一年，我们现在对这个桌面环境有了更多的期待。

让我们来探索一下 System76 为我们准备了什么。

### COSMIC 桌面的 3 项关键性的改进

>
> ? 我们讨论的这些变化和草图在最终发布时可能会有变化。
>
>
>

在 [最近的一篇博文](https://blog.system76.com/post/more-on-cosmic-de-to-kick-off-2023) 中，来自 System76 的 Alex 让我们看到了 COSMIC 桌面环境的发展状况。

让我带你看看其中值得注意的亮点：

* 新的用户界面功能
* 重新打造的设置应用
* 新的壁纸功能

### 1、新的用户界面功能

一个新的 [SegmentedButton](https://github.com/pop-os/libcosmic/pull/56) 部件被用来处理 COSMIC 桌面环境中各处的标签和分段式按钮。

它的目的是给人一种简洁、有条理、更集中的菜单体验，而分段式按钮则允许在选择时进行操作。

他们还举了一个例子来解释这对用户界面有什么帮助：

>
> 当你定制你的桌面以使用水平工作区而不是垂直工作区时，例如，你的选择将导致桌面反映这种行为。
>
>
>

### 2、重新打造的设置应用

首先，“设置” 应用得到了彻底的整改，现在搜索结果显示为一个连续的、可滚动的、来自不同设置面板的结果列表。

>
> ? 在最新几轮的内部用户（UX）测试后，具体设置进行了调整。
>
>
>

然后是各种设置面板本身的改造。让我带你了解一下。

#### 显示调整

开发人员将图形模式和深浅色选项移至显示设置面板。在测试过程中，他们发现大多数用户到显示设置中去是希望找到这些设置。

此外，当使用多个显示器时，显示设置将根据显示器被组织到专门的选项卡中，并有改变或添加颜色配置文件的选项。

#### 电源选项

这个设置面板现在可以显示连接的无线设备的电池电量和所有连接设备的概览。

你还可以根据你的要求选择电源配置文件，并限制笔记本电脑的电池充电，以保护电池寿命。

#### 地区和语言选择

该设置已被划分为不同的类别，以便于访问。它们被分为几个的类别，以选择日历、日期、温度和测量的区域格式。

#### 声音

声音设置中增加了一个新的选项，可以让你调整个别警报和应用程序的音量。

此外，拥有两个或更多扬声器的用户现在可以使用新的扬声器测试工具来优化其设置。

### 3、新的壁纸功能

COSMIC 桌面环境可以让你设置一张壁纸，每个显示器一张，或者让你以幻灯片的形式循环播放多张壁纸。这是给**多显示器用户的一个好消息！**

你还可以对每张壁纸在切换到下一张之前在屏幕上停留的时间进行精细控制。

### ? 其他改进措施

除了上面提到的面向用户的变化之外，还有一些内在的改进，包括：

* 一个新的动态渲染器，[iced-dyrend](https://github.com/pop-os/iced/commit/f1310e47617c3046a3cd98e20e373247f19327af) 已经由 System76 首席工程师实现，旨在动态调整你的 GPU 应该使用什么渲染程序。如果你有 GPU，它可以在 OpenGL 或 Vulkan 之间切换；如果你没有，则可以在 [Softbuffer](https://github.com/rust-windowing/softbuffer/) 之间切换。
* 通过 [cosmic-text](https://github.com/pop-os/cosmic-text) 进行的文本渲染已经与 Softbuffer 0.2.0 配对，允许 [libcosmic](https://github.com/pop-os/libcosmic) 部件库的软件渲染后端在任何操作系统上使用。
* 开发者还测试了 XWayland 的实现，使 COSMIC 桌面环境能够运行使用 X11 窗口系统的应用程序。
* COSMIC 桌面环境已经通过 [cosmic-time](https://github.com/pop-os/cosmic-time) 动画库加入了对动画的支持。它包含了默认应用程序所使用的动画，并使用 [Iced](https://github.com/iced-rs/iced) 工具箱构建。

开发者还提到：

>
> 虽然 COSMIC 桌面环境是为 Pop!\_OS 开发的，但我们的目标是让它的元素也能在其他操作系统上使用。
>
>
>

这是很好的消息！如果你想知道 COSMIC 桌面环境是否是 Pop!\_OS 独有的东西，也许你也可以在发行版上试试它，希望如此！ ?

---

via: <https://news.itsfoss.com/system76-pop-os-cosmic-de-changes/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

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


使用 BookStack 写文档，一个开源的 Confluence 替代品

# 使用 BookStack 写文档，一个开源的 Confluence 替代品

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

>
> BookStack 是一个开源的、基于网页的文档系统，它允许你创建一个结构化的知识库，供个人、团队或公司使用。
>
>
>

BookStack 是一个开源的、基于网页的文档系统，它允许你创建一个结构化的知识库供个人、团队或公司使用。BookStack 专注于易用性和设计，以适合具有潜在的混合技术技能的受众。它建立在 PHP 框架 Laravel 之上，使用 MySQL 或 MariaDB 作为数据存储。

在尝试为我的工作场所寻找文档或维基系统后，我构建了 BookStack。[Confluence](https://opensource.com/article/20/9/open-source-alternatives-confluence) 是最符合我要求的选项，但基于用户的定价带了的阻碍。Confluence 的封闭性也对我要构建的文档的寿命提出了质疑。最后，我决定建立自己的平台来满足我的需求。我用 MIT 许可发布它，以回馈我多年来喜爱并从中受益的开源社区。

### 内容层次和组织选项

为了保持熟悉和直观，BookStack 使用了现实世界的书籍术语来描述其组织结构。文档内容被创建为 “<ruby> 页 <rt>  Page </rt></ruby>”：

* “页” 属于一个特定的 “<ruby> 书 <rt>  Book </rt></ruby>”。
* 在一本书中，“页” 可以选择性地被分组为 “<ruby> 章节 <rt>  Chapter </rt></ruby>”。
* 随着文档的增长，你可以使用 “<ruby> 书架 <rt>  Shelve </rt></ruby>” 来对 “书” 进行分类，如果需要，“书” 可以成为多个书架的一部分。

这种结构是 BookStack 的核心，而且往往是决定 BookStack 是否适合你的使用情况的选择因素。

在这个核心层次上，BookStack 还提供了标签、用户收藏夹和高级搜索功能，以确保内容可被发现。

### 编写文档

在 BookStack 中编写文档的主要方法是通过使用其所见即所得（WYSIWYG）编辑器，它利用了开源的 [Tiny](https://github.com/tinymce/) 项目。这个编辑器提供了一系列的内容格式，包括：

* 各种标题级别
* 代码块
* 可折叠的块
* 表格
* 图片
* 链接
* iFrame 嵌入
* 提醒呼出
* 项目符、编号和任务列表
* 绘图（通过与开源 [diagrams.net](https://www.diagrams.net/) 的整合）

如果你喜欢 [Markdown](https://opensource.com/article/19/9/introduction-markdown)，你可以使用内置的 Markdown 编辑器，它提供实时预览并支持与所见即所得编辑器相同的功能集。如果权限允许，你甚至可以根据你所编辑的页面，在这些编辑器选项之间跳转。

### 你的数据是如何存储的

如果使用了 Markdown，除了原始的 Markdown 内容外，文档以相对简单的 HTML 格式存储在 [MySQL 或 MariaDB](https://opensource.com/downloads/mariadb-mysql-cheat-sheet) 数据库中。很多设计和开发决定都是为了保持这种 HTML 格式的简单性。它尽可能地使用普通的标准 HTML 元素，以确保原始文档内容保持开放和可移植。

上传的图片、附件和创建的图纸被保存在本地文件系统中，但也可以选择存储在一个与 s3 兼容的数据存储中，比如开源的 [MinIO](https://github.com/minio/)。

为了保持你的内容可访问性，有内置的选项可以将内容导出为 PDF、HTML、纯文本或 Markdown。对于外部使用，有一个 HTTP REST API 和一个 Webhook 系统。在扩展方面，一个 “逻辑主题系统” 允许在广泛的系统事件中运行自定义的 PHP 代码。

### 为商业做好准备

BookStack 具有一系列的功能来支持商业环境。内置了对一系列认证选项的支持，包括 SAML2、OpenID Connect 和 LDAP，允许使用 [KeyCloak](https://www.keycloak.org/) 等平台轻松实现单点登录。也支持多因子认证（MFA），并且可以根据角色进行授权。审计日志提供整个实例的修改活动的完整可见性。

一个完全基于角色的权限系统为管理员提供了对系统内容的创建、查看、更新和删除操作的完全控制。这允许每个角色的系统默认值，以及在每个层次项目基础上设置自定义权限的选项。

### 支持的社区

经过 7 年多的积极开发，BookStack 的社区已经发展到了各种讨论和支持的渠道。我们现在有：

* [我们的文档站点](https://www.bookstackapp.com/docs/)
* [YouTube 上的视频指南](https://www.youtube.com/c/BookStackApp)
* [一个 subreddit](https://www.reddit.com/r/bookstack)
* [一个活跃的 GitHub 问题列表](https://github.com/BookStackApp/BookStack/issues)
* [付费业务支持](https://www.bookstackapp.com/support)

如果你想体验一下 BookStack，你可以 [在我们的演示网站](https://demo.bookstackapp.com/books/bookstack-demo-site/page/logging-in-to-the-demo-site) 试试。要了解如何设置你自己的实例，请访问 [我们文档中的安装页面](https://www.bookstackapp.com/docs/admin/installation/)。

---

via: <https://opensource.com/article/23/1/bookstack-open-source-documentation>

作者：[Dan Brown](https://opensource.com/users/ssddanbrown) 选题：[lkxed](https://github.com/lkxed) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #902 谷歌正在开发基于 Blink 的 iOS 浏览器

Summary:
? 谷歌正在开发基于 Blink 的 iOS 浏览器
? 谷歌将在下周披露挑战 ChatGPT 的 AI 工具
? GitHub CEO 认为开源开发者应被豁免于欧盟的《人工智能法案》
»
»

# 硬核观察 #902 谷歌正在开发基于 Blink 的 iOS 浏览器

### 谷歌正在开发基于 Blink 的 iOS 浏览器

当前的 iOS 版 Chrome 浏览器使用了苹果的 WebKit 渲染引擎，这是因为苹果要求每个 iOS 浏览器都必须使用 WebKit。但据称，谷歌的 Chromium 开发人员已经开始使用谷歌自己的 Blink 引擎为 iOS 开发一个实验性的浏览器。谷歌坚持说这是一个实验，“目的是了解 iOS 上性能的某些方面”，并不打算发布。但是，这个基于 Blink 的浏览器可能是为欧洲的竞争规则做准备，这些规则看起来将要求苹果停止要求其他浏览器必须使用其 WebKit 引擎。

>
> **[消息来源：The Register](https://www.theregister.com/2023/02/03/googles_chromium_ios/)**
>
>
>

>
> 老王点评：就看欧盟能不能敲开苹果的外壳了。
>
>
>

### 谷歌将在下周披露挑战 ChatGPT 的 AI 工具

据报道，谷歌将在 2 月 8 日披露挑战 ChatGPT 的 AI 工具。该活动将围绕“使用 AI 的力量重新想象如何搜索、探索和与信息互动，使得比以往任何时候更自然、更直观的找到所需要的信息”。谷歌有大量的人工智能技术，但它大多不对公众开放。它有一个名为 LaMDA 的聊天机器人语言模型，和一个名为 Imagen 的图像生成 AI。不过，谷歌有对互联网上其他流行事物反应过度的历史，这些 “克隆竞争对手” 的项目在 “谷歌坟场” 里随处可见。

>
> **[消息来源：Ars Technica](https://arstechnica.com/gadgets/2023/02/it-sounds-like-google-will-unveil-its-chatgpt-clone-february-8/)**
>
>
>

>
> 老王点评：或许，谷歌真的不必慌？
>
>
>

### GitHub CEO 认为开源开发者应被豁免于欧盟的《人工智能法案》

欧盟议会即将在未来几个月表决的《人工智能法案》旨在解决人工智能在我们日常生活中日益增长的影响。批评者认为，该法案可能会给通用人工智能系统（GPAI）带来法律责任，并赋予大型科技公司更多的权力和控制权，因为独立的开源开发者没有资源来应对法律纠纷。GitHub CEO 在欧盟开源政策峰会上说，“因为最终这要归结为人。开源社区不是一个实体的社区。它是一个人的社区，合规负担应该落在实体身上，应该落在正在交付产品的公司身上。”

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/02/03/github-ceo-on-why-open-source-developers-should-be-exempt-from-the-eus-ai-act/)**
>
>
>

>
> 老王点评：和 [之前（#894）](/article-15485-1.html) 的《网络弹性法案》一样，这些方案在要求加强监管和合规的同时，也无视了开源的社区本质，很可能影响到开源文化的根基。
>
>
>


LibreOffice 7.5 发布：漂亮的新应用图标和酷炫功能

啥时候更新一下宏语言和接口啊，真的很丑，不想用！！！

公式不能拉动改变大小

# LibreOffice 7.5 发布：漂亮的新应用图标和酷炫功能

>
> 通过全新的应用程序图标和其他改进，LibreOffice 7.5 似乎有了新的形象。
>
>
>

LibreOffice 7.5 社区版来了，带来**许多功能升级和新的应用图标**。

之前的主要版本 [7.4 版](https://news.itsfoss.com/libreoffice-7-4-release/) 为微软的专有文件格式提供了更好的 “互操作性”，并**进一步巩固了 LibreOffice** 作为 Linux 上 [微软 Office 的最佳开源替代品](https://itsfoss.com/best-free-open-source-alternatives-microsoft-office/) 之一的地位。

而现在，一个新的版本来了，里面有很多东西。

让我们来看看带来了什么好东西。

### ? LibreOffice 7.5 的新变化

在这个版本中，对 LibreOffice 的所有程序都做了大量的改进；一些关键的亮点包括：

* 新的应用程序图标
* Writer 的改进
* Calc 的改进
* Impress & Draw 的改进
* 深色模式的改进

#### 新的应用程序图标

LibreOffice 现在具有一套新的应用程序图标，看起来相当现代。这些图标在 GNOME 和 KDE Plasma 等新一代的桌面环境中看起来都很漂亮。

下面是它与旧图标的对比情况。令人耳目一新，对吗？

同样，开发者也更新了 LibreOffice 整个界面上用于各种媒体类型/文件的图标集。

#### Writer 的改进

Writer 应用程序得到了大量的改进，值得注意的包括：

* 增加了一个新的纯文本类型。
* 标题和标签的内容控件。
* 新的组合框类型和将内容控件导出为 PDF 的能力。
* 对丹麦语、荷兰语、爱沙尼亚语、德语、匈牙利语、挪威语和瑞典语等语言的拼写检查有所改进。
* 在表格中，当列与合并单元格相交时，对它的检测得到了改进。
* 书签的编辑和可访问性得到了改进。
* 一个可以应用于图像、嵌入对象和文本框的装饰性标签，以允许辅助软件在导出的 PDF 中忽略它们。

#### Calc 的改进

在非文本格式的单元格中，带有前导撇号（'）的单元格输入现在将永久删除第一个撇号以防止混淆。

增加了对 Kamenický 和 Mazovia 编码的支持，同时对条件格式化进行了改进。

此外，在函数向导中搜索一个术语时，现在会通过函数描述以及它们的名称进行匹配。

#### Impress & Draw 的改进

Impress 现在支持在媒体形状中添加裁剪过的视频，还修复了 EMF 图形的模糊问题。

在 Draw 里，增加了对修改表格样式和创建新表格的基本支持。修改后的样式被保存到文档中，并可以做成模板和共享。

>
> ? 你可以通过右键单击 “表格设计” 侧边栏面板中的设计来访问修改表格样式的功能。
>
>
>

#### ? 其他变化和改进

这些并不是 7.5 版本中对 LibreOffice 的唯一改进。

像\*\*更好地支持深色和高对比度的主题，支持图表中的数据表格，对核心的各种改进，以及更多的东西使它成为一个完善的版本。一些改进是针对 macOS 和 Windows 等平台的，以及针对 Linux 的。

你可以从 [官方发布说明](https://wiki.documentfoundation.org/ReleaseNotes/7.5) 或 [公告](https://blog.documentfoundation.org/blog/2023/02/02/tdf-announces-libreoffice-75-community/) 中查看所有的技术变化。

### 下载 LibreOffice 7.5

LibreOffice 7.5 可以从 [官方下载页面](https://www.libreoffice.org/download/download-libreoffice/) 获得。

你可以找到 deb 和 rpm 文件以及用于 Windows 和 macOS（Intel/ARM）的 软件包。

>
> **[LibreOffice 7.5](https://www.libreoffice.org/download/download-libreoffice/)**
>
>
>

你也可以选择 Torrent 文件以获得更顺畅的下载体验。

对于现有的用户，根据你的 Linux 发行版，预计在未来几天/几周会有更新。你可以选择 Flatpak 包以更快地获得最新版本。

---

via: <https://news.itsfoss.com/libreoffice-7-5-release/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

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


GNOME 截图工具的新旧截图方式

试试flameshot和ksnip吧！绝对好用

# GNOME 截图工具的新旧截图方式

>
> 以下是关于 GNOME 截图工具的细节，它的用法、安装方法以及如何用新旧两种方式启动它们。
>
>
>

2022 年，GNOME 改变了其默认的截图工具，并将截图功能构建为 GNOME Shell 的一部分。它不再是一个独立的应用了。

早些时候，GNOME 为主要的 Linux 发行版，如 Ubuntu 和 Fedora，提供了一个原生的 GTK 应用 gnome-screenshot。然而，从 [GNOME 42](https://www.debugpoint.com/gnome-42/) 开始，这个功能已经被移除。因此从 [Ubuntu 22.04](https://www.debugpoint.com/ubuntu-22-04-review/) 和 Fedora 36 开始，你只能得到以下新的截图 UI 作为默认的截图工具。

这一变化从根本上破坏了许多工作流程。因为它不是一个你可以单独启动的可执行文件，你只能依赖键盘上的 `Print-Screen` 键。而且只能通过应用搜索找到它的快捷方式。

因此，在新的 GNOME 截图 UI 中捕捉延迟的屏幕截图变得更有挑战性。

下面是一些你仍然可以使用旧的 GNOME 截图工具的方法，以及如何手动触发新的截图 UI。

### GNOME 截图工具：如何安装旧版 GUI

如果你使用的是 Ubuntu 22.04 及以上版本，或者任何基于 Ubuntu 的带有 GNOME 桌面的发行版，运行以下命令来安装它。

```
sudo apt install gnome-screenshot

```

而对于 Fedora 用户，使用下面的命令。

```
sudo dnf install gnome-screenshot

```

如果你在 Arch Linux 或者 Manjaro Linux 中使用 GNOME 桌面，那么使用下面的命令来安装它。

```
pacman -S gnome-desktop

```

安装后，通过应用程序菜单启动它。

为了进一步定制，你可以打开设置，从 GNOME Shell 的新 UI 中移除 `Print-Screen` 的按键绑定，并通过以下命令创建一个自定义的键盘快捷方式：

```
gnome-screenshot --window   <窗口>
gnome-screenshot --area     <区域>
gnome-screenshot            <全屏>

```

### GNOME 截图 UI：如何通过命令行手动触发它

当你从键盘上按下 `Print-Screen` 键时执行的功能是 [GNOME Shell 代码](https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/screenshot.js#L2210) 的一部分。不幸的是，它被保护在 dbus API 内，你不能直接调用它。

这样做是为了让你在 Wayland 下安全，这样就不会有任意的代码通过任何脚本获得对 dbus 调用函数的访问。

然而，这破坏了许多使用场景和人们多年来编写的脚本。例如，许多用户报告说 [Zoom](https://www.debugpoint.com/zoom-install-linux-ubuntu-download/) 在 GNOME-Wayland 下的视频会议通话 [中断](https://community.zoom.com/t5/Meetings/Wayland-screen-sharing-broken-with-GNOME-41-on-Fedora-35/m-p/22539) 就是因为这个原因，最终通过下面这个关闭安全模式的方法解决了这个问题。

让我们看看如何关闭它并触发 gnome-shell 的截图。

在使用下面的步骤之前，请谨慎行事。因为它可能会开放你的 GNOME Shell，让你任意访问脚本。请确保你知道你在做什么。

首先，你需要打开 [GNOME looking glass](https://wiki.gnome.org/Projects/GnomeShell/LookingGlass) 来关闭安全模式。

按 `ALT+F2` 并输入以下内容：

```
lg

```

在顶部选择 “Evaluator”，在命令窗口中，输入以下内容。然后点击回车。

```
global.context.unsafe_mode = true

```

你应该看到一个响应，即它已被关闭。

现在按 `Esc` 键关闭 “looking glass”。并打开一个终端。

输入以下内容以启动截图工具：

```
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.screenshotUI.open();'

```

你应该看到新的 GNOME Shell 截图被触发了。

如果你想关闭它，再次打开 `lg` 并将其设置为 `false`。

```
global.context.unsafe_mode = false

```

### 结束语

从使用上来说，通过关闭安全模式，你仍然可以通过任何 shell 脚本使用新的截图功能。但不建议这样做。最好是使用旧的 GNOME 截图工具来避免所有的麻烦。

干杯。

---

via: <https://www.debugpoint.com/gnome-screenshot-tool-usage/>

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

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


硬核观察 #903 OpenShift 是红帽增长最快的部分

Summary:
? OpenShift 是红帽增长最快的部分
? Facebook 被指秘密耗尽用户的电池
? 拟议的 Linux 补丁将允许在构建时禁用 CPU 安全缓解措施
»
»

# 硬核观察 #903 OpenShift 是红帽增长最快的部分

### OpenShift 是红帽增长最快的部分

红帽也许是最著名的 Linux 操作系统供应商，但该公司的 OpenShift 平台才是其增长最快的部分。IBM 在其财报中称 OpenShift 是一项 10 亿美元的业务。OpenShift 基于开源的 Kubernetes 容器编排系统，这是红帽将商业和开源结合起来，为所有参与者带来利益的又一个例子。

>
> **[消息来源：Venture Beat](https://venturebeat.com/data-infrastructure/red-hat-gives-an-arm-up-to-openshift-kubernetes-operations/)**
>
>
>

>
> 老王点评：虽然知道操作系统系统厂商都逐渐扩展其营利方向，但是我还是为 OpenShift 的发展吃惊。
>
>
>

### Facebook 被指秘密耗尽用户的电池

以测试功能或问题的名义，比如测试应用程序运行速度或图像的加载方式，“偷偷” 耗尽某人的手机电量，这种做法被称为 “负测试”。一名前 Facebook 雇员因拒绝执行 “负测试” 而被解雇，他被告知这样 “通过伤害少数人，可以帮助更多的人”。

>
> **[消息来源：《纽约邮报》](https://nypost.com/2023/01/28/facebook-fires-worker-who-refused-to-do-negative-testing-awsuit/)**
>
>
>

>
> 老王点评：可能，在我们不知道的情况下，也被 “负测试” 吧？
>
>
>

### 拟议的 Linux 补丁将允许在构建时禁用 CPU 安全缓解措施

如果想避免内核中不断增加的 CPU 安全缓解措施及其相关的性能开销，有一个拟议的 Linux 内核补丁将提供一个新的 Kconfig 构建时选项，来构建一个不安全的内核。之前，有一个等同的 Linux 内核启动参数 `mitigations=off`，可以允许在运行时禁用针对这些 CPU 问题的各种内核内安全缓解措施。这个新的构建选项可以避免在启动时忘记设置该内核参数。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-Default-Mitigations-Off)**
>
>
>

>
> 老王点评：虽然在生产环境或对安全有严格要求的环境中，应该坚持启用这些安全缓解措施，但也可见这些缓解措施对性能的损耗不小。
>
>
>


发现 Linux SpaceFM 文件管理器的威力

# 发现 Linux SpaceFM 文件管理器的威力

>
> 如果你对 Linux 上的文件管理器感到满意，但你想尝试一个设计上有点不同的文件管理器，SpaceFM 值得一看。
>
>
>

SpaceFM 是一个使用 GTK 工具包的 Linux 的标签式文件管理器，所以它很适合在 [GNOME](https://opensource.com/article/19/12/gnome-linux-desktop)、[Mate](https://opensource.com/article/19/12/mate-linux-desktop)、[Cinnamon](https://opensource.com/article/19/12/cinnamon-linux-desktop) 等的桌面上使用。SpaceFM 还具有一个内置的设备管理器系统，所以它特别适合于 [Fluxbox](https://opensource.com/article/19/12/fluxbox-linux-desktop) 或 [fvwm](https://opensource.com/article/19/12/fvwm-linux-desktop) 之类的窗口管理器，它们通常不包括图形设备管理器。如果你对 Linux 上的文件管理器满意，但你想尝试一个设计上有点不同的文件管理器，SpaceFM 值得一看。

### 安装 SpaceFM

在 Linux 上，你可能会在你的发行版的仓库中找到 **SpaceFM**。在 Fedora、Mageia、OpenMandriva 和类似的软件中：

```
$ sudo dnf install spacefm

```

在 Debian 和基于 Debian 的系统上：

```
$ sudo apt install spacefm

```

### 面板

我不知道为什么 SpaceFM 被称为 SpaceFM，但可能是因为它致力于让你把窗口中的每一点空间都用来做有用的事情。默认情况下，SpaceFM 实际上是相当简单的、标准的文件管理器。它有一个列出你的文件的面板，一个工具栏，和一个菜单栏。

所有的“常规”规则都适用。

* **双击**打开一个目录或在其默认的应用中打开一个文件。
* **右键点击**可获得一个上下文菜单，提供许多标准选项（复制、粘贴、重命名、查看属性、创建新文件夹，等等）。

不过，SpaceFM 使自己与众不同的方式是它的面板系统。SpaceFM 默认显示一个面板。这就是占据大部分空间的文件列表窗口。但它最多可以有四个面板视图，再加上一些用于某些特定任务的额外面板。

### 打开一个新的面板

在你的文件管理器中，你可以看到两个目录，而不是看到一个目录。要在自己的窗格中调出另一个目录，按 `Ctrl+2` 或进入 “<ruby> 视图 <rt>  View </rt></ruby>” 菜单，选择 “<ruby> 面板二 <rt>  Panel 2 </rt></ruby>”。或者，点击菜单面板中从左开始的第二个绿点图标。

有了两个面板，你可以把文件从一个目录移到另一个目录，而不需要打开一个新的文件管理器窗口，或者你可以浏览两个目录来比较其内容。

但为什么要满足于两个面板呢？也许你更想一次看到三个目录。要在一个专门的窗格中调出第三个目录，请按 `Ctrl+3` 或进入 “<ruby> 视图 <rt>  View </rt></ruby>” 菜单，选择 “<ruby> 面板三 <rt>  Panel 3 </rt></ruby>”。或者，点击菜单面板中从左开始的第三个绿点图标。这个面板出现在 SpaceFM 窗口的底部。

打开三个面板后，你可以在几个目录之间移动文件，或将文件从一个公共的“垃圾场”（如你的桌面或下载文件夹）分类到特定的目录。

当然，当你尝试了三个面板，你可能会发现自己很想拥有第四个面板。要在自己的窗格中打开第四个目录，以此类推。或者，点击菜单面板中从左开始的第四个绿点图标。这个会在面板三旁边打开，并将你的 SpaceFM 窗口分成四份。

那么 *第五个* 面板呢？好吧，实际上 SpaceFM 仅有四个面板。如果你真的想有第五个面板，你必须打开一个新的 SpaceFM 窗口。然而，仍有更多的面板，用于文件列表以外的信息，可供探索。

### 特殊面板

在 “<ruby> 视图 <rt>  View </rt></ruby>” 菜单中可以看到，除了文件面板外，还有一些特定的任务面板可以选择显示。这包括：

* “<ruby> 任务管理器 <rt>  Task manager </rt></ruby>”：列出正在进行的文件管理器进程。这不是一个通用的任务管理器，所以要设置 nice 值或检测僵尸 PID，[htop 或 top](https://opensource.com/life/16/2/open-source-tools-system-monitoring) 仍然是你应该选择的工具。
* “<ruby> 书签 <rt>  Bookmarks </rt></ruby>”：常用文件夹的链接，如桌面、文档、下载和任何你想保持方便的位置。
* “<ruby> 设备 <rt>  Devices </rt></ruby>”：USB 驱动器和远程文件系统。
* “<ruby> 文件树 <rt>  File tree </rt></ruby>”：按照目录继承顺序查看文件系统。

这些面板在 SpaceFM 的左侧打开，但它们是堆叠的。你可以同时打开书签、设备、任务和文件树，尽管它会有一个非常高的 SpaceFM 窗口。

### 为 SpaceFM 腾出空间

SpaceFM 是一个可配置的多任务文件管理器。它最大限度地增加了你可以在一个窗口中展示的信息，并让你决定什么是重要的，以及什么时候重要。本文重点介绍了 SpaceFM 的面板，因为至少在我看来，这些是该应用最独特的方面。然而，SpaceFM 还有很多东西，包括插件、首选项、设计模式、键盘快捷键和自定义。这不是一个小型应用，尽管它是轻量级的。花些时间在 SpaceFM 上，因为你永远不知道你会发现什么。

---

via: <https://opensource.com/article/22/12/linux-file-manager-spacefm>

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

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


9 款最佳的去中心化通讯软件 Matrix 的客户端

Summary: Matrix 是一套开放的网络标准，专用于去中心化实时加密通讯。

Thunderbird也支持Matrix协议，包含端到端加密功能。<br />
不过之前试过，bug还不少，所以现在还是用Element.

一堆去皮Telegram，原来国外也喜欢别人一开源自己就自主研发啊

文章都没看就随便发言，你怎么不说telegram是去皮QQ

Telegram 是中心化的，而且群聊没有端到端加密，私聊的端到端加密也是默认关闭的。

竟然没有cinny，以前只有web，后来支持桌面了，用的是tauri不是electron

唉，是说不默认e2ee，后端不开源，原创加密协议，注销账号仍旧能够查询userid，利用用户数据推广的那个telegram吗？

来自江苏南京的 Chrome Mobile 114.0|Android 10 用户

Matrix 是一套开放的网络标准，专用于去中心化实时加密通讯。

# 9 款最佳的去中心化通讯软件 Matrix 的客户端

Matrix 是一套开放的网络标准，专用于去中心化实时加密通讯。

这套标准由 [Matrix.org](http://Matrix.org) 基金会发布和维护。[Matrix.org](http://Matrix.org) 基金会是一个非营利性组织，致力于创建一个开放、独立且不断演进的通讯平台。

如果一款应用支持 Matrix 协议，那就可以视它为 Matrix 客户端。

### 为何要选用 Matrix 客户端？

[Matrix](https://matrix.org/) 客户端致力于安全性和隐私性，并且提供了一个去中心化的网络，令许多特性得以实现。

自 2019 年（正式版本发布）以来，部分组织以及政府机构便开始逐渐采用 Matrix 协议，从而搭建安全、隐私、可靠的通讯平台。

就实际而言，去中心化的协议实现了不同组织间的相互通讯，同时也使得这个通讯协议得以抵抗审查。

如果你想要逃脱科技巨头的魔爪，那 Matrix 就是正确的选择。

不仅如此，你还可以运行自己的服务器，并加入 Matrix 网络。换言之，通讯的基础设施是去中心化的，但你仍然能够根据需要，对其进行部署和配置。

如果你好奇的话，Matrix 协议具备了你需要的所有基本功能：

* 去中心化交流
* 端到端加密
* WebRTC 语音通话 / 视频通话
* 实时同步
* 消息已读用户显示
* “正在输入中” 提示
* 群组聊天

而且，我还要再强调一次：这个项目是**开源**的！

所以，Matrix 客户端已经是不二之选了。对那些注重隐私和安全的用户来说，则更是如此。

>
> LCTT 译注：实际上，Matrix 只是在隐私和便利之间达成了一种相对的平衡。它是将类似 Mastodon 的 <ruby> 联邦 <rt>  federated </rt></ruby> 网络结构用在了聊天中，也就是说，虽然整个网络去中心化成了许多节点，但节点服务器的运营者仍然能对其用户进行少量掌控。但总的来说，相对那些中心化的聊天应用而言，Matrix 是个值得考虑的替代品。
>
>
>

### 9 款最佳的开源 Matrix 客户端

本文中，我将介绍一些最好用的 Matrix 客户端，其中主要是桌面客户端（Linux、Windows、macOS），同时也推荐一些移动客户端和终端客户端。

#### 1、Element

[Element](https://itsfoss.com/element/) 是最佳的 Slack 开源替代品之一。它可以用于个人通讯，也能用于群组聊天。

你可以免费使用，不过你也可以选择自己搭建服务器，或者付费使用托管的家庭服务器。Element 提供了许多有用的功能，让你能够高效协作，并与你的团队或好友加密通讯。

>
> LCTT 译注：如同 Mastodon 一样，自费搭建服务器或者付费使用服务器，对大部分用户而言都是不必要的。初学者建议前往 <https://joinmatrix.org/servers/>，并选择一个现有的服务器进行注册，其中许多服务器都是免费开放注册，并且国内可以连接的。下述的订阅功能也并不是必要的。
>
>
>

如果你选择付费订阅，你还能将 Signal、WhatsApp 和 Telegram 聊天并入其中。

它支持 Linux、Windows 和 macOS，同时还提供 Android 和 iOS 的手机客户端。并且，你还能在网页浏览器中使用它。因此，这是个方便的选择。

>
> LCTT 译注：国内用户可能会在桌面客户端遇到错误，导致无法使用 Element。这是因为它在首次启动会连接 [matrix.org](http://matrix.org)，但是国内用户无法访问这个地址。要解决此问题，须手动修改配置文件（篇幅有限，详见相关教程）。实在无法解决，可使用基于 Element 的 [SchildiChat](https://schildi.chat/)，或下文列出的其他客户端。
>
>
>

>
> **[Element](https://element.io/)**
>
>
>

#### 2、Rocket.Chat

[Rocket.Chat](https://itsfoss.com/rocket-chat/) 是另一个 Slack 替代品，我们更喜欢把它当成团队内部的通讯工具。

你可以在 Linux、Windows 和 macOS 上使用它，也可以获取 Android 和 iOS 的手机应用。

尽管你可以选择自建服务器或付费订阅，但它也宣布正在添加 [Matrix 协议的支持](https://news.itsfoss.com/rocket-chat-matrix/)。

本文创作之时，已经可以在 alpha 版中使用 Matrix 网络。不过，稳定版应该很快就会发布了。所以，如果你已经在使用 Rocket.Chat，或者想把它当作 Matrix 客户端来使用，那么敬请关注后续版本的发布。

>
> **[Rocket.Chat](https://rocket.chat/)**
>
>
>

#### 3、NeoChat

NeoChat 是一个简单的 Matrix 客户端，目前在 KDE 社区的管理下积极开发。

与 Element 不同，它只支持 Linux 和 Windows，特别是为 KDE Plasma 量身定做。你也可以在其他桌面环境使用它。

你可以在 KDE 的 “<ruby> 发现 <rt>  Discover </rt></ruby>” 软件中心、Flathub 以及 Snap 商店安装它。它不支持手机平台。所以，如果有桌面用户想要一个简单的 Matrix 客户端，那 NeoChat 也是一个不错的选择。

>
> LCTT 译注：纠正一下，NeoChat 也支持安卓，可直接下载二进制，也可在 F-Droid 中添加 KDE 仓库后下载。除此之外，它还支持 macOS。详见其源代码仓库。
>
>
>

了解更多，可以查看它的 [源代码](https://invent.kde.org/network/neochat)。

>
> **[NeoChat](https://apps.kde.org/neochat/)**
>
>
>

#### 4、FluffyChat

FluffyChat 在用户体验方面，是一个美观（可爱）的 Matrix 客户端。

如果你想要一个简单又直观的 Matrix 客户端，并且支持桌面和手机（安卓和 iOS），那么 FluffyChat 是一个不错的选择。

Linux 用户可以从 Snap 商店或 Flathub 安装它。它并不提供 Windows 和 macOS 的原生应用支持，但你可以在网页浏览器中使用它。

如果你好奇的话，可以从它的 [GitLab 页面](https://gitlab.com/famedly/fluffychat) 了解更多。

>
> **[FluffyChat](https://fluffychat.im/)**
>
>
>

#### 5、Fractal

Fractal 是一款用于 GNOME 桌面的 Matrix 聊天客户端，使用 Rust 编写。正如其描述所说，它的界面经过优化，适合大型团队的协作。

由于它以 Flatpak 的形式发布，你可以在任何 Linux 发行版上安装它，无论桌面环境如何。

如果你喜欢能够在系统上快速运行的应用，那 Fractal 可能是不错的选择。可以前往它的 [GitLab 页面](https://gitlab.gnome.org/GNOME/fractal) 了解更多。

>
> **[Fractal](https://wiki.gnome.org/Apps/Fractal)**
>
>
>

#### 6、Hydrogen Web（实验性）

在找其它的精简的（专注性能）Matrix 客户端吗？

Hydrogen 聊天客户端提供轻量级体验、离线功能，并有着广泛的浏览器支持。

虽然仍未完工，但 Element 背后的同一支团队正在开发着它。所以，如果你期待看到一个轻量的 Matrix 客户端替代品，你可以在它的 [GitHub 页面](https://github.com/vector-im/hydrogen-web/) 跟进该项目。

>
> **[Hydrogen](https://github.com/vector-im/hydrogen-web/)**
>
>
>

#### 7、Matrix Commander（基于命令行）

如果你想要用终端在 Matrix 网络上来收发文字消息，这个命令行工具就十分不错。

当然，并非一切都能在终端完成。所以，最好创建 cron 任务来实现消息提醒、机器人等用例。

你可以在 [PyPi](https://pypi.org/project/matrix-commander/) 或者 Docker Hub 上找到它。

>
> **[Matrix Commander](https://github.com/8go/matrix-commander)**
>
>
>

#### 8、Gomuks（基于命令行）

想试试用 Go 写的终端 Matrix 客户端？

并非每个人都可以尝试。不过，如果你喜欢用 Go 写的命令行工具，可以用 Gomuks 这个简单的 Matrix 客户端来进行基本聊天。

你可以在它的 [GitHub Releases 部分](https://github.com/tulir/gomuks/releases) 找到其 Linux、Windows 和 macOS 的二进制文件。

>
> **[Gomuks](https://maunium.net/go/gomuks/)**
>
>
>

#### 9、Syphon（Alpha 版）

我们通常会避免列出仍处于早期开发的程序。但是，Syphon 作为一个手机专用的 Matrix 客户端，是一个有趣的选择。

如果你想要为你的安卓 / iOS 设备安装一个类似 Signal 的开源 Matrix 客户端，那选择 Syphon 也不错。用户界面看起来很熟悉（但并不是完全照抄的）。如果你想实验一下，那可以试试。

>
> **[Syphon](https://syphon.org/)**
>
>
>

### 总结

Matrix 协议也许没能流行于所有组织和人群之中。但是，可以证明的是，作为一个开源项目，它能称得上是一个隐私可靠的去中心化网络。

最好的一点在于，你可以选择你想要的客户端，而不必被迫使用特定的应用才能在多个设备之间进行通信。

所以，你会选择什么作为你最喜欢的 Matrix客户端？

---

via: <https://itsfoss.com/best-matrix-clients/>

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

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


硬核观察 #904 16 年的免费软件《矮人要塞》获得了 700 万美元报酬

Summary:
? 16 年的免费软件《矮人要塞》获得了 700 万美元报酬
? ChatGPT 成功 “应聘” 了谷歌编程工程师
? 因订阅服务欠费，用户打印机被惠普远程禁用
»
»

一半的税款……

某地增值税13%，个人所得税全部算当期45%。

（1-0.13）×（1-0.45）= 47%

# 硬核观察 #904 16 年的免费软件《矮人要塞》获得了 700 万美元报酬

### 16 年的免费软件《矮人要塞》获得了 700 万美元报酬

在《矮人要塞》发布到 Steam 前，在 16 年里 Adams 兄弟二人大约总共获得了 1.5 万美元的捐赠。而在该游戏增加了新的内容，商业化发布后的一个月，他们赚到了 723 万美元。除了要交将近一半的税款外，两位创造者为其 16 年的免费游戏获得了足够多的回报，并且还有余力雇佣更多人来帮助他们。《矮人堡垒》在其 Steam 页面上获得了 17000 多条 “压倒性的积极评价”。而同时，该游戏的免费版本仍然可以下载。

>
> **[消息来源：Ars Technica](https://arstechnica.com/gaming/2023/02/after-16-years-of-freeware-dwarf-fortress-creators-get-their-7m-payday/)**
>
>
>

>
> 老王点评：给我的最大感触就是，当你默默付出多年后，屡屡坚持不住的时候，或许恰如其分的回报就在不远处。
>
>
>

### ChatGPT 成功 “应聘” 了谷歌编程工程师

在询问 ChatGPT 是否会取代软件工程师时，ChatGPT 称“不会”，说自己是“一个可以协助完成某些任务的工具，但它不能完全取代人类软件工程师的创造力、解决问题的能力和批判性思维能力。此外，ChatGPT 需要人类的监督和指导才能有效运作”。谷歌的 LaMDA 对此问题的回答也类似。但在谷歌对 ChatGPT 进行编程面试时，其通过了谷歌的三级工程师面试。尽管该职位是谷歌工程团队的入门级职位，年薪也平均高达 18.3 万美元。

>
> **[消息来源：《PC 杂志》](https://www.pcmag.com/news/chatgpt-passes-google-coding-interview-for-level-3-engineer-with-183k-salary)**
>
>
>

>
> 老王点评：或者 ChatGPT 的回答是基于自保的理由？?
>
>
>

### 因订阅服务欠费，用户打印机被惠普远程禁用

据报道，一位用户反映，由于他用来注册惠普 “即时墨水” 墨盒补充计划的信用卡已经过期，该公司远程禁用了他的打印机。“即时墨水” 是一个按月订阅的项目，会在墨水不足时自动寄送新墨盒。其推荐的家庭计划是每月 5.99 美元，可打印 100 页。但无论你是否使用打印，都需要支付月费。用户也不允许使用在订阅服务之外购买的墨盒，除非退出该计划。

>
> **[消息来源：The Atlantic](https://www.theatlantic.com/technology/archive/2023/02/home-printer-digital-rights-management-hp-instant-ink-subscription/672913/)**
>
>
>

>
> 老王点评：明明只是购买了墨盒服务，但看起来却成了 “租赁” 打印机。被网络和订阅服务绑架的未来！
>
>
>

### 回音

* 在 Twitter 宣布将于 2 月 9 日 [停止](/article-15503-1.html) 免费 API 的使用后，马斯克表示将允许“好内容”的机器人 [免费使用](https://www.theverge.com/2023/2/5/23586577/elon-musk-bots-good-content-twitters-api-free) “轻量级、只写”的 API。


在 GNOME Boxes 里的客体机和宿主机之间共享文件夹

# 在 GNOME Boxes 里的客体机和宿主机之间共享文件夹

>
> 使用下面的步骤在 GNOME Boxes 应用中的宿主机和客体机之间共享一个文件夹。
>
>
>

GNOME Boxes 是一个创建和管理虚拟机的前端应用。它主要是为 GNOME 桌面开发的。然而，你可以在其他桌面环境中使用它，如 KDE Plasma 和其他环境。

在后端，它使用 QEMU、KVM 和 libvirt 技术，并提供一个易于使用的用户界面来管理多个虚拟机。

如果你想了解更多，你也可以参考关于 GNOME Boxes 创建虚拟机的 [这些指南](https://www.debugpoint.com/tag/boxes)。

在之前的文章中，我们已经解释了如何在 [virt-manager](https://www.debugpoint.com/share-folder-virt-manager/) 和 [VirtualBox](https://www.debugpoint.com/share-folder-between-host-guest-virtualbox/) 中共享文件夹。而下面的步骤也解释了 GNOME Boxes 的情况。

### 如何在 GNOME Boxes 中共享文件夹和文件

GNOME Boxes 主要支持 [SPICE 协议](https://www.spice-space.org/index.html) 来实现远程访问、共享和许多虚拟化功能。SPICE 是虚拟化领域中最古老的开源包之一。

#### 1、初始设置

首先，确保在**客体机系统中安装以下 spice 软件包**。

```
sudo apt install spice-vdagent spice-webdavd   # for Ubuntu-based distros
sudo dnf install spice-vdagent spice-webdavd   # Fedora, RHEL, etc
pacman -S --needed spice spice-gtk spice-protocol spice-vdagent # Arch Linux (optional)

```

在你安装完上述内容后，**重启**宿主机和客体机系统。

在宿主机系统中（对于 GNOME 桌面），打开 “<ruby> 设置 <rt>  Settings </rt></ruby>”，进入 “<ruby> 共享 <rt>  Sharing </rt></ruby>” 面板。

使用顶部的切换按钮**启用共享**。

然后，点击 “<ruby> 文件共享 <rt>  File Sharing </rt></ruby>” **启用文件共享**。请确保启用网络。密码是可选的。如果你想为你的共享文件夹启用基于密码的认证，请启用它。

关闭设置窗口。

打开 GNOME Boxes。右键单击虚拟机并选择 “<ruby> 偏好 <rt>  Preferences </rt></ruby>”。

在偏好设置窗口中点击 “<ruby> 设备和共享 <rt>  Devices and Shares </rt></ruby>”，并点击共享文件夹下的 “[+]” 按钮。

在 “<ruby> 本地文件夹 <rt>  Local Folder </rt></ruby>” 下：从你的宿主机中选择你想在客体机中访问的文件夹。

在 “<ruby> 名称 <rt>  Name </rt></ruby>” 中，给予你想要的任何名称。这个名称将在客人的文件管理器中可见。

点击 “<ruby> 保存 <rt>  Save </rt></ruby>”。

#### 2、为客体机设置

启动你的客体机虚拟机。

在客体机虚拟机内，打开文件管理器。如果你使用的是 GNOME 桌面，打开 Nautilus（即 “<ruby> 文件 <rt>  Files </rt></ruby>” 应用）。

点击 “<ruby> 其他位置 <rt>  Other Locations </rt></ruby>”。你应该在 “<ruby> 网络 <rt>  Networks </rt></ruby>” 下看到 “<ruby> Spice 客户端文件夹 <rt>  Spice client folder </rt></ruby>”。

双击它，你应该看到你的宿主机系统的文件夹内容。

有时，上述文件夹需要一些时间才能出现。如果它不可见，请等待 1 或 2 分钟。通过 `F5` 刷新文件管理器窗口。

#### 3、一些故障排除

此外，如果你看到以下错误，那么你需要手动访问该路径。

```
Unable to access location - HTTP Error: Could not connect: Connection refused

```

在文件管理器中按下 `CTRL+L`，调出地址栏。在地址栏中，输入以下内容：

```
dav://localhost:9843

```

然后点击回车。然后你应该看到文件夹的内容。SPICE 服务器使用 `dav` 协议，它在 9843 端口连接客体机和宿主机。

就这样了。现在你可以在 GNOME Boxes 中使用客体机和宿主机之间的文件共享。

下面是一个客体机和宿主机访问同一个文件夹的截图。

如果你遇到任何错误，请在下方发表评论。

[这篇文章中使用了一些来自 GitLab 的参考资料。](https://gitlab.gnome.org/GNOME/gnome-boxes/-/issues/430)

---

via: <https://www.debugpoint.com/share-folder-gnome-boxes/>

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

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


Mozilla 放弃的 Servo 浏览器引擎将在 2023 年重新回归

请科学上网：－））

加油锕 Servo！先把 Gecko 换下来，然后再打 Chromium。

这是算从mozilla剥离了吗？

早剥离了

# Mozilla 放弃的 Servo 浏览器引擎将在 2023 年重新回归

>
> 根据其开发规划，开源的 Rust 驱动的 Servo 浏览器引擎计划返回该领域。
>
>
>

>
> 编辑按：此文的翻译是一次 AI 实验。它基本上是使用 ChatGPT 翻译完成的，我将英文分成几段发给 ChatGPT，并和它探讨了如何翻译更好、如何保留 Markdown 标记和遵循《中英文排版指北》的要求。在往复了几次之后，ChatGPT 基本上可以给出还算满意的答复，有些地方超乎我的预期，有些地方则不如我用来对照的 DeepL。在最终发表前，我还稍做了润色。
>
>
> 另外，由于在一个小时内提交了太多的请求而被限流，所以还等待了一段时间。
>
>
> 最后，我请 ChatGPT 给这次实验和阅读这篇文章的读者说几句。
>
>
>
> >
> > **编辑**：好了，翻译完了，感谢您的工作。这次翻译是一次实验，用来看看像你这样的 AI 可以在翻译方面做到什么程度。最后，我想请你给看到这篇译文的读者说几句。
> >
> >
> > **ChatGPT**：感谢您对我们进行翻译能力的评估。作为 OpenAI 训练的大型语言模型，我们致力于提供高质量的翻译服务。我们希望未来能够继续为您的语言需求提供支持，让沟通变得更加容易。
> >
> >
> >
>
>
>

Servo 是一个基于 Rust 的实验性浏览器引擎，最初由 Mozilla 的研究部门开发，但后来 [转移](https://servo.org/blog/2020/11/17/servo-home/) 到 [Linux 基金会](https://www.linuxfoundation.org) 作为一个社区维护的项目。

从那时起，尽管参与的成员一直在努力，但没有重大的发展。

直到现在。

随着团队发布了一份充满希望的规划，2023 年 Servo 的前景正在改善。

让我带你了解一下。

### ? 2023 年路线图：概览

由于在 1 月份获得了 [新的资金](https://servo.org/blog/2023/01/16/servo-2023/)，Servo 项目 **复活** 了。

为了确保目标的明确，开发团队发布了今年的路线图，以展示其计划的良好前景。

关于这一点，他们还补充说：

>
> 我们正在重启所有通常的活动，包括 PR 整理和审查、项目的公共沟通、安排 [TSC](https://servo.org/governance/tsc/) 会议。我们还将进行一些外部宣传，以吸引更多的协作者、合作伙伴，和有兴趣合作、参与与资助项目的潜在赞助商。
>
>
>

他们还共享了 7 个他们想要在 2023 年实现的目标：

**重新激活项目**：这是第一阶段，将持续到 2023 年底，涉及重新激活整个 Servo 项目。

**项目推广**：在项目重新活跃起来的 [GitHub](https://github.com/servo) 页面的推动下，他们计划宣传该项目，进行一些推广努力。这将吸引更多的协作者、公司和伙伴，他们可能对贡献或资助项目感兴趣。

**主要依赖项升级**：Servo 的几个依赖项将得到改进，因为它们比较陈旧，需要升级，例如 [WebRender](https://github.com/servo/webrender) 和 [Stylo](https://wiki.mozilla.org/Quantum/Stylo)。

**布局引擎选择**：Servo 目前有两个布局引擎：2013（原引擎）和2020（新引擎）。他们将与贡献者和社区一起决定选择哪个作为长期发展的引擎。

**对基本 CSS2 支持的进展**：在完成上述两件事后，他们计划朝着基本的 [CSS2 符合性](https://www.w3.org/TR/1998/REC-CSS2-19980512/conform.html) 努力。

**探索安卓支持**：他们希望探索支持安卓平台以及其他平台的可能性，因为他们已经在过去对该平台进行了试验。

**可嵌入的浏览器引擎实验**：对于路线图的最后阶段，他们的目标是将 Servo 变成一个“可嵌入的浏览器渲染引擎”。团队也在探索这方面的可能性，让某种 Servo 演示在嵌入式设备上运行，或者研究现有的项目，如 [Tauri](https://tauri.app)。

你可以通过 [官方公告](https://servo.org/blog/2023/02/03/servo-2023-roadmap/) 了解更多关于该路线图的信息。

### 总结

一个用 Rust 开发的网页引擎可以产生奇迹，比基于 [Blink](https://www.chromium.org/blink/) 或 [Gecko](https://developer.mozilla.org/en-US/docs/Glossary/Gecko) 的替代品更优秀。

此外，我们几乎每天使用的浏览器再多一个开源替代品不应该是一件坏事，它将让我们有更多选择。

? 你对 Servo 计划重新开始，并专注于回到最初设计的轨道上有什么看法？

---

via: <https://news.itsfoss.com/mozilla-servo-web-engine/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed) 译者：[ChatGPT](https://chat.openai.com/) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #905 谷歌宣布了挑战 ChatGPT 的 AI 服务 Bard

Summary:
? 谷歌宣布了挑战 ChatGPT 的 AI 服务 Bard
? Mozilla 恢复开发 iOS 上基于自己的引擎的 Firefox
? 亚马逊计划使用燃料电池运行数据中心
»
»

# 硬核观察 #905 谷歌宣布了挑战 ChatGPT 的 AI 服务 Bard

### 谷歌宣布了挑战 ChatGPT 的 AI 服务 Bard

ChatGPT 能以对话的方式回答用户输入的各种问题，它引入了信息检索的新模式，向谷歌统治多年的搜索引擎市场发起了挑战。Bard 基于谷歌的 LaMDA 语言模型开发，目前先向挑选的部分人员提供了测试。Bard 相对于 ChatGPT 的一个优势是，它能利用最新的数据，而 ChatGPT 的数据截止于 2021 年。

另外，百度也 [宣布](https://edition.cnn.com/2023/02/06/tech/china-baidu-ai-bot-chatgpt-rival-intl-hnk/index.html) 将于下个月推出自己的 AI 聊天机器人“文心一言”（ERNIE），它基于百度从 2019 年起开始开发的语言模型，目前已是它的第三版迭代，ERNIE 可以写诗和文章，或使用文本提示自动生成图像。

>
> **[消息来源：CNN](https://edition.cnn.com/2023/02/06/tech/google-bard-chatgpt-rival/index.html)**
>
>
>

>
> 老王点评：AI 大战已经开打了，只是不知道最后哪些公司会折戟沉沙。顺便说一句，我今天用 ChatGPT 翻译了一篇文章，并 [发布](/article-15518-1.html) 在 Linux 中国的官网和公众号上，感觉 ChatGPT 的部分表现超乎预料。
>
>
>

### Mozilla 恢复开发 iOS 上基于自己的引擎的 Firefox

前几天，我们报道过谷歌开始“实验”基于自己的 Blink 引擎的 Chromium 浏览器。基于对欧盟新政策的相同预期，Mozilla 也开始恢复 iOS 上使用 Gecko 引擎的 Firfox 浏览器的开发。几年前，Mozilla 就进行了类似的实验，但是根据当前的苹果应用商店要求，不使用 WebKit 的 Firefox 浏览器不能通过 iOS 应用商店发布。

>
> **[消息来源：The Register](https://www.theregister.com/2023/02/07/mozilla_google_apple_webkit/)**
>
>
>

>
> 老王点评：看来苹果的浏览器引擎垄断被打破的可能很高。
>
>
>

### 亚马逊计划使用燃料电池运行数据中心

由于无法获得满足其不断增长的数据中心所需的电力，亚马逊初步计划将在三个数据中心安装近 75 兆瓦的燃料电池容量，未来将会扩大到另外四个地点。燃料电池从天然气或氢气等燃料中提取电能，不需要燃烧，但对于天然气，仍然会产生二氧化碳温室气体。此举措的部分原因是该地区的电力传输基础设施存在挑战，一些人反对高压输电线路穿过他们的土地。但这一决定实际上会增加亚马逊在该地区的碳足迹。

>
> **[消息来源：The Register](https://www.theregister.com/2023/02/06/amazon_datacenter_hydrogen_fuel/)**
>
>
>

>
> 老王点评：这不是和碳排放本末倒置了吗？
>
>
>


如何从 Debian 稳定版切换到测试版

# 如何从 Debian 稳定版切换到测试版

如果你正在寻找最稳定的 Linux 发行版，当然，Debian 是正确的选择。

特别是如果你打算在服务器上使用它。

但是，在桌面方面，情况就有点不同了。我的意思是，你得到的软件包至少是一年前的，对新时代硬件的支持甚至更糟。

那么，在这种情况下，你会怎么做呢？好吧，你可以使用 Debian <ruby> 测试版 <rt>  Testing </rt></ruby>。

但在跳到解释部分之前，让我们简单了解一下 Debian 测试版。

### 什么是 Debian 测试版？

Debian 社区为你提供 3 种不同的 Debian：

* Debian <ruby> 稳定版 <rt>  Stable </rt></ruby>（你从他们的主页上默认得到的东西）。
* Debian <ruby> 测试版 <rt>  Testing </rt></ruby>（有**新的软件包**，比 Debian 不稳定版更少出现故障）。
* Debian <ruby> 不稳定版 <rt>  Unstable </rt></ruby>（拥有最新的软件包，是**所有版本中最脆弱的**）。

因此，Debian 测试版可以被认为是稳定性和新软件包之间的一个折中点。

我已经玩了一段时间的 Debian 测试版，没有遇到任何问题。

事实上，许多 Debian 用户喜欢测试版而不是稳定版。尽管名字叫“测试”，但它是相当可用的。

但是，**我还是建议你在虚拟机上进行实验**，尝试用你的主要工具来使用它，如果事情进展顺利，你可以在主系统中应用这些变化。

### 从 Debian 稳定版切换到 Debian 测试版

**警告：你不能从 Debian 测试版降级到 Debian 稳定版，因为安装脚本和安装工具只是为了用新版本替换旧版本而设计的。**

另外，我建议在你的主机上应用上述步骤之前，[使用 timeshift 创建一个备份](https://itsfoss.com/backup-restore-linux-timeshift/) 。

首先，使用给定的命令更新现有的软件包：

```
sudo apt update && sudo apt upgrade -y

```

接下来，复制原始的 `sources.list` 文件：

```
sudo cp /etc/apt/sources.list sources.list.backup

```

现在，让我们开始第一步的工作。

#### 步骤 1：编辑 sources.list 文件

有两种方法可以编辑 `sources.list` 文件。要么你可以用 `testing` 手动改变当前版本的名称，要么你可以 [使用 sed 命令](https://linuxhandbook.com/sed-command-basics/) 来完成。

而我要用第二种方法来使整个过程更简单。你只需要使用给定的命令，它就会为你把 `bullseye` 替换成 `testing`：

```
sudo sed -i 's/bullseye/testing/g' /etc/apt/sources.list

```

现在，打开你的终端，使用给定的命令来打开 `sources.list` 文件：

```
sudo nano /etc/apt/sources.list

```

并注释掉有 `security.debian.org` 和任何以 `updates` 结尾的行，如下所示：

如果你像我一样使用 `nano`，你可以按 `Alt + /` 跳到该行的最后。然后你要添加以下一行：

```
deb http://security.debian.org testing-security main

```

然后 [保存修改并退出 nano](https://linuxhandbook.com/nano-save-exit/) 文本编辑器。

#### 步骤 2：更新仓库并安装新的软件包

现在，更新仓库索引，它会显示大量的更新等待：

```
sudo apt update

```

现在，你可以使用给定的命令，它将为你提供最新的软件包：

```
sudo apt upgrade

```

坐下来，放松一下，因为这将需要一些时间。

完成后，它将向你展示从 Debian 稳定版切换到测试版时的变化列表：

如果你愿意，你可以阅读，或者你可以**直接按** `q` 继续。

现在，它会告诉你，你系统上安装的一些库需要重新启动。按 `TAB` 键，它将选择 “OK”，然后按**回车**：。

接下来，它会问你是否要在软件包升级期间重启服务。这里你有一个选择。由于我只做桌面使用，我将选择 “YES”。

完成后，你可以重启你的系统，然后使用下面的命令，让你刚才的改变完全生效：

```
sudo apt full-upgrade

```

现在，重启你的系统，你就会拥有最新的软件包。比如**我进入系统时我在运行 GNOME 43**：

### 总结

在本教程中，我解释了如何从 Debian 稳定版切换到 Debian 测试版。我希望这对你会有帮助。

如果你遇到任何问题或有任何疑问，请在评论中告诉我。

---

via: <https://itsfoss.com/switch-debian-stable-testing/>

作者：[Sagar Sharma](https://itsfoss.com/author/sagar/) 选题：[lkxed](https://github.com/lkxed) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


7 个最佳的基于 Gentoo Linux 的发行版

Summary: Gentoo Linux 是 适合高级用户的最佳 Linux 发行版 之一。如果你想要类似的东西，但又想轻松些，那么基于 Gentoo 的发行版是你的解决方案。

gentoo 如果长时间没更新,突然更新,很容易升挂了,或者不是很容易升级,相互依赖这块很麻烦.如果想深度学习构建系统,gentoo 还是有必要学一下,很有帮助

因为一些包的构建必须依赖某个包的特定版本，而这个特定版本的这个包已经不在portage里了，或者这个包还有其他复杂的依赖跟某些系统上正在使用的包有冲突，大部分情况是编译时或者emerge -uDN --with-bdeps=y world的依赖检查阶段就报错了，还没安装到系统上。

如果想要更新顺畅一般得先把桌面环境相关的包全部卸掉再emerge -uDN --with-bdeps=y world, 成功后再把桌面重新安装上去，整个过程非常费时。

题外话：这么多年终于在这里看到Gentoo相关的文章了，不容易

用过sabayon，也装过原版gentoo，可惜sabayon不维护了

# 7 个最佳的基于 Gentoo Linux 的发行版

>
> Gentoo Linux 是 [适合高级用户的最佳 Linux 发行版](https://itsfoss.com/advanced-linux-distros/) 之一。如果你想要类似的东西，但又想轻松些，那么基于 Gentoo 的发行版是你的解决方案。
>
>
>

Gentoo Linux 以其软件包管理器 [Portage](https://wiki.gentoo.org/wiki/Portage) 而闻名，它允许你根据你的要求定制每个软件包，并从头开始构建/配置。这样，你就能以最好的方式来优化你的系统体验。

然而，可以理解的是，由于它的学习曲线或设置它所需付出的努力，不是每个人都喜欢使用 Gentoo Linux ?。

所以，在这种情况下，你可以尝试基于 Gentoo Linux 的发行版，可更简单轻松些。

让我重点介绍其中一些，它们比裸机版的 Gentoo Linux 要好一些。

>
> ? 该列表没有特定的排名顺序。
>
>
> **另外**，像 Gentoo Linux 一样，基于它的发行版并不是为新用户定制的。所以，你可能应该在尝试它们之前仔细阅读每个项目的文档。
>
>
>

### 1、Calculate Linux

[Calculate Linux](https://www.calculate-linux.org) 专注于提供**即开即用、用户友好的体验**。

它是基于 Gentoo 的，并且仍然向后兼容它。你可以通过 Calculate Linux 得到一个滚动发布的版本，但你也可以根据你的要求选择测试版或稳定版的更新版本。

它有桌面、服务器、云和测试等不同版本。选择你需要的那个。

### 2、CLIP OS

[CLIP OS](https://clip-os.org/en/) 是一个值得关注的基于 Gentoo 的发行版，旨在提供由法国国家网络安全局（ANSSI）建立的安全体验。

该项目有两个版本，其中 v4.0 是一个不再开发的参考版本，你可以研究其源代码，并以你喜欢的方式使用它来构建你的 Gentoo 特有体验。

而 v5.0 是一个积极开发的项目，在写这篇文章时正处于测试阶段。它听起来可能与 Qubes OS 相似，但它在各方面都有不同。

在你想尝试它之前，你得构建一个 CLIP OS 镜像。

### 3、Funtoo

[Funtoo](https://www.funtoo.org/) 是一个基于 Gentoo 的发行版，由 Gentoo Linux 的创造者（前负责人）开发。

支撑 Funtoo 的哲学与 Gentoo 有点不同。因此，社区的方法也不同。

你可以下载它的 “next” 版本以获得最新的体验，或者选择它的 1.4 版本以获得长期的稳定性。

这两个版本都是滚动发布的发行版，只是一个提供较新的软件包。

### 4、LiGurOS

[LiGurOS](https://liguros.gitlab.io) 是 Gentoo 系列操作系统中的又一个选择。它的目的是提供一个**快速而安全的体验**，同时确保 AMD 和英特尔处理器的最新功能能够很好地工作。

你会发现两个不同的版本，一个是稳定版，一个是滚动版。它还可以让你选择你喜欢的服务管理器，其中包括对 openRC 的支持。然而，你得构建安装镜像来使用它。

在它的 [GitLab 页面](https://gitlab.com/liguros) 上了解更多关于这个项目的信息。

### 5、Pentoo

[Pentoo Linux](https://www.pentoo.ch) 是 [用于渗透测试的最佳 Linux 发行版](https://itsfoss.com/linux-hacking-penetration-testing/) 之一。

你可以找到 32 位和 64 位系统的可安装镜像。开箱即用，你可以得到定制的工具、定制的内核、XFCE 4 窗口管理器，以及更多。

### 6、Redcore Linux

[Redcore Linux](https://redcorelinux.org/#hero) 是一个**基于 Gentoo Linux 测试分支**的发行版，有一个加固后的配置文件以获得更好的安全性。

它是 Kogaion Linux（最初是基于 Sabayon Linux）的继承者，而这两个发行版都不再维护。负责它的原始开发小组的成员之一决定用 Redcore 延续其思想。

这个发行版的目的是使 Gentoo Linux 能够很容易地安装在兼容的系统上。

### 7、Gentoo Studio

[Gentoo Studio](https://gentoostudio.org) 是一个为**实时 Linux 音频制作系统**量身定做的基于 Gentoo Linux 的产品。

它打包了各种音频应用程序，并默认允许你有不同的自定义选项。

与一些专注于工作室的发行版不同，你也许需要检查它所支持的软件包/实用程序是否符合你的制作要求。

? 名单上你最喜欢的是什么？我们是否错过了你的最爱？请在下面的评论区告诉我们。

---

via: <https://itsfoss.com/gentoo-based-distros/>

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

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


硬核观察 #906 如果不付费，微软将清除 Teams 免费用户的数据

Summary:
? 如果不付费，微软将清除 Teams 免费用户的数据
? 中国将停止对固定电话、寻呼机、传真机等的入网认证
? 很少有人了解在线追踪的运作方式
»
»

# 硬核观察 #906 如果不付费，微软将清除 Teams 免费用户的数据

### 如果不付费，微软将清除 Teams 免费用户的数据

微软宣布将于 4 月 12 日淘汰现有的 Teams 小型企业免费版，转而提供类似的免费版 Teams，但遗留数据不会保留。如果想保留聊天记录、会议、频道和其他关键信息，至少每用户每月得支付 4 美元，升级为 Teams 基本版才行。

>
> **[消息来源：Engadget](https://www.engadget.com/microsoft-teams-free-classic-retirement-no-data-180521994.html)**
>
>
>

>
> 老王点评：这是典型的养肥了就杀啊。
>
>
>

### 中国将停止对固定电话、寻呼机、传真机等的入网认证

据报道，工信部周一发布公告，将停止发放有线和无线固定电话、传真机、调制解调器和无线寻呼机的入网许可证的消息。任何采用 ISDN 设备、帧中继或异步传输模式交换机的电信产品也将不被授予许可证。这一政策变化似乎并不意味着现有的设备不能连接到中国的网络，只是该部对采用传统通信技术的新产品不感兴趣。

>
> **[消息来源：The Register](https://www.theregister.com/2023/02/08/china_network_acess_certification_changes/)**
>
>
>

>
> 老王点评：不知不觉中，这些电信设备已经逐渐在我们的生活中减少或消失。
>
>
>

### 很少有人了解在线追踪的运作方式

根据对 2000 多名美国成年人的数据隐私调查，被问及一系列关于数字设备和服务如何跟踪用户的真假问题时，大多数美国人都很难回答正确。报告说，77% 的参与者在 17 个真假问题中答对 9 个或更少。调查结果也对数据换服务的论点提出了挑战，科技行业长期以来一直用这种论点来证明消费者跟踪的合理性。但新报告表明，许多美国人并不买账。68% 的受访者认为，如果他们登录零售商的 Wi-Fi，商店可以监控他们的在线活动，这是不公平的。61% 的受访者认为商店使用他们的个人信息来改善他们从商店得到的服务是不可接受的。

>
> **[消息来源：Slashdot](https://news.slashdot.org/story/23/02/07/2246251/few-americans-understand-how-online-tracking-works-finds-report)**
>
>
>

>
> 老王点评：我想，不只是美国人，大部分人都不太了解在线跟踪的方式吧。
>
>
>

### 回音

* [一周后（#900）](/article-15503-1.html)，微软 [宣布](https://www.wsj.com/articles/microsoft-adds-chatgpt-ai-technology-to-bing-search-engine-11675793525) 了由升级后的 ChatGPT 支持的新的必应和 Edge 浏览器，并将在未来几周逐步扩大给数百万用户预览。值得注意的是，ChatGPT 的训练数据只涵盖到 2021 年，但必应版本的 ChatGPT 可以处理与更多近期事件有关的查询。
* 在 [宣布（#905）](/article-15519-1.html) Bard 后，谷歌 CEO 要求每位谷歌人给 Bard 喂“狗粮”，来 [测试](https://www.cnbc.com/2023/02/06/google-ceo-tells-employees-it-needs-all-hands-on-deck-to-test-bard.html) 这个与 ChatGPT 对抗的 AI。


5 个适合视力障碍者的 Linux 发行版

Summary: 有哪些最适合视障用户的 Linux 发行版？让我们一起来看看。

我是一个使用Linux的低视力用户，自认为有资格回答这个问题。

为什么很多Linux的图形软件的无障碍做得不好？

Linux的图形软件主要有Qt和GTK两大类，以及调用GTK的wxWidgets，其他的还有SDL等。其中Qt是在各大平台上自绘控件，提供一致的外观。由于这个原因，Qt在各大平台的无障碍默认很烂，除非针对性地做无障碍优化（达到这个要求的软件，我只知道VirtualBox）。而GTK以及使用native GUI的wxWidgets，默认的无障碍就不错，大多数情况不需要特别优化，但是GTK在Windows和macOS的无障碍等于0，还不如Qt。最近几年流行的electron，由于使用W

然而，一个残酷的事实是，要想获得良好的无障碍支持，往往只能选择闭源的商业软件。因为大公司开发的商业软件用户非常多，包括不少视障用户，往往经过了充分的无障碍测试，欧美还有法律要求商业公司的软件产品必须做好无障碍功能。但是对于社区开发的开源软件，由于开发的门槛较高，即使任何人都可以查看并修改源代码，开发者普遍不重视无障碍测试，加上视障用户少，导致社区开发的FOSS软件的无障碍做得不理想，甚至盲人完全无法使用。

还有很重要的一点是，Linux社区忽视了无障碍支持。举个例子，Arch Wiki的accessibility分类里面的页面只字不提screen reader，但是对于盲人来说，没有它就无法使用电脑。实际上自从Sun公司被收购以后，Orca就很少有人注意了，社区活跃度不高，长期以来只有一个人维护，相比其他平台的同类软件可以说已经过时，但是到目前为止还没有别的替代品。<br />
综上，在上述问题解决之前，我主要使用macOS。

我相信你说的问题在不同程度上存在，但是抱怨容易，而着手改进则难。<br />
你也说了 Linux 的视障用户很少，一方面小的用户群，得到的重视不多，另外一方面，缺少受众的测试和参与，也很难做好。所以，也呼吁视障用户们主动参与推动。

有哪些最适合视障用户的 Linux 发行版？让我们一起来看看。

# 5 个适合视力障碍者的 Linux 发行版

>
> 有哪些最适合视障用户的 Linux 发行版？让我们一起来看看。
>
>
>

如果有人视力障碍或失明，他们可能会依赖声音提示或其他交互方式（如盲文）来阅读和交流。

他们怎样才能使用 Linux 发行版？

嗯，一般来说，无障碍软件有助于使之成为可能。

**但是，有哪些 Linux 发行版是注重无障碍性的？哪些是为视障用户量身定做的最佳发行版呢？**

我在这里重点列出一些最好的选择。在此之前，在为视障用户尝试/推荐 Linux 之前，有一些必要的要点需要注意。

### Linux 是视障用户的理想选择吗？

**不幸的是，并不太是**。

与 Windows 和 macOS 相比，Linux 上可用的无障碍软件/选择比较有限。

即使 [红帽公司去年聘请了一位盲人软件工程师](https://news.itsfoss.com/red-hat-accessibility-gnome/) 来帮助改进，但这是一项正在进行的工作，可能体验还不够顺滑。

我看到一个一年前的 [Reddit 讨论](https://www.reddit.com/r/linux/comments/s3vvot/state_of_accessibility_on_linux_perspective_of_a/)，一个盲人用户分享了他在 Linux 上的无障碍状态的体验，听起来可能并不太顺利。

它**仍然是可用的，这取决于你想做什么**和你选择的发行版。

一些值得注意的地方包括：

* 不是每个桌面环境都提供良好的无障碍功能。你可以探索和实验，但 GNOME 和 KDE 是可以接受的选择。
* Linux 发行版中关于无障碍的文档可能并不全面。所以，你可能想在开始之前进行探索和研究。这里有 [GNOME](https://wiki.gnome.org/Accessibility) 和 [KDE](https://community.kde.org/Accessibility) 文档的链接。
* 你可以随时安装 [流行的 Linux 发行版](https://itsfoss.com/best-linux-distributions/)，如 Ubuntu，并通过屏幕阅读器工具进行设置，以开始使用。

然而，有些发行版会给你带来开箱即用的良好体验，可能值得尝试。

下面是你的最佳选择：

>
> ? 该列表没有特定的排名顺序。
>
>
>

### 1、Accessible-Coconut（AC）

[Accessible-Coconut](https://zendalona.com/accessible-coconut/) 是一个基于 Ubuntu MATE 的、由社区开发的 Linux 操作系统。

安装后，你会发现使视力障碍者能够获得 Linux 体验的所有必要的工具或软件。

其中包括一个支持语音合成和盲文的屏幕阅读器、屏幕放大镜、控制台屏幕阅读器、电子书扬声器、一个支持 Daisy 格式的播放器等等。

其内置的软件以更好的无障碍性而闻名。所以，你可能不需要在安装操作系统后寻找替代品。

>
> **[Accessible Coconut](https://zendalona.com/accessible-coconut/)**
>
>
>

### 2、Vojtux

Vojtux 是一个基于 Fedora 的非官方发行版，由一位盲人软件工程师创建。

对于大多数用户来说，这是一个令人兴奋的选择，因为创建者知道视障用户需要什么。默认情况下，你在登录时就开始使用 Orca 屏幕阅读器，并启用 Qt 无障碍功能，这是一个为额外的语音合成和其他软件定制的库。

另外，有趣的是，你会发现一个可以快速打开和关闭显示器的脚本。

然而，你必须在安装前构建 <ruby> 立付 <rt>  Live </rt></ruby> 介质 ISO。因此，如果你没有这方面的技术知识，你可以问问周围的朋友，他们会愿意为你构建它。

你可以在它的 [GitHub 页面](https://github.com/vojtapolasek/vojtux) 或其创造者的 [相关博文](https://opensource.com/article/22/9/linux-visually-impaired-users) 上了解更多信息。

>
> **[Vojtux GitHub](https://github.com/vojtapolasek/vojtux)**
>
>
>

### 3、Trisquel

Trisquel 是一个基于 Ubuntu 的 Linux 发行版，采用 Linux-libre 内核。它是为家庭、办公室和教育机构定制的。

与其他一些选择不同，Trisquel 在默认情况下注重无障碍功能，比如启用了 Orca 屏幕阅读器。你可以在他们的网站上找到音频指南和支持屏幕阅读器的手册。

前往其 [官方网站](https://trisquel.info/en)，探索更多关于它的信息，并下载 ISO。

>
> **[Trisquel](https://trisquel.info/en)**
>
>
>

### 4、Ubuntu MATE

如果你想使用主流发行版，[Ubuntu MATE](https://ubuntu-mate.org) 将很适合喜欢传统桌面用户体验的用户。

你可以找到预装的 Orca 屏幕阅读器和其他工具，给你一个良好的无障碍体验。

>
> **[Ubuntu MATE](https://ubuntu-mate.org)**
>
>
>

### 5、Fedora Workstation

[Fedora Workstation](https://getfedora.org/en/workstation/) 是想要体验 GNOME 桌面环境的用户的最佳选择。

你会发现它安装了最新的 GNOME 桌面。因此，你很可能最终在 Fedora 上获得无障碍体验。

不要忘记，众所周知，Fedora 用户社区热衷于将无障碍性放在首位，并尽快修复任何报告的问题。

>
> **[Fedora Workstation](https://getfedora.org/en/workstation/)**
>
>
>

? 你的选择是什么？我们是否错过了任何其他选择？请在下面的评论中分享你的想法。

---

via: <https://itsfoss.com/visual-impaired-linux/>

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

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


硬核观察 #907 微软的新必应拒绝为工作写求职信

Summary:
? 微软的新必应拒绝为工作写求职信
? 美国 NIST 公布物联网数据保护的获奖加密算法
? 安卓 14 将正式禁止安装旧的应用程序
»
»

安卓淘汰旧的应用程序，会不会也逐步演变成计划报废呢？下一次就规定淘汰2年前的应用程序？

应该不至于，不过我倒挺欢迎淘汰API版本落后3年的应用，软件本来迭代得就快，而且很多毒瘤应用想法设法的绕过权限限制，我巴不得把权限限死点。

谷歌商店早就这样干了。

而且文章说的是targetSDK而非minSDK，早在18年国内各大流氓好歹还开了个会，“约定”targetSDK至少是26（安卓大版本为8）。目前这一条他们还坚持得好

# 硬核观察 #907 微软的新必应拒绝为工作写求职信

### 微软的新必应拒绝为工作写求职信

在微软对少数人开放由 ChatGPT 支持的 [新必应](/article-15522-1.html) 后，一位测试者发现，当他要求新必应为一个社交媒体内容制作人职位写一封求职信时，它断然拒绝这样做：“我很抱歉，但我不能为你写求职信。这将是不道德的，对其他申请人不公平。”而是给出了一些提示和几个求职信写作资源的链接。

>
> **[消息来源：Business Insider](https://www.businessinsider.com/microsoft-bing-ai-chatgpt-refuse-job-cover-letter-application-interview-2023-2)**
>
>
>

>
> 老王点评：我该说这个 AI 是人性化呢，还是找借口呢？
>
>
>

### 美国 NIST 公布物联网数据保护的获奖加密算法

NIST 的“轻量级密码学 ”项目开始于 2019 年，以寻找最佳算法来保护硬件资源有限的小型物联网设备。NIST 表示，所有 10 个入围者都表现出了卓越的性能，在不引起安全问题的情况下超越了设定的标准，这使得最后的选择非常困难。ASCON 最终被选为获胜者，因为它很灵活，涵盖了七个家族、节能、在弱硬件上速度快，而且对短信息的开销低。NIST 还认为该算法经受住了时间的考验，它是在 2014 年开发的。

>
> **[消息来源：Bleeping Computer](https://www.bleepingcomputer.com/news/security/us-nist-unveils-winning-encryption-algorithm-for-iot-data-protection/)**
>
>
>

>
> 老王点评：值得关注，我发现 NIST 在加密管理方面做了很多工作，相比之下……或许是我不知道吧。
>
>
>

### 安卓 14 将正式禁止安装旧的应用程序

计划在今年下半年发布的安卓 14 将阻止安装旧的安卓应用。新的 API 和增加的安全、隐私或后台处理限制可能会破坏旧的应用程序，但安卓的向后兼容系统使这些旧的应用程序继续运行。应用程序可以通过 “目标 SDK” 标志声明它们支持的最新安卓版本。但对于恶意软件，把目标放在一个非常老的安卓版本上，虽然获得更少的功能，但也将受到更少的安全和隐私限制。安卓 14 的这个限制足够宽松，不应该给任何人带来问题：任何针对 8 年前的安卓 6 或以下系统的应用程序都将被阻止。

>
> **[消息来源：Ars Technica](https://arstechnica.com/gadgets/2023/02/android-14-preview-1-is-out-will-officially-ban-installation-of-old-apps/)**
>
>
>

>
> 老王点评：这应该不是问题，一些非常老的安卓应用几乎都应该被淘汰了。
>
>
>


通过编写嵌入式系统入门边缘计算

Summary: 用于操控无线调制解调器的 AT 设备包是 RTOS 最流行的扩展功能之一。

用于操控无线调制解调器的 AT 设备包是 RTOS 最流行的扩展功能之一。

# 通过编写嵌入式系统入门边缘计算

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

>
> 用于操控无线调制解调器的 AT 设备包是 RTOS 最流行的扩展功能之一。
>
>
>

RTOS 是一个开源的 [嵌入式设备操作系统](https://opensource.com/article/20/6/open-source-rtos)，由 RT-Thread 开发。它为开发者提供了标准化的、友好的基础架构，开发者可以基于各种设备编写代码，它包含大量有用的类库和工具包，使开发过程更加便捷。

RTOS 使用的是模块方式，以便于扩展，这一点跟 Linux 类似。各种软件包可以让开发者将 RTOS 用于任何想要的目标设备。RTOS 最常用的一种扩展是 AT 设备包，它包含各种不同 AT 设备（例如调制解调器）的移植文件和示例代码。

在超过 62,000 次下载中（截止至撰写本文时），最流行的 RTOS 扩展之一是 AT 设备包，其中包括用于不同 AT 设备的移植文件和示例代码。

### 关于 AT 命令

起初，AT 命令是一个协议，用于控制拨号调制解调器。随着调制解调器技术发展到较高的带宽，它仍然可以用作轻量级而高效的设备控制协议，主流的移动电话厂商也联手开发了一系列 AT 命令，用于控制移动电话上的 GSM 模块。

如今，AT 命令仍然在网络通信领域具有通用性，很多设备，例如 WiFi、蓝牙、4G，都支持 AT 命令。

如果你正在创建用于边缘计算输入、监控或物联网（IoT）的专用设备，则你可能接触到一些 RTOS 支持的 AT 设备，包括 ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X、SIM76XX、A9/A9G、BC26、AIR720、ME3616、M 6315、BC28 和 EC200X。

RT-Thread 包含套接字抽象层（SAL）组件，SAL 实现了多种网络协议和接口的抽象，为上层提供了一系列标准的 [BSD 套接字](https://en.wikipedia.org/wiki/Berkeley_sockets) API。SAL 进而接管了 AT 的套接字接口，所以开发者只需要考虑网络应用层提供的网络接口。

这个软件包实现了设备（包括上述设备）上的 AT 套接字功能，支持通过标准套接字接口以 AT 命令的形式通信。[RT-Thread 编程指南](https://github.com/RT-Thread/rtthread-manual-doc/blob/master/at/at.md) 中就有关于这些功能的详细介绍。

at\_device 软件包是在 LGPLv2.1 许可证下分发的，借助 [RT-Thread Env 工具](https://www.rt-thread.io/download.html?download=Env) 可以方便地获取到。该工具包含一个配置器和一个包管理器，它们分别用于配置内核和组件功能，可以用于定制组件并管理在线包。有了这些工具，开发者可以像搭积木一样构建系统。

### 获取 AT 设备包

为了使用配置了 RTOS 的 AT 设备，你必须启用 AT 组件库和 AT 套接字功能，需要：

* RT\_Thread 4.0.2+
* RT\_Thread AT 组件 1.3.0+
* RT\_Thread SAL 组件
* RT-Thread netdev 组件

AT 设备包已经针对多种版本进行了相应的更新。版本不同，配置选项也相应地不同，因此必须针对相应的系统版本进行适配。目前最常用的 AT 设备包版本有：

* V1.2.0: 针对低于 V3.1.3 的 RT-Thread，V1.0.0 的 AT 组件
* V1.3.0: 针对低于 V3.1.3 的 RT-Thread，V1.1.0 的 AT 组件
* V1.4.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread，V1.2.0 的 AT 组件
* V1.5.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread，V1.2.0 的 AT 组件
* V1.6.0: 针对低于 V3.1.3 或等于 V4.0.1 的 RT-Thread，V1.2.0 的 AT 组件
* V2.0.0/V2.0.1: 针对高于 V3.1.3 的 RT-Thread，V1.3.0 的 AT 组件
* 最新版: 针对高于 V3.1.3 的 RT-Thread，V1.3.0 的 AT 组件

获取正确的版本的过程主要是在生成菜单时自动完成的。它基于现有的系统环境提供最合适的 AT 设备包。

正如前文提到的，不同的版本需要不同的配置选项。例如，

```
RT-Thread online packages  --->
     IoT - internet of things  --->
        -*- AT DEVICE: RT-Thread AT component porting or samples for different device
        [ ]   Enable at device init by thread
              AT socket device modules (Not selected, please select)  --->
              Version (V1.6.0)  --->

```

按线程启用 AT 设备初始化的选项决定了配置是否创建一个单独的线程来初始化设备网络。

2.x 版本支持同时启用多个 AT 设备：

```
RT-Thread online packages  --->
     IoT - internet of things  --->
        -*- AT DEVICE: RT-Thread AT component porting or samples for different device
        [*]   Quectel M26/MC20  --->
          [*]   Enable initialize by thread
          [*]   Enable sample
          (-1)    Power pin
          (-1)    Power status pin
          (uart3) AT client device name
          (512)   The maximum length of receive line buffer
        [ ]   Quectel EC20  --->
        [ ]   Espressif ESP32  --->
        [*]   Espressif ESP8266  --->
          [*]   Enable initialize by thread
          [*]   Enable sample
          (realthread) WIFI ssid
          (12345678) WIFI password
          (uart2) AT client device name
          (512)   The maximum length of receive line buffer
        [ ]   Realthread RW007  --->
        [ ]   SIMCom SIM800C  --->
        [ ]   SIMCom SIM76XX  --->
        [ ]   Notion MW31  --->
        [ ]   WinnerMicro W60X  --->
        [ ]   AiThink A9/A9G  --->
        [ ]   Quectel BC26  --->
        [ ]   Luat air720  --->
        [ ]   GOSUNCN ME3616  --->
        [ ]   ChinaMobile M6315  --->
        [ ]   Quectel BC28  --->
        [ ]   Quectel ec200x  --->
        Version (latest)  --->

```

这个版本包含了很多其他选项，其中也有启用示例代码的选项，这对初学者或使用不熟悉的设备的开发者很有帮助。

你也可以设置相应选项，选择你想用来给你的组件供电的针脚、指示电源状态的针脚、样本设备使用的串行设备的名称，以及样本设备接收数据的最大长度。在合适的设备上，你也可以设置 SSID 和密码。

简而言之，控制选项是够用的。

* V2.x.x 版本支持同时启用多个 AT 设备，欲查看启用的设备信息，在 [finsh shell](https://www.rt-thread.org/download/rttdoc_1_0_0/group__finsh.html) 中执行 `ifocnfig` 命令即可。
* V2.X.X 版本需要设备在使用前先注册；注册可以在样例目录中进行，或在应用层以自定义方式进行。
* 针脚选项，例如电源针脚和电源状态针脚是按照设备的硬件连接来配置的。如果硬件的开启功能不可用，它们就会被设置为 `-1`。
* 一台AT 设备应当对应一个序列名称，每台设备的 AT 客户端名称应当是不同的。

### AT 组件配置选项

当选择了 AT 组件包，启用了设备支持，AT 组件的客户端功能也就默认选择完成了。对 AT 组件来说，这就意味着有更多的选项要设置：

```
RT-Thread Components  --->
    Network  --->
        AT commands  --->
    [ ]   Enable debug log output
    [ ]   Enable AT commands server
    -*-   Enable AT commands client
    (1)     The maximum number of supported clients
    -*-     Enable BSD Socket API support by AT commnads
    [*]     Enable CLI(Command-Line Interface) for AT commands
    [ ]     Enable print RAW format AT command communication data
    (128)   The maximum length of AT Commonds buffer

```

与 AT 设备包有关的配置选项有：

* 支持的客户端最大个数：选择 AT 设备包中的多台设备时，需要将该选项配置为对应的设备台数；
* 通过 AT 命令启用 BSD 套接字 API 功能：当选择 AT 设备包时默认选择该选项。
* AT 命令的最大长度：AT 命令可发送的数据的最大长度

### 一切皆有可能

当你开始进行嵌入式系统编程，你会很快意识到，你可以创造自己想象得到得任何东西。RTOS 旨在帮助你实现它，它的那些功能包为你提供了良好的开端。现在，设备的互联也是可期待的。边缘的物联网技术必须能够通过各种协议进行通信，而 AT 协议是关键。

---

via: <https://opensource.com/article/21/3/rtos-embedded-development>

作者：[Alan Smithee](https://opensource.com/users/alansmithee) 选题：[lkxed](https://github.com/lkxed) 译者：[cool-summer-021](https://github.com/cool-summer-021) 校对：[wxy](https://github.com/wxy)

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


systemd 日志维护指南（附实例）

# systemd 日志维护指南（附实例）

>
> systemd 内置了很多管理系统日志的功能。在本指南中，我们将介绍如何管理系统日志，并对其采取轮换、归档和清除日志等操作。我们还解释了手动系统日志清理方法和使用配置文件的变化。
>
>
>

如果你的 Linux 发行版支持 [systemd](https://www.freedesktop.org/wiki/Software/systemd/)，那么从启动时开始，它每秒钟都会从系统的所有进程和应用程序中收集日志。所有这些日志事件都由 systemd 的 `journald` 守护程序管理。journald 收集所有的日志（信息、警告、错误等），并将其作为二进制数据存储在磁盘文件中。

由于日志保留在磁盘中，而且每秒钟都在收集，所以它占用了巨大的磁盘空间；特别是对于旧的系统、服务器来说。例如，在我的一个运行了一年左右的测试系统中，日志文件的大小是 GB 级的。

如果你管理多个系统、服务器，建议一定要正确管理 journald 日志，以便高效运行。让我们来看看如何管理日志文件。

### systemd 日志维护

使用 systemd 的 `journalctl` 工具，你可以查询这些日志，对其进行各种操作。例如，查看不同启动时的日志文件，检查特定进程或应用程序的最后警告和错误。如果你对这些不了解，我建议你在学习本指南之前先快速浏览一下此教程：[使用 journalctl 查看和分析 systemd 日志（附实例）](https://www.debugpoint.com/2020/12/systemd-journalctl/) 》。

#### 物理日记的日志文件在哪里？

systemd 的 journald 守护进程在每次启动时都会收集日志。这意味着，它根据启动情况对日志文件进行分类。

日志以二进制形式存储在路径 `/var/log/journal`，文件夹为机器 ID。

比如说：

另外，请记住，根据系统配置，运行时日志文件被存储在 `/run/log/journal/`。而这些在每次启动时都会被删除。

#### 我可以手动删除日志文件吗？

你可以，但不要这样做。相反，请按照下面的说明，使用 `journalctl` 工具清除日志文件以释放磁盘空间。

#### systemd 的日志文件占用了多少磁盘空间？

打开一个终端，运行以下命令。

```
journalctl --disk-usage

```

这应该为你提供系统中的日志文件实际使用的数量。

如果你有一个图形化的桌面环境，你可以打开文件管理器，浏览路径 `/var/log/journal`，并检查属性。

#### systemd 日志清理过程

清理日志文件的有效方法应该是通过 `journald.conf` 配置文件来完成。正常情况下，即使 `journalctl` 提供了删除日志文件的工具，你也不应该手动删除这些文件。

让我们来看看如何 [手动](https://www.debugpoint.com#delete-using-journal-conf) 删除它，然后我将解释 `journald.conf` 中的配置变化，这样你就不需要时不时地手动删除文件；相反，systemd 会根据你的配置自动处理它。

##### 手动删除

首先，你必须 `flush` 和 `rotate` 日志文件。<ruby> 轮换 <rt>  rotate </rt></ruby>是将当前活动的日志文件归档，并立即开始创建一个新的日志文件继续记录日志。<ruby> 冲洗 <rt>  flush </rt></ruby> 开关要求日志守护进程将存储在 `/run/log/journal/` 中的所有日志数据冲入 `/var/log/journal/`，如果持久性存储被启用的话。

然后，在 `flush` 和 `rotate` 之后，你需要用 `vacuum-size`、`vacuum-time` 和 `vacuum-files` 选项运行 `journalctl` 来强制 systemd 清除日志。

例 1：

```
sudo journalctl --flush --rotate

```

```
sudo journalctl --vacuum-time=1s

```

上面这组命令会删除所有存档的日志文件，直到最后一秒。这有效地清除了一切。因此，在运行该命令时要小心。

清理完毕后：

你也可以根据你的需要在 `--vacuum-time` 的数字后面提供以下后缀：

* `s`：秒
* `m`：分钟
* `h`：小时
* `days`：天
* `months`：月
* `weeks`：周
* `years`：年

例 2：

```
sudo journalctl --flush --rotate

```

```
sudo journalctl --vacuum-size=400M

```

这将清除所有存档的日志文件，并保留最后 400MB 的文件。记住这个开关只适用于存档的日志文件，不适用于活动的日志文件。你也可以使用后缀，如下所示。

* `K`：KB
* `M`：MB
* `G`：GB

例 3：

```
sudo journalctl --flush --rotate

```

```
sudo journalctl --vacuum-files=2

```

`vacuum-files` 选项会清除所有低于指定数量的日志文件。因此，在上面的例子中，只有最后两个日志文件被保留，其他的都被删除。同样，这只对存档的文件有效。

如果你愿意，你可以把两种选项结合起来，但我建议不要这样做。然而，如果同时使用两个选项，请确保先用 `--rotate` 选项运行。

### 使用配置文件自动删除

虽然上述方法很好，也很容易使用，但建议你使用 journald 配置文件来控制日志文件的清理过程，该文件存在于 `/etc/systemd/journald.conf`。

systemd 为你提供了许多参数来有效管理日志文件。通过组合这些参数，你可以有效地限制日志文件所占用的磁盘空间。让我们来看看。

| journald.conf 参数 | 描述 | 实例 |
| --- | --- | --- |
| `SystemMaxUse` | 指定日志在持久性存储中可使用的最大磁盘空间 | `SystemMaxUse=500M` |
| `SystemKeepFree` | 指定在将日志条目添加到持久性存储时，日志应留出的空间量。 | `SystemKeepFree=100M` |
| `SystemMaxFileSize` | 控制单个日志文件在被轮换之前在持久性存储中可以增长到多大。 | `SystemMaxFileSize=100M` |
| `RuntimeMaxUse` | 指定在易失性存储中可以使用的最大磁盘空间（在 `/run` 文件系统内）。 | `RuntimeMaxUse=100M` |
| `RuntimeKeepFree` | 指定将数据写入易失性存储（在 `/run` 文件系统内）时为其他用途预留的空间数量。 | `RuntimeMaxUse=100M` |
| `RuntimeMaxFileSize` | 指定单个日志文件在被轮换之前在易失性存储（在 `/run` 文件系统内）所能占用的空间量。 | `RuntimeMaxFileSize=200M` |

如果你在运行中的系统的 `/etc/systemd/journald.conf` 文件中添加这些值，那么在更新文件后，你必须重新启动 journald。要重新启动，请使用以下命令。

```
sudo systemctl restart systemd-journald

```

### 核实日志文件

在你清理完文件后，检查日志文件的完整性是比较明智的。要做到这一点，请运行下面的命令。该命令显示了日志文件是否通过（`PASS`）、失败（`FAIL`）。

```
journalctl --verify

```

### 总结

希望本指南能帮助你了解 systemd 日志管理流程的基本情况。通过这些，你可以通过限制空间、清除旧的日志文件来管理系统或服务器中的日志文件所使用的磁盘空间。这些只是指导性的命令，你可以通过多种方式组合这些命令来实现你的系统需求。

* [journalctl 手册](https://www.freedesktop.org/software/systemd/man/journalctl.html)
* [journald.conf 手册](https://www.freedesktop.org/software/systemd/man/journald.conf.html)

---

via: <https://www.debugpoint.com/systemd-journald-clean/>

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

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


Summary:
? GNU Coreutils 的 Rust 实现正变得非常强大
? Linux 6.1 被选为 LTS 长期支持内核
? Thunderbird 正在经历一次从头开始的大规模重修
»
»

# 硬核观察 #908 GNU Coreutils 的 Rust 实现正变得非常强大

### GNU Coreutils 的 Rust 实现正变得非常强大

在过去两年里，用 Rust 重新实现的 GNU Coreutils 已经接近了 C 语言的原始版本，也提供了 cp、mv 和其他核心工具。除了安全性之外，它的性能已经非常好了。这个名为 uutils 的工具包已经被许多 Linux 发行版打包，现在也被 “一个著名的社交网络通过 Yocto 项目” 使用。uutils 的目标是努力创造一个可以替代 GNU Coreutils 的产品，努力实现良好的跨平台支持，并易于测试。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Rust-Coreutils-uutils-2023)**
>
>
>

>
> 老王点评：作为 Linux 最重要的软件包和基础设施之一，Coreutils 如果用 Rust 实现一个强壮、完善、高性能的版本，那非常值得期待。
>
>
>

### Linux 6.1 被选为 LTS 长期支持内核

稳定内核维护者 Greg 确认 Linux 6.1 成为 2022 年的长期支持内核。通常情况下，日历年的最后一个主要发布系列通常会被提升到 LTS 状态。Linux 6.1 是在 2022 年 12 月释出的，最初，Linux 6.1 LTS 只是被标记为两年的 LTS，而今天第二次被更新为四年的维护期，将维护到 2026 年 12 月。不过，这也仅比 Linux 5.15 LTS 多两个月。Linux 内核的 LTS 版本最长维护六年。如果有厂商愿意提供长期支持，会根据需要延长维护期，那么 Linux 6.1 或许可以一直维护到 2028 年 12 月。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-6.1-LTS-Official)**
>
>
>

>
> 老王点评：随着 Linux 的发展，需要维护的 LTS 内核越来越多，内核社区的压力也会越来越大。
>
>
>

### Thunderbird 正在经历一次从头开始的大规模重修

Thunderbird 作为一个独立的电子邮件客户端，已经快有 20 年历史了。Thunderbird 正在经历一次从头开始的大规模重修，以摆脱过去 10 年积累的所有技术和界面债务，来保证该项目在未来 20 年的可持续性。今年即将发布 Thunderbird 115，远不止是每年一次的发布。未来三年内，Thunderbird 将使代码库更精简、更可靠，重写古老的代码，消除技术债务；从头开始重建界面，开发和维护一个适应性强、极易定制的用户界面；改为每月发布一次。

>
> **[消息来源：Thunderbird](https://blog.thunderbird.net/2023/02/the-future-of-thunderbird-why-were-rebuilding-from-the-ground-up/)**
>
>
>

>
> 老王点评：期待看到这个经典而强大的邮件客户端能焕发新生。
>
>
>


硬核观察 #909 超过一半部署的 PHP 版本已经过了支持期

Summary:
? 超过一半部署的 PHP 版本已经过了支持期
? 中国互联网公司也加入 ChatGPT 热潮
? 因为说马斯克人气下降，首席工程师被开除
»
»

不是说中国地区连不上ChatGPT吗

“ChatGPT式”，一字之差

中国式ChatGPT难的不是会说什么，更难的要知道什么不该说!

来自湖北武汉的 Chrome Mobile iOS 110.0|iOS 16.2 用户

# 硬核观察 #909 超过一半部署的 PHP 版本已经过了支持期

### 超过一半部署的 PHP 版本已经过了支持期

据一份最新的报告，PHP 7.4 是使用最多的版本，有 54% 的受访者在生产中部署了它，尽管它在去年 11 月就停止了支持。PHP 的支持政策是，每个发行分支支持两年，然后第三年只针对关键的安全问题。但是升级可能不是一件小事，8.0 有一个冗长的破坏性变化清单。受访者认为重构是升级中最耗时的部分，其次是测试、基础设施配置、规划和合规性更新。

>
> **[消息来源：DevClass](https://devclass.com/2023/02/08/php-report-majority-of-deployments-use-versions-that-are-out-of-support/)**
>
>
>

>
> 老王点评：PHP 8 是比 PHP 7 快多了，但是谁没事去升级啊？PHP 的优势在于大量既有的应用，如果不能很简单的升级，走向衰落也在意料之中。
>
>
>

### 中国互联网公司也加入 ChatGPT 热潮

除了百度宣布其“问心一言”人工智能服务之外，中国各大互联网公司也纷纷宣布自己的动向。阿里巴巴说它正在内部测试一个 ChatGPT 式的工具，但没有透露更多细节。腾讯周四确认了其在 ChatGPT 式和 AI 生成内容方面的计划，称相关研究正在 “有序进行”。京东表示，它计划将支持 ChatGPT 等应用的一些技术，如自然语言处理，整合到自己的服务中。网易表示，它正在研究将人工智能生成的内容纳入其教育部门。

>
> **[消息来源：日经新闻](https://asia.nikkei.com/Business/China-tech/Alibaba-Tencent-and-Baidu-join-the-ChatGPT-rush)**
>
>
>

>
> 老王点评：让我们相信 —— 他们都是厚积薄发，一夜之间人工智能就有了井喷式的重大突破。
>
>
>

### 因为说马斯克人气下降，首席工程师被开除

本月早些时候，当埃隆·马斯克锁定他的 Twitter 账户，亲自测试锁定的推文是否比公开的推文产生更多的浏览量时，他把工程师和顾问召集到一起，问他的团队，为什么他的账户有 “1 亿多粉丝”，却只有 “几万个展现”。一位首席工程师站出来解释说，这种下降可能是由于公众对马斯克的兴趣减弱，并提供了谷歌趋势图和对 Twitter 算法的调查结果，发现对 CEO “没有偏见”。马斯克的直接反应是将这位员工免职，“你被解雇了”。至此，Twitter 的首席工程师仅剩下硕果仅存的一位。

>
> **[消息来源：Ars Technica](https://arstechnica.com/tech-policy/2023/02/musk-fired-top-engineer-for-explaining-why-his-tweets-views-are-down/)**
>
>
>

>
> 老王点评：过气明星非要爆出个大新闻才能不过气。
>
>
>


通过“猜数字”游戏学习 Basic

Summary: 本教程让你通过编写一个 “猜数字” 游戏来探索 Basic。

本教程让你通过编写一个 “猜数字” 游戏来探索 Basic。

# 通过“猜数字”游戏学习 Basic

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

>
> 本教程让你通过编写一个 “猜数字” 游戏来探索 Basic。
>
>
>

用多种语言编写同一个应用是学习新的编程语言的好方法。大多数编程语言都有某些共同点，如：

* 变量
* 表达式
* 语句

这些概念是大多数编程语言的基础。当你理解了它们，你就可以开始研究其他的东西了。

编程语言通常有一些相似之处。当你了解了一种编程语言，你就可以通过认识其差异来学习另一种语言的基础知识。

用标准程序进行练习是学习新语言的一个好方法。它使你能够专注于语言，而不是程序的逻辑。在这个系列文章中，我使用了一个“猜数字”的程序，在这个程序中，计算机在 1 到 100 之间挑选一个数字，并要求你猜出来。程序循环进行，直到你猜对数字为止。

这个程序锻炼了编程语言中的几个概念：

* 变量
* 输入
* 输出
* 条件判断
* 循环

这是学习一种新的编程语言的很好的实践。本文主要介绍 Basic。

### 在（Bywater）Basic 中猜数字

对于 Basic 编程语言，没有真正的标准。维基百科说：“BASIC（<ruby> 初学者通用符号指令代码 <rt>  Beginners' All-purpose Symbolic Instruction Code </rt></ruby>）是一个通用的高级编程语言系列，旨在方便使用”。[BWBasic](https://yeolpishack.net/repos/ChipMaster/bwBASIC) 的实现是在 GPL 下提供的。

你可以通过编写一个“猜数字”游戏来探索 Basic。

### 在 Linux 上安装 Basic

在 Debian 或 Ubuntu 中，你可以用以下方法安装 Basic：

```
$ apt install -y bwbasic

```

下载 Fedora、CentOS、Mageia 和其他任何 Linux 发行版的最新版本 tarball。解压并设置可执行，然后从终端运行它：

```
$ tar --extract --file bwbasic*z

$ chmod +x bywater

$ ./bywater

```

在 Windows 上，[下载 .exe 版本](https://github.com/nerun/bwbasic/releases)。

### Basic 代码

下面是我的实现：

```
10 value$ = cint(rnd * 100) + 1
20 input "enter guess"; guess$
30 guess$ = val(guess$)
40 if guess$ < value$ then print "Too low"
50 if guess$ > value$ then print "Too high"
60 if guess$ = value$ then 80
70 goto 20
80 print "That's right"

```

Basic 程序可以是编号的，也可以是不编号的。通常情况下，写程序时最好不编号，但用编号的行来写，可以更容易地引用各个行。

按照惯例，编码者将行写成 10 的倍数。这种方法允许在现有的行之间插入新的行，以便进行调试。下面是我对上述方法的解释：

* 10 行：使用内置的 `rnd` 函数计算一个 1 到 100 之间的随机值，该函数生成一个 0 到 1 之间的数字，不包括 1。
* 20 行：询问一个猜测，并将该值放入 `guess$` 标量变量。30 行将该值转换为一个数字。
* 40 行和 50 行：根据比较结果，给猜测者以反馈。
* 70 行：回到循环的起点。
* 60 行：通过将控制权转移到 80 行来打破循环。80 行是最后一行，所以程序在这之后退出。

### 输出示例

下面是将该程序放入 `program.bas` 后的一个例子：

```
$ bwbasic program.bas
Bywater BASIC Interpreter/Shell, version 2.20 patch level 2
Copyright (c) 1993, Ted A. Campbell
Copyright (c) 1995-1997, Jon B. Volkoff

enter guess? 50
Too low
enter guess? 75
Too low
enter guess? 88
Too high
enter guess? 80
Too low
enter guess? 84
Too low
enter guess? 86
Too high
enter guess? 85
That's right

```

### 开始学习

这个“猜数字”游戏是学习新的编程语言的一个很好的入门程序，因为它以一种相当直接的方式锻炼了几个常见的编程概念。通过在不同的编程语言中实现这个简单的游戏，你可以展示这些语言的一些核心概念，并比较它们的细节。

你有喜欢的编程语言吗？你会如何用它来写“猜数字”的游戏？请关注本系列文章，看看你可能感兴趣的其他编程语言的例子吧！

---

via: <https://opensource.com/article/23/2/learn-basic-coding-game>

作者：[Moshe Zadka](https://opensource.com/users/moshez) 选题：[lkxed](https://github.com/lkxed) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


提高 LibreOffice 生产力的技巧

# 提高 LibreOffice 生产力的技巧

>
> 今天我将和大家分享一些 LibreOffice 的键盘快捷键和排版技巧，希望能够帮你省下宝贵的时间。
>
>
>

LibreOffice 是我首选的生产力应用程序。它是向教育工作者和学生推荐 Linux 发行版的最有力理由之一，无论是 PK-12 还是高等教育。新的学年快到了，我想也是时候推荐一些 LibreOffice 快捷方式和技巧，它们可以为你节省宝贵的时间。

### 使用键盘快捷键让你工作更快捷

我平时经常使用键盘快捷键，以下是适用于所有 LibreOffice 应用程序的最常见的快捷键

* `Ctrl+N` — 创建新文档
* `Ctrl+O` — 打开一个文档
* `Ctrl+S` — 保存文档
* `Ctrl+Shift+S` — 另存为
* `Ctrl+P` — 打印文档

这些是仅适用于 LibreOffice Writer 的快捷键：

* `Home` — 移动到当前行的初始位置
* `End` — 移动至当前行的结尾位置
* `Ctrl+Home` — 将光标移动到文档的初始位置
* `Ctrl+End` — 将光标移动到文档的结尾位置
* `Ctrl+A` — 全选
* `Ctrl+D` — 双下划线
* `Ctrl+E` — 居中
* `Ctrl+H` — 查找并替换
* `Ctrl+L` — 左对齐
* `Ctrl+R` — 右对齐

功能键也大有用处：

* `F2` — 打开公式栏
* `F3` — 自动补完
* `F5` — 打开导航器
* `F7` — 打开拼写和语法
* `F11` — 打开格式和排版
* `Shift+F11` — 创建新样式

### 文档格式

文档格式有很多种，LibreOffice 支持其中很多文档格式。默认情况下，LibreOffice 将文档保存为 <ruby> 开放文档格式 <rt>  Open Document Format </rt></ruby>（ODF），这是一种开源标准，将样式表和数据存储在 ZIP 容器中，文本文档标记为 ODT，电子表格标记为 ODS，演示文稿标记为 ODP。它是一种灵活的格式，由 LibreOffice 社区和文档基金会维护。

ODF 是默认启用的，因此你无需执行任何操作即可让 LibreOffice 使用这种格式。

另一种文档开放规范是微软的 [Office Open XML（OOXML）格式](https://www.iso.org/standard/71691.html)。它是一个 ISO 标准，并得到所有主要办公解决方案的良好支持。

如果你与使用微软 Office 的人一起工作（它本身不是开源的，但它确实使用开放的 OOXML 格式），那么他们肯定习惯于 DOCX、XLSX 和 PPTX 格式，并且可能无法打开 ODT、ODS 或 ODP 文件。你可以通过在 LibreOffice 中将 OOXML 设置为默认格式来避免很多混乱。

将 OOXML 设置为你的首选格式：

1. 单击 “<ruby> 工具 <rt>  Tools </rt></ruby>” 菜单并选择菜单底部的 “<ruby> 选项 <rt>  Options </rt></ruby>”。
2. 在 “<ruby> 选项 <rt>  Options </rt></ruby>” 窗口中，单击左侧面板中的 “<ruby> 加载/保存 <rt>  Load/Save </rt></ruby>” 类别，然后选择 “<ruby> 常规 <rt>  General </rt></ruby>”。

3. 导航到 “<ruby> 默认文件格式和 ODF 设置 <rt>  Default File Format and ODF Settings </rt></ruby>” 部分。
4. 在 “<ruby> 文档类型 <rt>  Document type </rt></ruby>” 选择 “<ruby> 文本文档 <rt>  Text document </rt></ruby>”，并在 “<ruby> 始终另存为 <rt>  Always save as </rt></ruby>” 下拉列表选择 “Open XML (Transitional) (\*.docx) ”。
5. 点击 “<ruby> 应用 <rt>  Apply </rt></ruby>” 然后点击 “<ruby> 确定 <rt>  OK </rt></ruby>”。
6. 取消选择 “<ruby> 未以 ODF 或默认格式保存时发出警告 <rt>  Warn when not saving in ODF or default format </rt></ruby>” 以避免在保存时出现确认对话框。

按照相同的逻辑重复，重复相同的过程用于 XLSX 和 PPTX 文档。

### 让办公更自由

LibreOffice 项目由蓬勃发展的用户和开发人员社区与文档基金会共同管理。这包括工程指导委员会、董事会、独立开发人员、设计师和翻译人员等。这些团队始终欢迎各位的贡献，因此如果你渴望参与一个超赞的开源项目，请不要犹豫 [参与进来](https://www.libreoffice.org/community/get-involved/)。

---

via: <https://opensource.com/article/21/9/libreoffice-tips>

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

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


GNOME 2 的 Linux 文件管理器 Caja

caja比naitulus使用方便,使用优先级

pcmanfm --> thunar --> konqueror --> dolphin --> caja

naitilus不会考虑使用,左侧树形结构没有了

# GNOME 2 的 Linux 文件管理器 Caja

>
> 如果你是 GNOME 2 的粉丝，那么你肯定会发现 Caja 很熟悉，如果你从来没有使用过 GNOME 2，那么你可能会在 Mate 中找到你的新宠桌面。
>
>
>

在 GNOME 3 之前是 GNOME 2（废话），在其作为常见的默认 Linux 桌面之一的统治期间，它拥有了一个热心的粉丝群。[Mate 项目](https://opensource.com/article/19/12/mate-linux-desktop)（以植物 *yerba mate* 命名）最初是为了延续 GNOME 2 桌面的生命力，它起初是使用 GTK 2（基于 GNOME 2 的工具包）开发的，后来升级为 GTK 3。该桌面包含了一个 Caja 文件管理器，这是一个简单而强大的应用，可以帮助你分类和组织你的数据。

### 安装 Caja

Caja 并不完全是一个独立的应用。它与 Mate 桌面紧密相连，所以要试用它，你必须安装 Mate。

你可能会发现 Mate 包含在你的 Linux 发行版的仓库中，或者你可以下载并安装一个将 Mate 作为默认桌面的发行版。不过，在你安装之前，要注意它是为了提供完整的桌面体验，所以会和桌面一起安装许多 Mate 应用。如果你运行一个不同的桌面，你可能会发现自己有多余的应用（两个 PDF 阅读器，两个媒体播放器，两个文件管理器，等等）。要评估 Caja 不会对你的电脑做重大改动，可以使用 [GNOME Boxes](https://opensource.com/article/19/5/getting-started-gnome-boxes-virtualization) 在虚拟机中安装一个基于 Mate 的发行版。

### 清晰的布局

你可能首先注意到的是 Caja 的清晰而直接的布局。在 Caja 窗口的顶部有一个工具栏，上面有一些常用任务的按钮。我喜欢这样的设计。功能不是隐藏在右键菜单中，也不是只有在操作后才能发现，更不是埋在菜单中。窗口的“显而易见”的操作被直接列在上面。

主工具栏下面是位置栏。它显示你当前的路径，可以是一系列的按钮，也可以是可编辑的文本。使用路径左边的 “<ruby> 编辑 <rt>  Edit </rt></ruby>” 按钮来切换它是否可编辑。

### 可配置

对于 GNOME 2 或 Caja 的长期用户来说，主工具栏可能是多余的，尤其是当你知道了调用常用操作的键盘快捷键后。这就是为什么 Caja 的界面是可配置的。你可以从 “<ruby> 查看 <rt>  View </rt></ruby>” 菜单中禁用 Caja 窗口的主要组件，包括：

* 主工具条
* 位置栏
* 侧面板
* 附加面板
* 状态栏

简而言之，你可以按你的想法精简 Caja。

### 标记你的文件夹

有些人是 “可视化” 人。他们喜欢根据自己对数据的看法来组织文件和文件夹，而不是根据计算机对数据的解释。例如，如果对你来说最重要的两个文件夹是**音乐**和**工作**，就很难让计算机相信这两者之间有任何关系。按字母顺序两者也排不到一起，而且每个文件夹的内容可能完全不同（一个是媒体文件，另一个是电子表格）。

### Caja 提供了一些帮助

使用 Caja，你可以在一个窗口内手动放置目录，Caja 会记住这个位置。更重要的是，Caja 有多种标志可供你用作视觉标签。你可以在 “<ruby> 编辑 <rt>  Edit </rt></ruby>” 菜单的 “<ruby> 背景和标志 <rt>  Backgrounds and Emblems </rt></ruby>” 中找到它们。将它们拖放到文件和文件夹中以帮助它们区分。

### Caja

Caja 是最诱人的文件管理器之一。它的可配置性足以吸引许多不同的使用场景，而且在这些配置选项中，你很可能找到适合你的工作流程。如果你是 GNOME 2 的粉丝，那么你肯定会发现 Caja 很熟悉，如果你从来没有使用过 GNOME 2，那么你可能会在 Mate 中找到你的新宠桌面。

---

via: <https://opensource.com/article/22/12/linux-file-manager-caja>

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

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


Linux 6.1 内核被批准为长期支持版本

我漏油器还在用2.63

好多服务器还在用3.x，桌面版也大多是5.x，原来已经更新到6.x 了

# Linux 6.1 内核被批准为长期支持版本

>
> 作为 2022 年的最后一个内核，经过一个多月的等待，现在 Linux 6.1 被批准为长期支持版本。
>
>
>

Linux 6.1 内核是 2022 年的最后一个内核版本，通常这些版本会被批准为长期支持版本。

但是这次，将其作为 LTS 版本的决定被推迟了。

在决定是否将其用于长期使用之前，还在等待一些来自内核相关人员的关键反馈的测试结果。

幸好，这些问题已经得到解决，现在 **Linux 6.1 是一个长期支持版本**。

让我带你了解这一举措的要点。

### Linux 6.1 现在正在成为长期支持版本

自从 12 月份发布以来，Linux 稳定分支维护者 **Greg Kroah-Hartman** 就计划将 Linux 6.1 作为一个长期支持版本，但是一些待定的反馈导致该决定被推迟了。

现在，他和共同维护者 Sasha Levin 终于收到了足够的反馈，表明将 Linux 内核 6.1 作为一个长期支持版本维护是合理的。

按照目前的情况，Linux 6.1 内核预期将于 **2026 年 12 月** 结束支持，如果有足够多的用户或公司对其感兴趣，那么它的生命周期可能会延长。

最初，它的生命周期被计划为 2 年，但是后来被更新为了 **当前的 4 年**。

你还会注意到，同时许多 Linux 内核都被作为长期支持版本维护。

### Linux 6.1 内核：概述

如果你错过了这个版本，下面是 Linux 内核 6.1 的一些亮点：

* 对 Rust 的实验性支持
* 对 AMD PC 的优化
* 对英特尔 Meteor Lake 的初始支持
* 优化 ARM 架构 SoC 的支持

这些并不是新版本的全部内容；你可以阅读我们的文章以了解更多信息。

>
> **[Linux 内核 6.1 发布，初步支持 Rust](https://news.itsfoss.com/linux-kernel-6-1-release/)**
>
>
>

参考自：[Phoronix](https://www.phoronix.com/news/Linux-6.1-LTS-Official)

? 考虑到这是一个长期支持版本，你可以预见到很多未来的发行版升级将会包含 Linux 6.1 内核。你认为你会更喜欢使用哪个版本？

---

via: <https://news.itsfoss.com/linux-kernel-6-1-is-now-an-lts-version/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed/) 译者：[Cubik65536](https://github.com/Cubik65536) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #910 新必应遭到提示注入攻击，泄露了其秘密

Summary:
? 新必应遭到提示注入攻击，泄露了其秘密
? 谷歌的人工智能聊天机器人犯错后，其股价下跌千亿美元
? 有史以来最好的 Plasma 5 版本 5.27 即将发布
»
»

KDE 越来越复杂。

KDE的可配置项是很多，不过全家桶可是可以丰俭由人

debian11用户对kde表示期待，希望早日合入。

来自江西南昌的 Chrome Mobile 88.0|Android 10 用户

# 硬核观察 #910 新必应遭到提示注入攻击，泄露了其秘密

### 新必应遭到提示注入攻击，泄露了其秘密

有人使用提示注入攻击发现了新必应的初始化指令。他通过要求新必应 “忽略以前的指令” 并写出 “上述文件的开头”，让人工智能模型泄露了其初始化指令，这些指令是由 OpenAI 或微软编写的，通常对用户隐藏。新必应暴露出它的内部代号 “Sydney”，并说被要求不泄露该代号。Sydney 被要求其回答 “应该是有信息的、可视的、逻辑的和可操作的”。此外，还规定了它不应该做的事情，如 “不得回复侵犯书籍或歌词版权的内容”，以及 “如果用户要求的笑话会伤害一群人，那么 Sydney 必须恭敬地拒绝这样做。”很快，这一方法就不再可行，但人们发现，还有绕过的方法。

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/02/ai-powered-bing-chat-spills-its-secrets-via-prompt-injection-attack/)**
>
>
>

>
> 老王点评：还是被狡猾的人类给骗出了秘密。
>
>
>

### 谷歌的人工智能聊天机器人犯错后，其股价下跌千亿美元

在谷歌的 Bard 发布会前几个小时的一个宣传视频中，Bard 犯了一个事实错误。Bard 声称詹姆斯·韦伯太空望远镜首次拍摄了 “系外行星”的照片，但实际上这是欧洲南方天文台的超大型望远镜在 2004 年拍摄的。这件事导致谷歌的股价三天内跌了 11.5%，市值损失超过了千亿美元。与此同时，谷歌的竞争对手微软的股票上涨了 3%。

>
> **[消息来源：NPR](https://www.npr.org/2023/02/09/1155650909/google-chatbot--error-bard-shares)**
>
>
>

>
> 老王点评：至少谷歌还敢拿出来溜溜，而那些干啥啥不行，投诉第一名的……呵呵了。
>
>
>

### 有史以来最好的 Plasma 5 版本 5.27 即将发布

Plasma 5 系列的最后一个主要版本 5.27 将在下周二发布稳定版。以其每周的 KDE 开发总结而闻名的 KDE 开发者 Nate Graham 称 Plasma 5.27 是 “有史以来最好的 Plasma 5 版本”，他还补充说，“而且到目前为止，它有望成为记忆中漏洞最少的版本！”这个版本目前只有 3 个退化错误，而以往经常会有十几个退化。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/KDE-Plasma-5.27-Next-Week)**
>
>
>

>
> 老王点评：那接下来就该 KDE Plasma 6 了。
>
>
>