将手机作为你的 Linux 桌面的摄像头和麦克风

为什么不用droidcam?

![](/data/attachment/album/202309/07/155221kxjpb8j8j998xj50.jpg)

>
> 当你的桌面系统缺乏网络摄像头和专用麦克风时，你可以考虑使用智能手机。这里将教你如何在 Ubuntu Linux 中完成这个设置。
>
>
>

我和许多 Linux 用户一样，使用的是台式机。相较于笔记本电脑，并没有预装摄像头和麦克风。

若要获得与现代智能手机相媲美的画质，你可能需要购买一款高端的网络摄像头。

在此教程中，我将逐步指导你如何将你的手机用作麦克风和摄像头，这将非常适用于在线会议场景。

### Ubuntu 下使用手机的摄像头和麦克风

>
> ? 本教程采用第三方网站 <https://vdo.ninja/> 来托管音频和视频，因此，这并不是一项完全的开源方案。
>
>
>

我将指引你完成以下步骤：

* 安装 OBS （如果你还未安装）
* 通过 `vdo.ninja` 生成邀请链接
* 设置虚拟音频线缆（用于音频输出）
* 配置 OBS 以便从 `vdo.ninja` 重定向音视频流

首先，我们来看第一步。

>
> ? 虽然本教程是在 Ubuntu 系统下完成的，但我相信，这些同样可以在其他 Linux 发行版上实现。你只需为你的发行版安装所需的包即可。你可以自行尝试，看看效果如何。
>
>
>

#### 1、在 Ubuntu 中安装 OBS

OBS（Open Broadcaster Software）是众多用于录制和直播视频的优秀软件之一，许多直播者都选择使用 OBS 在各个数字化平台进行直播。

幸运的是，OBS 已经包含在 Ubuntu 的默认仓库中，你可以通过以下命令来安装：

```
sudo apt install obs-studio

```

#### 2、通过 VDO.ninja 生成直播邀请

在这一节，我将教你如何在 vdo.ninja 上生成一个直播邀请，进而从你的手机上开始直播音频和视频。

首先，访问 [VDO.ninja](https://vdo.ninja/) 并点击 “<ruby> 创建可重用的邀请 <rt>  Create Reusable Invite </rt></ruby>”：

![](/data/attachment/album/202309/07/155311s5utteuee32nkeye.png)

接下来你会看到很多选项，包括质量设置，添加视频效果等。我推荐你使用默认设置，因为高质量视频需要更快的处理速度和更多的带宽。

为了创建一个链接，你只需要点击 “<ruby> 生成邀请链接 <rt>  GENERATE THE INVITE LINK </rt></ruby>” 按钮：

![](/data/attachment/album/202309/07/155311gsxspwqar3hjrpsh.png)

完成后你会看到：

* 你需要用你的手机扫描的二维码（当然，你也可以选择使用链接）。
* OBS 的链接。

**稍后我会在本教程中继续介绍 OBS 配置，所以请暂时别关闭这个窗口。**

首先，用你的手机扫描二维码，它会将你跳转到 VDO.ninja 的另一个页面，此时你需要：

* 选择 “<ruby> 共享你的相机 <rt>  Share your Camera </rt></ruby>” 选项。
* 在视频源中选择使用前置或后置摄像头（默认为前置）。
* 点击 “<ruby> 开始 <rt>  Start </rt></ruby>” 按钮后，它将开始在 OBS 连接的页面上进行直播。

![](/data/attachment/album/202309/07/155312w87x7jjv9q7uu0jx.png)

#### 3、在 Ubuntu 上为 OBS 配置虚拟线缆

>
> ? 这种设置方法仅适用于 PulseAudio，并且在重启系统后虚拟线缆将被撤销。
>
>
>

首先，我们来解释一下“<ruby> 虚拟线缆 <rt>  virtual cable </rt></ruby>”的概念，以及为何我们需要它来将手机做为摄像头和麦克风使用。

虚拟线缆是一种用于将音频流从一个应用传输到另一个应用的软件。

然而遗憾的是，它只支持 Windows 和 macOS。

啥？！那我为什么还要介绍这个呢？

答案其实很简单。我找到了一种变通方法，你可以在**当前的会话**中获得与虚拟线缆类似的功能。

要设置虚拟线缆，首先需要使用以下命令加载 `module-null-sink` 模块：

```
pactl load-module module-null-sink sink_name=Source

```

然后，执行下面的命令创建一个名为 `VirtualMic` 的虚拟音源：

```
pactl load-module module-virtual-source source_name=VirtualMic master=Source.monitor

```

这两个命令将返回一些数字，但无需对其过多关注。

接下来，前往系统“<ruby> 设置 <rt>  Settings </rt></ruby>”，找到“<ruby> 声音 <rt>  Sound </rt></ruby>”部分的设置：

![](/data/attachment/album/202309/07/155313a0w9blx3c1fzcn1q.png)

然后进入 “<ruby> 输入 <rt>  Input </rt></ruby>” 部分，在此你会找到选择输入设备的选项。

将 “VirtualMic” 设为输入设备：

![](/data/attachment/album/202309/07/155314szkkhv1hxgtxo6bh.png)

这样就设置完了！

不过，如我之前所述，一旦你重启电脑，虚拟音频的设置就会被撤销，如果你打算经常使用手机作为摄像头和麦克风，这可能会造成一定的不便。

为了解决这个问题，你可以为这两个命令 [创建别名](https://linuxhandbook.com/linux-alias-command/)，例如，为命令创建别名：`vc1` 和 `vc2`。

完成后，你就可以像这样 [一次执行两个命令](https://linuxhandbook.com/run-multiple-commands/)：`vc1 && vc2`。

#### 4、配置 OBS 从手机直播音视频

开始阶段，你需要打开我之前告诉你不要关闭的 VDO.ninja 标签页，并复制 OBS 链接：

![](/data/attachment/album/202309/07/155315r19rr89yyn28j849.png)

然后启动 OBS，在 “<ruby> 源 <rt>  Sources </rt></ruby>” 区域你会看到一个 “➕（加号）”按钮，点击这个按钮并选择 “<ruby> 浏览 <rt>  Browser </rt></ruby>”。

接着会弹出一个对话框，让你创建或选择一个源，你只需按下 “OK” 按钮即可：

![](/data/attachment/album/202309/07/155315jwhm3fhlwo2rfsr3.png)

最后，将已经复制的链接粘贴进 “URL” 字段：

![](/data/attachment/album/202309/07/155316us96do6sgofhxddh.png)

然后你将能看到 OBS 正在使用你手机的摄像头：

![](/data/attachment/album/202309/07/155316da3r3xnz53vkbno0.png)

不过为了从你的手机接收音频，还有一些额外步骤需要执行。

首先，在菜单中点击 “<ruby> 文件 <rt>  File </rt></ruby>” 并选择 “<ruby> 设置 <rt>  Settings </rt></ruby>”：

![](/data/attachment/album/202309/07/155317ljvo7295qrvjyl7d.png)

在出现的设置选项中选择 “<ruby> 音频 <rt>  Audio </rt></ruby>”，然后寻找到 “<ruby> 高级 <rt>  Advanced </rt></ruby>” 区域。

在 “高级” 区域里，你能找到 “<ruby> 监控设备 <rt>  Monitoring Device </rt></ruby>” 的选项，这里你需要选择 “Source Audio/Sink sink”：

![](/data/attachment/album/202309/07/155317phphbrphpp9p11h9.png)

点击 “<ruby> 应用 <rt>  Apply </rt></ruby>” 保存更改。

对于大部分用户，此时音频应该已经能够正常工作了。如果你的音频依然无法工作，那么你可以按照以下步骤操作。

在 “<ruby> 音频混音器 <rt>  Audio Mixer </rt></ruby>” 区域，可能显示的是 “<ruby> 浏览 <rt>  Browser </rt></ruby>” 或 “<ruby> 桌面音频 <rt>  Desktop Audio </rt></ruby>”，也可能两者都显示。

点击 “桌面音频” 或 “浏览” 旁边的三个点（在我这个例子中，是 “桌面音频”），并选择 “<ruby> 高级音频属性 <rt>  Advanced Audio Properties </rt></ruby>”：

![](/data/attachment/album/202309/07/155318zqi3f3isimiiswiq.png)

然后，对于 “浏览” 和 “桌面音频”，都选择 “<ruby> 监控和输出 <rt>  Monitor and Output </rt></ruby>”：

![](/data/attachment/album/202309/07/155319y0jz7tqilmi7f44t.png)

这样就可以了！现在你可以从你的手机上享受摄像头和麦克风的功能了。

#### 5、测试所有设置

为了测试这个设置，我在我们读书俱乐部的周会上用我的手机做为摄像头和麦克风，效果极佳。

![](/data/attachment/album/202309/07/155319meo06iihm11yhz10.png)

你可以看到，上图显示摄像头和麦克风都在正常工作，这真的让我笑容满面 ?。

视频质量会取决于你的网络带宽，所以在开始重要的会议前，确保你有稳定的网络连接。

### 结语

作为一个没有摄像头和麦克风的台式计算机用户，我必须依靠笔记本或手机来参加工作会议，这让我感到非常烦躁。

需要注意的是，每次重启机器后，你都需要重新配置虚拟线缆，但这并不费时，因为只需要执行两条命令即可。

我已经多次使用这种解决方案，每一次都顺利运行。我真的希望你也能得到同样的结果。

*（题图：MJ/223b56b7-ffcc-4311-bfa6-8a25bfd5ad11）*

---

via: <https://itsfoss.com/ubuntu-phone-camera-mic/>

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

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


硬核观察 #1117 12 家丰田工厂全部停工的原因是——磁盘满了

Summary:
? 12 家丰田工厂全部停工的原因是——磁盘满了
? 严重超支的甲骨文 ERP 系统压倒了伯明翰市政府
? 一家 3D AI 初创公司实际上是由人类手动建模
»
»

![](/data/attachment/album/202309/07/172916aoo0qyaibzb7iqqk.jpg)

![](/data/attachment/album/202309/07/172927ccctoctamgaotgst.jpg)

### 12 家丰田工厂全部停工的原因是——磁盘满了

上月底，由于不明原因的系统故障，日本丰田不得不停止其 12 家汽车装配厂的运营，造成每天大约 1.3 万辆汽车的产量损失。现在丰田公布了故障原因：磁盘满了。丰田在声明中称，8 月 27 日的例行维护工作是整理数据库中的数据并删除零散数据，但在完成任务之前存储空间已被填满，因此导致系统关闭。这直接影响了该公司的生产订购系统，从而无法计划和执行生产任务。并且，由于其主服务器和备份机器在同一个系统上运行。因此，两个系统都面临同样的故障，无法进行切换。两天后，丰田的工程师们准备了更大容量的服务器解决了该故障，恢复了生产。

>
> **[消息来源：Bleeping Computer](https://www.bleepingcomputer.com/news/security/toyota-says-filled-disk-storage-halted-japan-based-factories/)**
>
>
>

>
> 老王点评：磁盘满这件事不只是办公室文员会遇到，就连大型生产系统都会遇到。
>
>
>

![](/data/attachment/album/202309/07/172939yg0kk0cdq3krfcqm.jpg)

### 严重超支的甲骨文 ERP 系统压倒了伯明翰市政府

欧洲最大的地方政府伯明翰市政府宣布破产，其主要原因是这个产值达 43 亿美元的政府机构无法平衡账本，同时又需要支付高达 9.54 亿美元的同工同酬补贴。该市议会在声明中表示，其实施的甲骨文项目也是陷入困境的原因之一。自 2018 年以来，该市一直在努力实施一个 IT 项目，以替换 SAP 作为核心的人力资源和财务功能。但在该项目遭受了延迟、超支和控制不足的问题后，项目成本从 2000 万英镑激增到约 1 亿英镑。2021 年，甲骨文曾表示，伯明翰市议会是将大型 SAP ERP 客户迁移到 Oracle Fusion 的多个成功案例之一。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/05/birmingham_city_council_oracle/)**
>
>
>

>
> 老王点评：原本寄希望于好的 IT 系统能提升效率和收益，但是却倒在了实施的过程中。似乎经常听说因为实施 ERP 而走下坡路甚至倒闭的企业，这真是一个无底洞啊。
>
>
>

![](/data/attachment/album/202309/07/172956jsvdzarf1r3n7rfv.jpg)

### 一家 3D AI 初创公司实际上是由人类手动建模

3D 建模是一项耗时的工作，一家 AI 公司承诺利用机器学习将客户的二维插图转换成三维模型。实际上，这家名为 Kaedim 的公司使用人类艺术家进行 “质量控制”。据知情人士透露，Kaedim 曾一度使用人类艺术家制作模型。其中一位消息人士说，有一次，工人们在完全没有机器学习帮助的情况下，自己制作了 3D 设计全图。此事曝光之后，该公司对其网站进行了改版，更清楚地表明人类参与了公司 3D 图像的制作，因为他们的“人工智能制作的图像质量很低”，需要人工进行“质量控制”。

>
> **[消息来源：404media](https://www.404media.co/kaedim-ai-startup-2d-to-3d-used-cheap-human-labor/)**
>
>
>

>
> 老王点评：真·“人工”智能！?
>
>
>


通过这个简单的游戏学习 Tcl/Tk 和 Wish

Summary: 以下是一个简单的编程项目，能够帮助你开始学习 Tcl/Tk。

以下是一个简单的编程项目，能够帮助你开始学习 Tcl/Tk。

![](/data/attachment/album/202309/07/231710i7u72ttuzlt4thhr.jpg)

>
> 以下是一个简单的编程项目，能够帮助你开始学习 Tcl/Tk。
>
>
>

探索 Tcl/Tk 的基础构造，包括用户输入、输出、变量、条件评估、简单函数和基础事件驱动编程。

我写这篇文章的初衷源于我想更深入地利用基于 Tcl 的 Expect。这让我写下了以下两篇文章：[通过编写一个简单的游戏学习 Tcl](https://opensource.com/article/23/2/learn-tcl-writing-simple-game) 和 [通过编写一个简单的游戏学习 Expect](https://opensource.com/article/23/2/learn-expect-automate-simple-game)。

我进行了一些 [Ansible](https://www.redhat.com/en/technologies/management/ansible/what-is-ansible?intcmp=7013a000002qLH8AAM) 自动化工作，逐渐积累了一些本地脚本。有些脚本我频繁使用，以至于以下循环操作变得有些烦人：

* 打开终端
* 使用 `cd` 命令跳转至合适的目录
* 输入一条带有若干选项的长命令启动所需的自动化流程

我日常使用的是 macOS。实际上我更希望有一个菜单项或者一个图标，能够弹出一个简单的界面接受参数并执行我需要的操作，[这就像在 Linux 的 KDE 中一样](https://opensource.com/article/23/2/linux-kde-desktop-ansible)。

经典的 Tcl 类书籍都包含了关于流行的 Tk 扩展的文档。既然我已经深入研究了这个主题，我尝试着对其（即 `wish`）进行编程。

虽然我并非一名 GUI 或者前端开发者，但我发现 Tcl/Tk 脚本编写的方式相当直接易懂。我很高兴能重新审视这个 UNIX 历史的古老且稳定的部分，这种技术在现代平台上依然有用且可用。

### 安装 Tcl/Tk

对于 Linux 系统，你可以按照下面的方式安装：

```
$ sudo dnf install tcl
$ which wish
/bin/wish

```

而在 macOS 上，你可以通过 [Homebrew](https://opensource.com/article/20/6/homebrew-mac) 来安装最新版的 Tcl/Tk：

```
$ brew install tcl-tk
$ which wish
/usr/local/bin/wish

```

### 编程理念

许多编写游戏的教程都会介绍到典型的编程语言结构，如循环、条件判断、变量、函数和过程等等。

在此篇文章中，我想要介绍的是 [事件驱动编程](https://developers.redhat.com/topics/event-driven/all?intcmp=7013a000002qLH8AAM)。当你的程序使用事件驱动编程，它会进入一个特殊的内置循环，等待特定的事件发生。当这个特定的事件发生时，相应的代码就会被触发，产生预期的结果。

这些事件可以包括键盘输入、鼠标移动、点击按钮、定时器触发，甚至是任何你的电脑硬件能够识别的事件（可能来自特殊的设备）。你的程序中的代码决定了用户看到了什么，以及程序需要监听什么输入，当这些输入被接收后程序会怎么做，然后进入事件循环等待输入。

这篇文章的理念并没有脱离我之前的 Tcl 文章太远。这里最大的不同在于用 GUI 设置和用于处理用户输入的事件循环替代了循环结构。其他的不同则是 GUI 开发需要采取的各种方式来制作一个可用的用户界面。在采用 Tk GUI 开发的时候，你需要了解两个基础的概念：<ruby> 部件 <rt>  widget </rt></ruby>和<ruby> 几何管理器 <rt>  geometry manager </rt></ruby>。

部件是构成可视化元素的 UI 元素，通过这些元素用户可以与程序进行交互。这其中包括了按钮、文本区域、标签和文本输入框。部件还包括了一些选项选择，如菜单、复选框、单选按钮等。最后，部件也包括了其他的可视化元素，如边框和线性分隔符。

几何管理器在放置部件在显示窗口中的位置上扮演着至关重要的角色。有一些不同的几何管理器可以供你使用。在这篇文章中，我主要使用了 `grid` 几何来让部件在整齐的行中进行布局。我会在这篇文章的结尾地方解释一些几何管理器的不同之处。

### 用 wish 进行猜数字游戏

这个示例游戏代码与我其他文章中的示例有所不同，我将它分解为若干部分以方便解释。

首先创建一个基本的可执行脚本 `numgame.wish` ：

```
$ touch numgame.wish
$ chmod 755 numgame.wish

```

使用你喜欢的文本编辑器打开此文件，输入下列代码的第一部分：

```
#!/usr/bin/env wish
set LOW 1
set HIGH 100
set STATUS ""
set GUESS ""
set num [expr round(rand()*100)]

```

第一行定义了该脚本将通过 `wish` 执行。接下来，创建了几个全局变量。这里我使用全部大写字母定义全局变量，这些变量将绑定到跟踪这些值的窗口小部件（`LOW`、`HIGH`等等）。

全局变量 `num` 是游戏玩家要猜测的随机数值，这个值是通过 Tcl 的命令执行得到并保存到变量中的：

```
proc Validate {var} {
    if { [string is integer $var] } {
        return 1
    }
    return 0
}

```

这是一个验证用户输入的特殊函数，它只接受整数并拒绝其他所有类型的输入：

```
proc check_guess {guess num} {
    global STATUS LOW HIGH GUESS

    if { $guess < $LOW } {
        set STATUS "What?"
    } elseif { $guess > $HIGH } {
        set STATUS "Huh?"
    } elseif { $guess < $num } {
        set STATUS "Too low!"
        set LOW $guess
    } elseif { $guess > $num } {
        set STATUS "Too high!"
        set HIGH $guess
    } else {
        set LOW $guess
        set HIGH $guess
        set STATUS "That's Right!"
        destroy .guess .entry
        bind all <Return> {.quit invoke}
    }

    set GUESS ""
}

```

这是主要的猜数逻辑循环。`global` 语句让我们能够修改在文件开头创建的全局变量（关于此主题后面将会有更多解释）。这个条件判断寻找入力范围在 1 至 100 之外以及已经被用户猜过的值。有效的猜测和随机值进行比较。`LOW` 和 `HIGH` 的猜测会被追踪，作为 UI 中的全局变量进行报告。在每一步，全局 `STATUS` 变量都会被更新，这个状态信息会自动在 UI 中显示。

对于正确的猜测，`destroy` 语句会移除 “Guess” 按钮以及输入窗口，并重新绑定回车键，以激活 “Quit” 按钮。

最后的语句 `set GUESS ""` 用于在下一个猜测之前清空输入窗口。

```
label .inst -text "Enter a number between: "
label .low -textvariable LOW
label .dash -text "-"
label .high -textvariable HIGH
label .status -text "Status:"
label .result -textvariable STATUS
button .guess -text "Guess" -command { check_guess $GUESS $num }
entry .entry -width 3 -relief sunken -bd 2 -textvariable GUESS -validate all \
    -validatecommand { Validate %P }
focus .entry
button .quit -text "Quit" -command { exit }
bind all <Return> {.guess invoke}

```

这是设置用户界面的部分。前六个标签语句在你的 UI 上创建了不同的文本展示元素，`-textvariable` 选项监控给定的变量，并自动更新标签的值，这展示了全局变量 `LOW`、`HIGH`、`STATUS` 的绑定。

`button` 行创建了 “Guess” 和 “Quit” 按钮， `-command` 选项设定了当按钮被按下时要执行的操作。按下 “Guess” 按钮执行了上面的 `check_guess` 函数以检查用户输入的值。

`entry` 部件更有趣。它创建了一个三字符宽的输入框，并将输入绑定到 `GUESS` 全局变量。它还通过 `-validatecommand` 选项设置了验证，阻止输入部件接收除数字以外的任何内容。

`focus` 命令是用户界面的一项改进，使程序启动时输入部件处于激活状态。没有此命令，你需要先点击输入部件才可以输入。

`bind` 命令允许你在按下回车键时自动点击 “Guess” 按钮。如果你记得 `check_guess` 中的内容，猜测正确之后会重新绑定回车键到 “Quit” 按钮。

最后，这部分设定了图形用户界面的布局：

```
grid .inst
grid .low .dash .high
grid .status .result
grid .guess .entry
grid .quit

```

`grid` 几何管理器被逐步调用，以逐渐构建出预期的用户体验。它主要设置了五行部件。前三行是显示不同值的标签，第四行是 “Guess” 按钮和 `entry` 部件，最后是 “Quit” 按钮。

程序到此已经初始化完毕，`wish` shell 进入事件循环，等待用户输入整数并按下按钮。基于其在被监视的全局变量中找到的变化，它会更新标签。

注意，输入光标开始就在输入框中，而且按下回车键将调用适当且可用的按钮。

这只是一个初级的例子，Tcl/Tk 有许多可以让间隔、字体、颜色和其他用户界面方面更具有吸引力的选项，这超出了本文中简单 UI 的示例。

运行这个应用，你可能会注意到这些部件看起来并不很精致或现代。这是因为我正在使用原始的经典部件集，它们让人回忆起 X Windows Motif 的时代。不过，还有一些默认的部件扩展，被称为主题部件，它们可以让你的应用程序有更现代、更精致的外观和感觉。

### 启动游戏！

保存文件之后，在终端中运行它：

```
$ ./numgame.wish

```

在这种情况下，我无法给出控制台的输出，因此这里有一个动画 GIF 来展示如何玩这个游戏：

![用 Wish 编写的猜数游戏](/data/attachment/album/202309/07/231746wrkksrz89c5kxxbg.gif)

### 进一步了解 Tcl

Tcl 支持命名空间的概念，所以在这里使用的变量并不必须是全局的。你可以把绑定的部件变量组织进不同的命名空间。对于像这样的简单程序，可能并不太需要这么做。但对于更大规模的项目，你可能会考虑这种方法。

`proc check_guess` 函数体内有一行 `global` 代码我之前没有解释。在 Tcl 中，所有变量都按值传递，函数体内引用的变量的范围是局部的。在这个情况下，我希望修改的是全局变量，而不是局部范围的版本。Tcl 提供了许多方法来引用变量，在执行堆栈的更高级别执行代码。在一些情况下，像这样的简单引用可能带来一些复杂性和错误，但是调用堆栈的操作非常有力，允许 Tcl 实现那些在其他语言中实现起来可能较为复杂的新的条件和循环结构。

最后，在这篇文章中，我没有提到几何管理器，它们用于以特定的顺序展示部件。只有被某种几何管理器管理的部件才能显示在屏幕上。grid 管理器相当简洁，它按照从左到右的方式放置部件。我使用了五个 grid 定义来创建了五行。另外还有两个几何管理器：place 和 pack。pack 管理器将部件围绕窗口边缘排列，而 place 管理器允许固定部件的位置。除这些几何管理器外，还有一些特殊的部件，如 `canvas` ，`text` 和 `panedwindow`，它们可以容纳并管理其他部件。你可以在经典的 Tcl/Tk 参考指南，以及 [Tk 命令](https://tcl.tk/man/tcl8.7/TkCmd/index.html) 文档页上找到这些部件的全面描述。

### 继续学习编程

Tcl 和 Tk 提供了一个简单有效的方法来构建图形用户界面和事件驱动应用程序。这个简单的猜数游戏只是你能用这些工具做到的事情的起点。通过继续学习和探索 Tcl 和 Tk，你可以打开构建强大且用户友好的应用程序的无数可能性。继续尝试，继续学习，看看你新习得的 Tcl 和 Tk 技能能带你到哪里。

*（题图：MJ/40621c50-6577-4033-9f3c-8013bd0286f1）*

---

via: <https://opensource.com/article/23/4/learn-tcltk-wish-simple-game>

作者：[James Farrell](https://opensource.com/users/jamesf) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


Arch Linux 下全面使用 Wayland 的配置指南

![](/data/attachment/album/202309/08/090159qe0jkbtj5z55bbeq.jpg)

>
> 我们能否在 Arch Linux 中通过主流的桌面环境或窗口管理器来全面运行 Wayland？一起来探索答案。
>
>
>

Wayland 是一种针对 Linux 运行图形应用的高效、现代化的协议。相较之下，它在安全、稳定和图形性能方面相较老旧的 [X.Org](http://X.Org) 显示服务器表现更出色。

尽管 [X.Org](http://X.Org) 多年来一直是默认的显示服务器，但其年代漫长且复杂度高，导致了许多问题，包括安全漏洞和对新型硬件的兼容性问题。而 Wayland 提供了一个更简洁和安全的显示协议，用以解决这些问题。

虽然向 Wayland 转型已经有近十年的时间，但这是可以理解的。大型 Linux 发行版，例如 Ubuntu 和 Fedora，自 2021 年起就默认使用 Wayland，因为该协议现已逐渐稳定。

然而，对 Arch Linux 用户来说，使用 Wayland 进行自定义安装可能会比较复杂。在所有主流桌面环境中，只有 KDE Plasma 和 GNOME 有最新的 Wayland 支持。Xfce、LXQt 及其他桌面环境正在开发支持 Wayland 的功能，但现在还没有做好准备。

在窗口管理器方面，Sway 在 Arch Linux 中已经全面支持 Wayland。尽管如此，我还是希望能测试 Wayland 在 Arch 中的表现，并给你提供一个截至今日的状态报告。

让我们来尝试在 Arch Linux 中配置 KDE Plasma 和 GNOME 以全面支持 Wayland。

### Arch Linux 中的 Wayland 设置

在理想的情况下，你应已经安装了 [基础的 wayland 包](https://archlinux.org/packages/extra/x86_64/wayland/)。打开一个终端，并通过运行下列命令进行核实：

```
pacman -Qi wayland

```

如果你尚未安装，则可以使用以下命令进行安装：

```
sudo pacman -S --needed wayland

```

#### KDE Plasma 桌面环境

接下来的步骤设定的前提条件是你拥有一个没有安装任何桌面环境或窗口管理器的裸机 Arch Linux 环境。你可以通过使用 [高效的 archinstall 脚本](https://www.debugpoint.com/archinstall-guide/) 进行 Arch Linux 的裸机安装。

在 Arch Linux 中，为了设置标准的 KDE Plasma，我们需要对 Wayland 进行一些调整。因此，该过程中需要从 AUR 安装一些包进来，这就要求你已经 [设置了 Yay](https://www.debugpoint.com/install-yay-arch/) 或者其他的 AUR 辅助工具。

首先，利用以下命令从 AUR 安装一个定制的 sddm 显示管理器 Wayland 软件包。请注意，这个 `sddm` 包与 Arch Extra 仓库中的 `sddm` 包并不相同。根据 [ArchWiki](https://wiki.archlinux.org/title/wayland#Display_managers) 的指南，只有 GDM 和 `sddm-git` 在 Arch Linux 中提供了完善的 Wayland 支持。

```
yay -S sddm-git

```

安装完成后，执行下述命令来安装更多 Wayland 包。

* `xorg-xwayland`：使得 xclients 能在 Wayland 下运行
* `xorg-xlsclients`：列出正在一个显示端口上运行的客户端应用（可选）
* `qt5-wayland`：为 Wayland 提供的 Qt API
* `glfw-wayland`：供 Wayland 使用的 GUI 应用开发包

```
pacman -S --needed xorg-xwayland xorg-xlsclients qt5-wayland glfw-wayland

```

然后，执行以下命令以安装 Plasma 和与 Wayland 会话关联的应用。请保持以下的安装顺序。

```
pacman -S --needed plasma kde-applications

```

```
pacman -S --needed plasma-wayland-session

```

**注意**：如果你是英伟达用户，你可能需要考虑安装 `egl-wayland` 包，但需要说明的是，我没有尝试过此操作。

我们现在来安装 Firefox 和 Chromium，这样能够帮助我们测试 Wayland 是否正常运行。

```
pacman -S --needed firefox chromium

```

安装完成后，启动 sddm 显示管理器和 NetworkManager 服务。

```
sudo systemctl enable sddm
sudo systemctl enable NetworkManager

```

另外，sddm 显示管理器需要做一些额外设置。使用你喜欢的文本编辑器，打开 sddm 的配置文件，然后在 `[Theme]` 下面添加 `Current=breeze`。

```
sudo nano /usr/lib/sddm/sddm.conf.d/default.conf

```

```
[Theme]
# current theme name
Current=breeze

```

设置完成后，保存并关闭文件，然后进行重启。

```
reboot

```

重启后，在登录屏幕上，你应该可以看到 Wayland 的选项。选择并登录 KDE Plasma 的 Wayland 会话。

![Plasma Wayland 会话登录界面](/data/attachment/album/202309/08/090345nazzxq56qcah8u67.jpg)

你还能通过查看 `$XDG_SESSION_TYPE` 变量来 [核实你是否在运行 Wayland](https://www.debugpoint.com/check-wayland-or-xorg/)。

![Arch Linux 中运行的 KDE Plasma 与 Wayland](/data/attachment/album/202309/08/090356zab87wbkz8kzkcx4.jpg)

如果你希望强制让 Firefox 以 Wayland 运行，那么就在 `/etc/environment` 中添加以下行。

```
MOZ_ENABLE_WAYLAND=1

```

然后重新启动或执行下方的命令使其生效。

```
source /etc/environment

```

打开 Firefox，进入 `about:support` 页面来校验 “Window protocol” 的值。你也可以通过在终端中运行 `xlsclients` 来查看哪些外部应用正在运行在 Wayland 下。

![在 Arch 和 KDE Plasma 下 Firefox 使用的是 xwayland](/data/attachment/album/202309/08/090405l3vbbcdb2dddd10j.jpg)

至此，你已经完成了在 Arch Linux 中使用 Wayland 安装配置 KDE Plasma 的全部步骤。

#### Wayland KDE Plasma 在 Arch 中的性能表现

总体而言，Arch Linux 下的 KDE Plasma 配合 Wayland 运行得相当顺畅，未出现任何中断使用或重大问题的情形。截图和屏幕录制应用 Spectacle 功能一切正常。尽管如此，我在测试过程中还是注意到了几个小问题。

首先，在开启如 Dolphin 这类应用程序时，底部面板时不时会出现闪烁，这主要是在 VirtualBox 会话中观察到的。

其次，鼠标指针的变化行为有点奇怪。它无法适時地从指针状态切换到操作手柄状态（详见下图）。

![](/data/attachment/album/202309/08/090215gnfvaenqpesznvrq.gif)

最后，当从待机/屏幕关闭状态恢复在线时（在没有安装客户机插件的 VirtualBox 中），KWin 会崩溃。虽然这可能只是虚拟机特有的现象，但仍然需要进行硬重启才能返回到桌面。

在 Arch Linux 的 Wayland 会话闲置状态下，内存消耗大约为 2GB。

### GNOME

在 Arch Linux 中，GDM 显示管理器已经完全支持 Wayland。首先，我们通过下列命令安装 GDM：

```
pacman -S --needed gdm

```

安装完毕后，使用以下命令安装几个 Wayland 需要的包。

* `xorg-xwayland`：使得 xclients 能在 Wayland 下运行
* `xorg-xlsclients`：用于列出在显示器上运行的应用程序（可选）
* `glfw-wayland`：Wayland 的图形用户界面应用开发包

```
pacman -S --needed xorg-xwayland xorg-xlsclients glfw-wayland

```

接下来，你可以用下面的一系列命令来安装 GNOME 和一些与 Wayland 会话相关的应用。请确保按照下列给出的顺序来执行这些命令。

```
sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme

```

**注意**：如果你正在使用英伟达，你可能需要安装 `egl-wayland` 软件包，但我并未亲自试过此方法。

接下来，我们还要安装 Firefox 和 Chromium，这样你就能测试 Wayland 是否在 GNOME 中正常运行。

```
pacman -S --needed firefox chromium

```

一旦这项任务完成，就启动 GDM 显示管理器和 NetworkManager 服务。

```
sudo systemctl enable gdm
sudo systemctl enable NetworkManager

```

保存并关闭文件之后，进行重启。

```
reboot

```

在登录界面，你能看到 “GNOME (Wayland)” 选项。选择并登录到 GNOME 的 Wayland 会话中，以进入 Arch Linux。

![在 Arch Linux 中运行的带有 Wayland 的 GNOME](/data/attachment/album/202309/08/090416jdnkwnvfuks16n4c.jpg)

#### GNOME 的性能

如果将 GNOME 和 KDE Plasma 进行对比，你会发现 GNOME 在 Arch Linux 的 Wayland 下的表现更胜一筹。没有遇到重大问题或应用屏幕闪烁。这可能源于 GNOME 44 针对 Wayland 的最新改进已普及至 Arch Linux。

此外，Firefox 是在 GNOME 上直接在 Wayland 上运行，而不是使用 xwayland 包装器。

![在 GNOME 中的 Firefox 使用 Wayland](/data/attachment/album/202309/08/090422mnmyi9yiomigyr90.jpg)

### 解决常见 Wayland 问题

虽然 Wayland 提供了众多优点，但在使用过程中你可能会遇到一些挑战。以下列出了几个常见的问题以及可能的解决方案：

* **处理不兼容的应用程序**：部分较旧或不常用的应用可能还未完全支持 Wayland。你可以考虑寻找专为 Wayland 设计的替代应用，或利用 XWayland 作为兼容性层。
* **解决性能相关问题**：如果你在特定的应用程序中遇到性能问题，确保你已经安装了最新的图形驱动。另外，也可以查看是否有特定的合成器设置或适用于特定应用程序的优化措施。
* 在 [这个页面](https://wiki.archlinux.org/title/wayland#Troubleshooting) 中，也有**更多**疑难解答的建议。

### 结论

在 Arch Linux 中将 Wayland 设置为默认的显示服务器可以大大提升安全性、稳定性和图形性能。遵循本指南的安装和配置步骤，你能够从 Xorg 平稳过渡到 Wayland，享受一个更为现代高效的显示体验。

然而，对于 Arch Linux 加 Wayland 的组合来说，整个过程可能会显得稍微复杂一些，因为许多问题崩溃时都需要额外的注意。

这个指南并没包括在 Arch 使用 Wayland 游戏的测试，所以你可能需要在配置完成后自行试验。我希望这篇教程能帮助你在 Arch Linux 中配置 Wayland。

如果你有任何进展，欢迎在下面的评论框中告诉我。

*（题图：MJ/188e0c86-ed52-4185-b583-23814fb72ce7）*

---

via: <https://www.debugpoint.com/wayland-arch-linux/>

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

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


硬核观察 #1118 微软称将保护客户免受 AI 版权诉讼

Summary:
? 微软称将保护客户免受 AI 版权诉讼
? Bcachefs 合并再生波折
? Ubuntu 新增 TPM 支持的全磁盘加密功能
»
»

Snap版本的firefox运行一段后，经常报错，崩溃，最终放弃改用chrome的deb版本

虽然snap现在有各种问题，但都是可以解决的，希望ubuntu继续强力推广snap，不然linux打包格式永远不能统一。snap可以打包依赖，在不同的发行版都能正常运行，如果snap在各个linux发行版得到了普遍应用，用户层面都用snap，开发者都开发snap应用，此时linux发行版的区别在哪呢？

我们有flatpak，不需要再有另一个打包格式了，格式越多越难统一

来自广东广州的 Chrome Mobile 116.0|Android 10 用户

还有appimage，deepin也出了一个linglong，太多了，需要统一，谁统一都行，但是目前只有ubuntu想要推动这件事，这种需要人力和物力的事单靠开源社区用爱发电根本做不到。比如：linux内核能发展至今，除了linus等人的领导，背后的资本才是关键的力量。

Canonical最近的负面新闻太多，商业公司一般不会尊重用户的隐私。如果非要从商业公司里面选，Red Hat和SUSE相对好一些，不过RHEL的争议也很大。

至少有两点问题：

- Snap 商店不开源，只有 Canonical 自己的一个

- 在中国没镜像，太慢

SUSE 最近要私有化了，不知道下一步会怎么样。

![](/data/attachment/album/202309/08/160442jqu3id77d1b6wked.jpg)

![](/data/attachment/album/202309/08/160452g3dw090d93kktdpt.jpg)

### 微软称将保护客户免受 AI 版权诉讼

微软公司的法律事务总顾问表示，只要客户使用了他们在产品中内置的防护栏和内容过滤器，《微软 Copilot 版权承诺》将为客户提供保护。微软还承诺支付相关罚款或和解金，并表示已采取措施确保其 Copilot 尊重版权。他说，“我们向商业客户收取 Copilot 的费用，如果他们的使用产生了法律问题，我们应该把这个问题变成我们自己的问题，而不是客户的问题。”

>
> **[消息来源：彭博社](https://www.bloomberg.com/news/articles/2023-09-07/microsoft-says-it-will-protect-customers-from-ai-copyright-lawsuits)**
>
>
>

>
> 老王点评：这是应有之义，为客户使用 AI 提供了信心。
>
>
>

![](/data/attachment/album/202309/08/160502fsi5wbmxmus5u515.jpg)

### Bcachefs 合并再生波折

在冲击 Linux 6.5 失败后，Bcachefs 再次向 Linux 6.6 发起了合并请求。但 Linus Torvalds 突然发现，不但 Bcachefs 的拉取请求没有使用带有 PGP 密钥和信任链的签名 Git 标签，更严重的是，它没有先进入 linux-next 树。这个事情让 Linus 感到烦恼，并警告 Bcachefs 不要“无视所有基本规则”，“如果你真的想把它合并到上游，就必须与上游合作。” Linus 说，“这一点不容讨价还价”，否则就“继续在主内核树之外做十年的开发工作吧”。并且，Linus 还发现 Bcachefs 会出现编译器错误，这本来应该通过 linux-next 的审核更容易地发现。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linus-Comments-Bcachefs-6.6)**
>
>
>

>
> 老王点评：Linus 本来是乐于看到 Bcachefs 进入内核的，但是现在看起来“不守规矩”的 Bcachefs 很难在这个窗口进入 Linux 6.6 了。
>
>
>

![](/data/attachment/album/202309/08/160515pg63g5gu2rxwu7gt.jpg)

### Ubuntu 新增 TPM 支持的全磁盘加密功能

尽管没有集成可信平台模块（TPM），Ubuntu 多年来一直提供全磁盘加密支持。下个月发布的 Ubuntu 23.10 将实验性地引入对基于 TPM 的全磁盘加密的初步支持。但这个实验性的功能依赖于备受争议的 Snap 打包格式，引导加载器和内核将作为 Snap 包交付，而不是作为 Debian 包交付。并且，Ubuntu 还将使用统一内核镜像（UKI），将内核和 initramfs 封装在一个 PE 二进制文件中。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Ubuntu-23.10-TPM-FDE)**
>
>
>

>
> 老王点评：我既不喜欢 TPM，也不喜欢 Snap，更不喜欢统一内核镜像。真是难得集齐了。
>
>
>


Linux Lite 6.6 发布：更新了欢迎应用和图标主题

Summary: Linux Lite 6.6 可能没有大的变化，但看起来它专注于有用的部分。

Linux Lite 6.6 可能没有大的变化，但看起来它专注于有用的部分。

![](/data/attachment/album/202309/09/090932p3fp3fpzp7qcdoif.png)

>
> Linux Lite 6.6 可能没有大的变化，但看起来它专注于有用的部分。
>
>
>

Linux Lite 是 [最好的轻量级 Linux 发行版](https://itsfoss.com/lightweight-linux-beginners/) 之一，提供 [类似 Windows](https://itsfoss.com/windows-like-linux-distributions/) 的体验。

我们上次了解它是在今年早些时候，当时 [Linux Lite 6.4](https://news.itsfoss.com/linux-lite-6-4-released/) 添加了一些重大更改。现在，他们又发布了一个小版本，承诺进行大量改进。

### ? Linux Lite 6.6：有什么新变化？

![](/data/attachment/album/202309/09/090933n29hkvzw5g94z2zh.png)

该版本被称为 2012 年以来最大的 Linux Lite 版本之一，增加了数千行新代码。Linux Lite 6.6 由可靠的 [Linux 内核 5.15](https://news.itsfoss.com/linux-kernel-5-15-release/) 提供支持，是一个适度的更新。

一些亮点包括：

* **改进了 Lite 欢迎应用**
* **免费 AI 聊天机器人**
* **支持新语言**

### 改进的 Lite Welcome

![](/data/attachment/album/202309/09/090934tzmtgsqtmx5gs0x3.png)

“Lite Welcome” 应用已更新，当未安装 Linux Lite 时，在立付会话中显示 “<ruby> 立即安装 <rt>  Install Now </rt></ruby>” 按钮。现在它将检查它是否在立付环境中运行并相应地显示按钮。

这将是直接将 Linux Lite 安装到系统上的便捷方法。此次更新还为欢迎应用添加了另一个选项。下面有更多内容。

### Free A.I. Chatbot

![](/data/attachment/album/202309/09/090935w0zhkavg07y0m8yk.png)

欢迎应用程序中的一个新链接可直接前往 Linux Lite 的网络聊天机器人，名为 “Free A.I. Chatbot”。

用户可以使用它来获得与 Linux Lite 相关的支持。尽管我希望这是系统中内置的专用应用，但拥有它仍然很有趣。

你还可以使用网络浏览器直接 [访问](https://www.linuxliteos.com/chatai/) 它。

### 支持新语言

![](/data/attachment/album/202309/09/090936t292x8vjffj2f1w6.png)

这是上述代码行的主要部分，Linux Lite 6.6 中添加了对 **22 种语言**的支持。

我用“印地语”测试了它，效果很好。尽管某些选项仍然以英语显示，但很高兴看到它们**试图更具包容性**，提供更广泛的语言选项。

**提供这些语言的区域**包括主菜单、右键单击菜单、文件夹名称、Linux Lite 应用名称、桌面图标和“我的电脑”菜单名称。

### ? 其他更改和改进

其余的变化包括新壁纸和应用更新。其中一些是：

* Chrome 116
* VLC 3.0.16
* Gimp 2.10.30
* LibreOffice 7.5.6
* Thunderbird 102.15
* 新壁纸
* 包含最新的 Papirus 图标主题。
* 硬件数据库目前拥有超过 85,000 条提交内容。

有关这些变化的更详细的展望，请访问其 [公告](https://www.linuxliteos.com/forums/release-announcements/linux-lite-6-6-final-released/)。

### ? 下载 Linux Lite 6.6

你可以前往 [官方网站](https://www.linuxliteos.com/download.php) 获取此版本或单击下面的按钮。

>
> **[Linux Lite 6.6](https://www.linuxliteos.com/download.php)**
>
>
>

? 你对 Linux Lite 6.6 版本有何看法？

---

via: <https://news.itsfoss.com/linux-lite-6-6-release/>

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

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


Librum：为你打造在线图书馆的新兴开源电子书阅读器

Summary: Librum，这是一个全新的，配备云图书馆功能的电子书阅读器。

感觉qpdfview比较全面

来自223.104.246.180的 SeaMonkey 2.53|GNU/Linux 用户

Librum，这是一个全新的，配备云图书馆功能的电子书阅读器。

![](/data/attachment/album/202309/09/101349e7p0wko0b64pjs0o.jpg)

>
> Librum，这是一个全新的，配备云图书馆功能的电子书阅读器。
>
>
>

你是不是酷爱阅读？或者正在逐渐沦为书虫？

放心，我们为你准备了绝佳的解决方案！

Librum 阅读器，这是一个全新的电子阅读器产品，它打造的阅读环境 “能让每个人都发现阅读的乐趣，轻松愉快地阅读”。

尽管它并非你通常会使用的那种离线阅读器应用，但在 [Linux 最佳电子阅读器](https://itsfoss.com/best-ebook-readers-linux/) 的榜单上，很可能是候选之一。因为有了 Librum，你可以 **充分发挥云技术的优势**，任何时候，无论使用哪个设备，都能随时访问个人图书馆。

下面，就让我来为你详细介绍一下。

### Librum：概览 ⭐

![](/data/attachment/album/202309/09/101351m26u0i6y07djbj0u.png)

Librum 基本上是通过 **QML** 和 **C++** 构建的，这款 **开源的电子书阅读器** 允许你以直观的界面将内容同步到云端。

你可以免费开始使用，初次注册便有 **2GB 的云存储空间**。此外，一些尚未最终确定的高级套餐也即将推出。

>
> ? Librum 阅读器目前正在积极开发中，尚未发布稳定版。
>
>
>

Librum 还配有丰富的功能，其中一些突出之处包括：

* **图书馆的个性化定制**
* **书籍的元数据编辑**
* **云同步**
* **现代化的界面**

**推荐阅读** ?

>
> **[8 个 Linux 上的最佳电子书阅读器](https://itsfoss.com/best-ebook-readers-linux/)**
>
>
>

#### 初步体验 ??

我首次尝试在我的 [Ubuntu 22.04](https://news.itsfoss.com/ubuntu-22-04-release/) 系统上运行 Librum。但是，在我使用该应用之前，我 **必须先创建一个账户**，提供电子邮件地址和密码。

虽然 Librum 的主打功能是基于云的体验，但我 **还是希望它能有一个专门的离线模式**，可以让我在注册之前做一些试用，或者作为一种可选择的备用模式。

不过，我还是继续前进，并登录了这款应用。我使用 “<ruby> 添加书籍 <rt>  Add books </rt></ruby>” 功能导入了一些书籍，然后它们就在主页标签下被整齐地排列好，提供了对其排序、过滤或添加标签的选项。

![](/data/attachment/album/202309/09/101352zvv2y66vii3dnxkx.png)

**电子书的阅读体验** 几乎与你对现代阅读器应用的期待一致，拥有最简界面，还有放大文本、进入全屏模式等功能。

![](/data/attachment/album/202309/09/101352efvg0g1y23ogze0z.png)

**汉堡菜单的选项内含有一些基本功能**。最上面三个选项可以让你打印、保存或分享当前打开的电子书。

此外的选项还包括：**文本转语音功能**、**连续/垂直显示页面**、**反转颜色**、**同步书籍**，以及**访问设置菜单**。

![](/data/attachment/album/202309/09/101353q8g3b8vf83lgmfb8.png)

我也试用了一下 **搜索功能**：我可以快速地查找特定的词汇，并可以高亮显示所有结果、区分大小写或搜索整个单词。

![](/data/attachment/album/202309/09/101353xff6jnjqqo6mtfzv.png)

**目录功能** 也相当方便使用，你可以使用搜索栏查找特定章节。

![](/data/attachment/album/202309/09/101354o2zpbs60wd791q2w.png)

以上就是我使用 Librum 阅读器的电子书阅读体验。

但是等一下，这还没完，**还有更多的东西等着你去发现！**

#### 未来计划的功能 ?

![](/data/attachment/album/202309/09/101354uoj0ysus1o48ss4p.png)

我注意到还有很多功能正在开发中。

其中一个是 **一个在应用内部的免费书店**，**计划将提供超过 70,000 本的电子书籍**；另一个是 **统计页面**，将会显示 **个人的阅读统计信息**。

最后一个是 **插件页面**，应该是提供 **进一步增强 Librum 功能的插件**。

![](/data/attachment/album/202309/09/101355v39jzt3bnw96jinj.png)

预计在接下来的几个月内会发布稳定版本。

**开发者们还没有明确说明即将推出的付费计划具体会提供什么**。我个人猜测可能会提供更多的云存储空间和接入更多新奇的功能。

我推荐你关注他们的 [新闻页面](https://librumreader.com/news)，以便获取有关 Librum 阅读器的最新信息。

### ? 获取 Librum

目前，Librum **以 Flatpak 形式提供给 Linux 用户**，并且还在为 **Windows** 和 **macOS** 用户开发对应版本。

转到 [官方网站](https://librumreader.com/) 或 [Flathub 商店](https://flathub.org/apps/com.librumreader.librum) 就可以获取下载。

>
> **[Librum (Flathub)](https://flathub.org/apps/com.librumreader.librum)**
>
>
>

? 在 Linux 上，你最喜爱的电子书阅读器应用是哪个？在下方的评论框里留言分享你的观点吧。

*（题图：MJ/9b52d578-ae83-4401-ae57-eb342d8bcfd6）*

---

via: <https://news.itsfoss.com/librum-reader/>

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

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


硬核观察 #1119 无人注意，新安装的 Ubuntu 23.04 不支持安装 32 位应用

Summary:
? 无人注意，新安装的 Ubuntu 23.04 不支持安装 32 位应用
? 研究称 Linux 市场规模每年增长约 20%
? 安卓 14 仍不能正确计算存储空间利用率
»
»

![](/data/attachment/album/202309/09/131649ok22hkka525a5am2.jpg)

![](/data/attachment/album/202309/09/131702zbbm9ad5u4f4sqd5.jpg)

### 无人注意，新安装的 Ubuntu 23.04 不支持安装 32 位应用

有用户报告，在新安装的 Ubuntu 23.04 上从 Ubuntu 仓库安装的 Steam 客户端是不工作的。在 Ubuntu 23.04 中使用了基于 Flutter 的新安装程序，它在后台使用了 Subiquity，默认情况下并不支持 32 位库。结果就是，尽管 Ubuntu 23.04 用户可以运行 apt 命令或点击软件中心的安装按钮来安装，但由于 Steam 所依赖的 32 位库无法被调入，因此，对大多数用户来说 Steam 无法正常运行。问题是，4 月份发布的 Ubuntu 23.04 现在才被发现这个问题。原因可能是，一方面大部分用户是从之前版本升级而来，带有 32 位库支持，也有很多人是直接从 Valve 下载了带有 32 位支持的 Linux 版 Steam；另外一方面，短期版的 Ubuntu 用户可能真不多。

>
> **[消息来源：Omg Ubuntu](https://www.omgubuntu.co.uk/2023/08/ubuntu-23-04-broke-32-bit-support)**
>
>
>

>
> 老王点评：Ubuntu 开发人员不可能也不应该发现所有问题，但是 Linux 桌面的用户群体，可能真的很少。
>
>
>

![](/data/attachment/album/202309/09/131716lur7q2z81y32rd88.jpg)

### 研究称 Linux 市场规模每年增长约 20%

根据一家研究机构的报告，2022 年，全球 Linux 操作系统市场规模为 62 亿美元，预计在预测期内将以 18.94% 的年复合增长率增长，到 2028 年将达到 170 亿美元。

>
> **[消息来源：Benzinga](https://www.benzinga.com/pressreleases/23/09/34345827/2023-linux-operating-system-market-is-booming-worldwide-industry-research-report)**
>
>
>

>
> 老王点评：结合上一条，Linux 整体的市场发展是很好，但 Linux 桌面可能会是一直的短板。
>
>
>

![](/data/attachment/album/202309/09/131733rvn1o6k69kkai2zt.jpg)

### 安卓 14 仍不能正确计算存储空间利用率

我们通常依靠安卓的存储利用率工具来查找占用存储空间的应用程序和文件，以便在需要时卸载或删除它们。然而有专家发现，谷歌对安卓系统组件占用空间的计算存在缺陷。安卓将系统存储空间计算为除了音频、视频、图片、文档、垃圾和游戏等之外的其他类别所占的空间。也就是说，安卓“系统”不仅仅包括安卓系统文件。

>
> **[消息来源：Android Police](https://www.androidpolice.com/android-14-device-storage-utilization-miscalculation/)**
>
>
>

>
> 老王点评：只能说安卓开发人员偷懒了，他们认为就不应该有“偷偷”以其它未分类类别出现的文件。
>
>
>

### 回音

* 在 Linus Torvalds 提出 [批评](/article-16172-1.html) 后，Bcachefs 首席开发者继续 [表达](https://www.phoronix.com/news/Bcachefs-Delayed-Linux-6.6) 了他对 Linux 内核上游进程和开发者互动的不满，表示要休息一段时间。显然，Bcachefs 不会在 Linux 6.6 合并窗口关闭的最后一分钟提交新的拉取请求了。


在基于 Arm 的 Thinkpad X13S 笔记本上运行 Linux

![](/data/attachment/album/202309/10/094539zbhccmbzcndjdn7c.jpg)

>
> Armbian 23.08 版本已出炉，初步开始为这款轻薄的 Snapdragon 笔记本提供支持。
>
>
>

最新发布的 Armbian 有助于解决在 Arm 计算机上安装并运行 Linux 发行版的困难 —— 这是一项不小的挑战。

今年 3 月我们 [评测](https://www.theregister.com/2023/03/21/lenovo_thinkpad_x13s_the_stealth/) 的联想 Thinkpad X13S 第一代，是我们评估的首款主流 Arm 驱动笔记本电脑。当然，市面上确实还有其他的 Arm 笔记本，如 Pine64 的 [Pinebook Pro](https://www.theregister.com/2022/08/02/pinebook_pro_finally_starts_shipping/) 和多款基于 Arm 的 ChromeBook 等。然而，X13S 更接近常规的基于 x86 的笔记本电脑：具备优质的配置，配有 16GB 内存和 256GB 的 NVMe SSD，更重要的是，它搭载了 PC 行业标准的 UEFI 固件，这在消费级 Arm 计算机上尚属罕见。另一个好消息是，你可以禁用安全启动，这是许多 Arm 设备不支持的。十年前，这是最初的微软 Surface RT 的一个 [关键问题](https://www.theregister.com/2013/11/14/microsoft_surface_rt_stockpile/)：Windows RT 一团糟，而它的固件不让你运行其他的系统。

虽然 X13S 从 2022 年 5 月就开始发售，但要让这个机器支持运行 Linux，却花费了一段不短的时间。一篇 [博客文章](https://openwebcraft.com/linux-on-thinkpad-x13s-gen-1/) 列出一些相关问题，文章副标题 “拥抱苦难” 已经透露出难度之大。这篇文章链接了一篇有关如何在该机器上安装 Debian 的 [很老的指南](https://docs.google.com/document/d/1WuxE-42ZeOkKAft5FuUk6C2fonkQ8sqNZ56ZmZ49hGI/edit#heading=h.d1689esafsky)。我们按照指南操作，尝试安装中间版的 Debian，定制内核，看起来安装成功了。

将其从 SSD 启动，着实需要巨大的努力，这涉及到进入 UEFI 固件 Shell，并手动逐个查阅 30 到 40 个条目才能找出并启用正确的 UEFI 启动条目，但经过数小时的寻找和无数次的重启，它成功工作了，Debian 能够启动。不幸的是，在启动已经安装的操作系统时，屏幕在输出几行以后就变黑了，再也没亮过。虽然操作系统还在运行，例如，按下电源键会在几秒后干净地关闭电源，但由于没有显示，甚至是文本显示也没有，我们无法配置 Wi-Fi 连接，而且该机器并没有内建的以太网接口。

![](/data/attachment/album/202309/10/094729vaji8oaedfcf5jry.jpg)

*随着最新固件和更新的支持，现在已经能在基于 Arm 的 Thinkpad 上使用 Ubuntu Lunar 的 GNOME 桌面环境。*

此外，尚有一种 “概念版” 的 Ubuntu 23.04 “Lunar Lobster”，其开发并未完成，该公司要求我们不公开相关链接。自从我们拿到这台机器以来，已经进行了多次固件更新：最初其固件版本为 1.25，如今已经更新至 1.57。在固件版本更新到 [1.49](https://download.lenovo.com/pccbbs/mobiles/n3huj12w.txt) 时，固件设置程序增加了一个处于测试阶段的 “Linux” 选项，并随着下一次更新，机器首次成功通过我们的 Ubuntu USB 启动盘启动。但引导过程极慢，开机至少需要 10-15 分钟，甚至更久，而且当它运行在<ruby> 立付 <rt>  Live </rt></ruby>系统模式下时，设备功能有显著限制：比如无法发出声音，Wi-Fi 仅支持 2.4GHz 等。尽管如此，它的运行效果尚可，足以完成安装。初次启动进入的是空白屏幕，然而，你可以切换到虚拟控制台，登录并从 Shell 提示符下更新操作系统。在更新并重启后，图形登录界面出现，此时我们可以正常登录，5GHz Wi-Fi 也开始正常工作。

在固件 1.56 更新阶段，Ubuntu 在这款硬件上仍有诸多限制：无声音，仅支持 Wayland，不支持 X.org。按照我们的惯例，我们安装时将 `/home` 挂载在独立的磁盘分区中，Ubuntu 在一个只读的主目录上启动，但这导致 Ubuntu 无法保存任何设置，也未能创建常用的文件夹（如 `~/Documents` 等）。然而，执行了一条手动的 `chown` 命令后，权限问题得以解决，`/home` 目录也得以写入。

![](/data/attachment/album/202309/10/094729g5h6vz6oe5zep9pr.jpg)

*全面更新后，就连 X.org 也能正常运行，这意味着非 GNOME 桌面可能最终也能被成功运行。*

固件版本 1.57 出现在上个月，重新安装并更新 Ubuntu “Lunar” 后，声音和 X11 功能得以正常工作，这意味着非 Wayland 桌面现在也变得可行。尽管仍有一些困难，但是配备一个 USB-C 以太网适配器会有很大帮助，现在的 X13S 笔记本已经可以很好地运行 Ubuntu。相较于 Windows 运行下的状态，一个显著的差异在于，没有了 x86 模拟环境，只有原生的 Arm64 应用，机器的运行状况变得没那么热了。尽管底座会变热，但它可以放在白白的大腿上使用而不会烫到你。

![](/data/attachment/album/202309/10/094729dpa6vpzp2kk29xm4.jpg)

*甚至连声音芯片也得到了支持，我们可以播放音频并调整音量。*

### 一个（相对）更加简单的选择是——Armbian

在 Arm 笔记本上运行 Linux 的问题在于，基于 Arm 的计算机并不仅仅是一台 CPU 类型不同的 x86 个人电脑。标准的主板和芯片组以及可替换的 GPU 是相当稀有的。大部分机器都是围绕一种高度集成的 SoC 构建的，它包含了 CPU、GPU 以及所有其他组件。

在 x86 个人电脑上，操作系统可以依赖标准固件来启动计算机，但并非所有的 Arm 设备都拥有这样的固件。制造商为每种 Arm 设备打造适合运行特定操作系统的设备，替换为另一种操作系统可能非常棘手。这就是为什么树莓派计算机系列成功的原因之一：不是因为它们特别简单，它们并不是，而是因为它们的销售量大，因此得到广泛的支持。

Armbian 项目就是对这个问题的答案。它为大量的单板计算机（SBC）——主要是 Arm 架构的，正如名字暗示的那样，虽然并非只有这些——编译了特殊的内核。在 [23.08 版本](https://docs.armbian.com/Release_Changelog/#v23081-2023-09-01)（代号为 [Colobus](https://www.armbian.com/newsflash/armbian-23-8/)）的发布时，已经列出了支持的 59 个 Arm64 设备，以及 8 个 RISC-V 的板卡，还有一个 [通用的 x86-64/UEFI](https://www.armbian.com/uefi-x86/) 版本。我们在去年 3 月时点评了 [Armbian 22.02](https://www.theregister.com/2022/03/03/armbian_project_releases_version_2202/)，但我们重新回顾它，是因为这次发布包含了一个在 X13S 上的 [版本](https://www.armbian.com/lenovo-x13s/)，即使支持仍在 [持续进行](https://armbian.atlassian.net/browse/AR-1842)。

对于 x86 PC 来说，你通常从安装介质启动，然后将操作系统安装到机器的内部硬盘上。但对于 SBC 来说，更常见的是将镜像写入内存卡，然后从内存卡启动电脑，因此并无特定的安装进程。Armbian 为 X13S 提供的下载压缩后只有大约 2GB，但它包含了一个完全安装的系统，因此你至少需要一个 16GB 的 U 盘。第一次启动时，它会进入文本模式提示并要求 root 密码、用户账户的凭据，时区以及地区信息。只有在这些信息输入完毕之后，它才会加载图形桌面。

![](/data/attachment/album/202309/10/094730l3l0vnb0tkesyd33.jpg)

*Armbian 的 Cinnamon 桌面实际上是专为 Arm64 设计的 Debian 12.1，额外附加的驱动及微调使其符合 X13s 的需要。*

这套方案成功地创建了一个工作正常的系统，包括屏幕亮度调节等功能。系统重启后，我们可以连接 2.4GHz 和 5GHz 的 Wi-Fi，并以典型的 Debian 方式进行更新：使用 `sudo apt update && sudo apt full-upgrade -y` 命令。然而，系统没有声音，而且电池支持也尚未到位：不能充电，并且电量指示器不能工作。而且，我们的 Planet Computers USB-C 集线器上的以太网端口也未被检测到。我们试图使用 armbian-installer 脚本将 Armbian 安装到 SSD，但尽管 Ubuntu 找到并将其添加到 GRUB 菜单中，Armbian 仍无法从 SSD 启动。

### 总结

随着时间推移，高通 Snapdragon 8cx Gen 3 平台的 Linux 支持得到了改善。在最新版本上，Ubuntu 在 X13S（内核版本 6.2）上已经可用，我们预期，随着下个月 Ubuntu 新版的发布，这种设备可能变成一个受到支持的平台。

与此同时，一些其他的发行版也在进行支持工作。虽然 Fedora 有一个 [内核镜像](https://copr.fedorainfracloud.org/coprs/jforbes/fedora-x13s/)，但目前只是停留在这个阶段。另外，openSUSE Tumbleweed 也有一个预发布 [镜像](https://en.opensuse.org/HCL:ThinkpadX13s)，但还没有安装程序，对声音以及电池也尚无支持。

OpenBSD 可以直接支持高通芯片，但是这个操作系统的常规限制，如蓝牙的全面缺失仍然存在。我们已经验证了其可以从 USB 启动并成功配置 Wi-Fi 及 USB 以太网卡，但我们并未深入尝试，因为对于删除我们当时唯一能够完全运行的操作系统——Windows，我们持保守态度。

![](/data/attachment/album/202309/10/094730qj0i8zlp8m8imkil.jpg)

*在 Windows 11 Arm64 上的 Ubuntu 22.04 上运行的 GNOME 网络浏览器 Epiphany*

当然，还有 <ruby> Windows 的 Linux 服务 <rt>  Windows Services for Linux </rt></ruby>（WSL）。这目前是最快捷到达可工作的 Linux 系统的途径：我们试验了在 Windows 11 下的 WSL2 中运行 Ubuntu，它工作得相当完美——且带来附加优势，你明确知道你正在运行的是原生 Arm 应用，而非在耗电的模拟环境下运行的 x86 代码。然而，要注意运行 Windows 本身并不高效，如果你在后台有一些 X86 的应用，你的电池续航会严重受影响。

如果你乐意从 U 盘启动——此处我们推荐使用一个高速 USB-C 盘——那么 Armbian 就能很轻松地帮你启动，虽然有一些限制。随着新内核支持的提升，Armbian 的功能也将随之增强。

X13S 并未准备好全面采纳任何自由和开源的操作系统——例如，网络摄像头尤其仍未得到支持——但 Ubuntu 已经差不多准备好了。目前的镜像并非官方版本，但你可以在你信任的搜索引擎上找到它。如果这个方式失败，那么 Armbian 将是你的第二选择。

*（题图：MJ/701d8523-f00b-4ac4-b559-428a9ab2746f）*

---

via: <https://www.theregister.com/2023/09/08/linux_on_the_thinkpad_x13s/>

作者：[Liam Proven](https://www.theregister.com/Author/Liam-Proven) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](/article-16174-1.html) 荣誉推出


硬核观察 #1120 生成式 AI 对工作岗位的威胁不如其它自动化技术

Summary:
? 生成式 AI 对工作岗位的威胁不如其它自动化技术
? 苹果争分夺秒修补最新的 iPhone 零日漏洞
? 纳斯达克获准基于 AI 的交易指令
»
»

![](/data/attachment/album/202309/10/200251xlo4t49l4gg449gh.jpg)

![](/data/attachment/album/202309/10/200304c0tjmcwpc0sc09ef.jpg)

### 生成式 AI 对工作岗位的威胁不如其它自动化技术

据一份报告，到 2030 年，人工智能将取代 240 万个美国工作岗位，并影响另外 1100 万个工作岗位，但其他形式的自动化将导致更多工作岗位流失。研究认为，AI 技术将重塑更多的工作岗位，而不是取代更多的工作岗位。最有可能被抛弃的白领将是技术撰稿人、社会科学研究助理、校对员、文案和行政岗位人员。拥有大学学历、从事白领工作且属于中产阶级的工人将感受到最大的冲击。

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

>
> 老王点评：尽管这些自动化形式可能会造成短期内的工作岗位减少，但长期来看，它们也可能通过提高效率、创造新型业务或催生新的就业领域，从而有可能创建新的工作岗位。
>
>
>

![](/data/attachment/album/202309/10/200313q8mbfdfffflzrf4r.jpg)

### 苹果争分夺秒修补最新的 iPhone 零日漏洞

苹果设备再次受到攻击，在野外发现了一个零点击的零日漏洞，该漏洞用于向 iPhone 发送 Pegasus 间谍软件。即使运行最新版本的 iOS（16.6）也无法抵御该漏洞的攻击。该漏洞涉及包含恶意图片的 PassKit 附件。PassKit 是为添加到用户苹果钱包的可分发通行证提供的服务。一旦发送到受害者的 iMessage 帐户，NSO 集团的 Pegasus 间谍软件就可以在没有交互的情况下部署。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/08/apple_races_to_patch/)**
>
>
>

>
> 老王点评：即便如苹果手机，依然有非常严重的安全问题。但是我相信，安卓手机可能安全问题更多。
>
>
>

![](/data/attachment/album/202309/10/200325oiq11yai1gxk6g2k.jpg)

### 纳斯达克获准基于 AI 的交易指令

美国证券交易委员会（SEC）已经批准了纳斯达克运营首个交易所 AI 驱动订单类型的请求。新系统被称为动态中点延时订单，它将使用 AI 进行实时更新和重新校准。这种自动化形式已经存在了一段时间，但新的 AI 驱动订单类型是首个使用实时强化学习 AI 来执行订单的同类产品。这将大大加快系统下单的速度。纳斯达克称，成交率提高了 20.3%，标出率降低了 11.4%。

>
> **[消息来源：Coin Telegraph](https://cointelegraph.com/news/nasdaq-receives-sec-approval-ai-based-trade-orders)**
>
>
>

>
> 老王点评：虽然不是 AI 炒股，但是 AI 可以加速交易。不过我还是好奇，要是有一天，操盘的是 AI，交易的是 AI，到时候会是什么景象。
>
>
>


LCTT 10 年，迎来新蜕变

Summary: 感谢大家相伴十年！

感谢你们。

感谢

感谢付出

感谢

感谢你们的付出！

感谢

good job

好几年前就开始关注linux.cn，感觉是国内难得的一个Linux信息发布平台，有行业新闻，有技术分享，很不错。最赞的是，一开始一篇文章下面几乎没有评论，到现在很多发布的文章下面有读者热情的讨论和分享；潜移默化中，增加了交流和群体归宿感。<br />
希望下一个十年，更好！！！

泪目

一直都有在看, 感谢你们的付出！

给人们带来了很多的欢乐...<br />
very very thanks...

什么时候论坛开放？

鉴于现在的环境，没有开放的计划。如果方便，可以考虑到我们的 Discord 去转转。

我们会一直支持的！

Discord是专有的，建议搞个matrix，不用官方服务器还能免翻使用。

主要是担心使用 Matrix 的人太少了。

感谢付出

![](/data/attachment/album/202309/10/204326rigpmlw11xdpggtb.jpg)

按惯例，LCTT 每两年会做一次总结，在[第一年](/article-3784-1.html)、[第三年](/article-7757-1.html)、[第五年](/article-9999-1.html)、[第七年](/article-12600-1.html)、[第九年](/article-15017-1.html)都分别做了陈文。今年本来不必再赘述，但是，一方面今年是第十年了，这是个有意义的年份；另外一方面，今年以来，生成式 AI 的横空出世也深切影响到了翻译这件事。因此，我觉得有必要写点什么。

十年前的这一天上午，在没有经过预先安排和详细计划的情况下，我在 QQ 群内[发起](/article-1970-1.html)了 LCTT。原本的初心是翻译 Linux 上的手册页，因为现存的中文手册页实在残破不堪。由于没有协作翻译的经验，当时先建立了一个实验性项目 [TranslateProject](https://github.com/LCTT/TranslateProject/)，收集了一些英文文章来翻译。果然，在这个过程中，我们发现并改正了不少流程上的不足。这些经验甚至成为了其它类似翻译活动的基础。

但是，遗憾的是，作为我们最初的目标，中文手册页项目，却由于种种原因，中道烂尾。至今叹息。

好了，作为十年总结，我应该将过去十年的成绩做个总结。

这十年间，我们总计有 547 位贡献者参与了从选题、翻译、校对到发布等多种贡献；这些贡献者翻译超过 10 篇的译者中有 117 位，超过 100 篇的有 8 位，而最大贡献者 geekpi 一个人就翻译了 2015.5 篇；所有的贡献者们总共翻译了 7929 篇文章。这些文章，仅在我们官方的官网、微信公众号、知乎等内容渠道就获得了上亿次阅读。

通过翻译这些文章，很多人第一次接触了开源，并亲自参与了贡献，学会了使用 GitHub 和 Git，有的人还在日后的学习和工作中，成为了开源贡献者、布道者。

现在回头看，这十年，LCTT 至少还是做了一些**有意义的事情**的。

表完了成绩之后，我谈谈对将来的看法。

可能有的同学已经在我们近期的文章中发现，有部分文章是由 AI（ChatGPT）翻译的。这件事其实给我带来了很大的触动。

之前，我们在翻译过程中，并不排斥译者们使用计算机辅助翻译（CAT）来帮助翻译，比如谷歌翻译、DeepL 等，只要译者能够尽职审阅校对就好，甚至有时候，这些平台会给出一些比手译更合适的参照译法。在这个过程中，这些平台基本上处于参照的地位，并不能有效的形成“信达雅”的译文。

在 OpenAI 的 ChatGPT 横空出世之后，一个最常见的用例就是用来翻译外文内容。我们也做了一些尝试，令我吃惊的是，在经过调校之后，ChatGPT（3.5）可以形成通顺、合理、可信的译文。并且，在经过它的再次润色后，可以更进一步提高译文的可读性。甚至，在个别情况下，它还能找出原文中存在的错误，比如误用的命令。

当然，出于负责的角度，我们会对这些文章进行专门的校对，以免出现被 AI 愚弄的情况。

那么，LCTT 还有存在的必要吗？我认为是有的，一方面，在短期看来，AI 翻译还没有足够成熟，至少在 AI 幻觉没解决之前，并不能完全依赖 AI，尤其是在专业技术领域。另外一方面，AI 确实可以极大地加速翻译过程，提升翻译质量，我们完全可以在相同的贡献者基础上，贡献更多的专业内容。

所以，之后的 LCTT 可能要从“翻译为主，校对为辅”转变为“AI 翻译为辅，专业校对为主”的贡献模式了。顺便说一句，在 Bestony 的努力下，我们已经在开发一个新的 AI 辅助翻译平台，到时候会极大地提升翻译的质量和数量。

那么，让我们期待 LCTT 的下一个十年，一个蜕变的十年吧！

*（题图：MJ/2c55f5cf-6867-4e0f-beeb-9858ca51e644）*


成功举办黑客马拉松的 10 步指南

Summary: 想要规划、主办及管理一次成功的黑客马拉松，请遵循以下蓝图。

想要规划、主办及管理一次成功的黑客马拉松，请遵循以下蓝图。

![](/data/attachment/album/202309/11/091824uz1hs6l2c16s662r.jpg)

>
> 想要规划、主办及管理一次成功的黑客马拉松，请遵循以下蓝图。
>
>
>

初看起来，<ruby> 黑客马拉松 <rt>  hackathon </rt></ruby>是很简单的事情。你需要为它投入多少准备呢？仅设置一个日期，人们便会自动参与。然而，实际上并非如此！

虽然你可以依靠这种方式碰碰运气，但实际情况是，黑客马拉松是科技行业中的基石体验，参与者都有自己的期待。不仅如此，你的组织也有特定的需求，并应该为黑客马拉松设定目标。那么，你应该如何保障黑客马拉松对你的组织和参与者都有益呢？

成功的黑客马拉松，取决于一系列可能会反复出现的决定。关于你想达成什么目标的决定，将影响你使用哪些资源以及采用何种沟通方式。这些决定将影响你是选择线上还是线下进行，而这个决定又将反过来影响你需要的资源以及如何沟通。对齐黑客马拉松的计划并非只是让人们达成共识那么简单。你需要一整套内在的决策来达成一致。例如，一场技术难度较高的黑客马拉松可能无法吸引大量观众（你可以问我怎么知道！），并需要一种需要特殊资源的招募策略。

这些年来，我主办过很多次黑客马拉松，包括最近几个月中，在我所在的组织主办的一次黑客马拉松，由此催生了我们将融入到我们的开源产品 Traefik Proxy 3.0 下一版本中的新特性。因此，相信我，策划一个能丰富参与者体验，同时为你的项目创造有价值成果的黑客马拉松，不仅仅需要期待、披萨，和混乱！

本文以最近的 Traefik Labs 黑客马拉松为蓝图。我分享了一个清单，提供了一些技巧和窍门，帮你确定目标，规划比赛，管理报酬，分享你的成果，以及处理黑客马拉松的长期效应（黑客马拉松结束后的工作并未结束！）

这个指南充当了你规划最佳实践的模板，让你也能成功举办一场有大量目标受众并能带来实效的黑客马拉松！

### 1、确定目标的三个问题

首要且至关重要的步骤就是设定你的目标。这可不简单，设立目标前你需要在多个方面进行内部整合，提出如下问题：

* 你为何想举办一场黑客马拉松？
* 你期望谁来参加？
* 你将如何衡量你的成功程度？

#### 确定你的内部利益相关者并设立期望

**黑客马拉松涉及到多个功能部门**。没有一个黑客马拉松是由一个社区人员独自进行的。确保每个人对目标的理解、实现这些目标所需的要求相互呼应，以及必要的资源能得到投入，这些都是重要的。听起来可能有点过于“公司化”，但即使在最小的项目中，这些功能也是必不可少的。一个项目需要广泛的接受度和代码支持。它还需要根据使用者的来做出价值判断。当然，无论何种项目都需要热情的贡献者。

**黑客马拉松需要跨各功能部门的资源投入**。单一团队拥有的一整套资源并不能成功地运行一场黑客马拉松。组织必须投放各种资源，包括：

* 市场营销部门进行规划和拓展。
* 产品管理部门提供产品和行业特定的洞察。
* 工程部门提供深度的技术知识和社区参与。

出于这些原因，黑客马拉松通常会支持满足跨功能部门的目标。例如，你的社区团队可能希望建立归属感并将用户转变为活跃的社区成员。营销团队可能希望提高知名度并吸引新用户。工程团队可能需要特定需求或挑战的新视角。产品团队可能对社区应该知道的目标或禁止行为有特定的设想。

最后但同样重要的点，黑客马拉松的预算也需要各部门共同承担。很抱歉告诉你，黑客马拉松并非天上掉下来的！你最大的支出始终是你团队成员的用心投入。

### 2、你为什么要这么做？

设定你的目标是举办成功黑客马拉松的核心部分。如果你对自己想要做什么或黑客马拉松为何重要都不清楚的话，最好情况下，它会浪费大量的潜力；最糟情况下，它将会变成一团混乱。

社区以归属感为动力。你需要决定自己期望从社区得到什么以及你希望社区成员拥有哪些归属感。如果没有清楚的理解这些，你的黑客马拉松可能无法最大程度地赋权于你的社区。

你需要特别关注你的黑客马拉松的设计和目标。不同类型的黑客马拉松吸引了不同技能水平的人。如果你期待的代码很深奥，那么花费额外的时间来倾听合适的受众，并认识到这样会降低整体的参与度。如果你期待的贡献在技能和经验上可以变化，那么你可能需要拓宽接纳的范围。

#### 你是否举办黑客马拉松来获取代码并推进你的项目？

* 有时，项目处于关键时刻或者围绕它有很多兴奋点，你希望利用这股力量共同创造一些事情。黑客马拉松正是一个达成这个目标的好方式！
* 如果你拥有一个活跃的用户社区，黑客马拉松可以将每个人同一时间共聚一堂，以此激发团队的创造能量。

**注意**：较小的，彼此互相关联并共享项目经验的团队确实更易实现这一目标。你还需要仔细评估构建你的项目所需的技能.

#### 你举办黑客马拉松的目的是建设你的社区或者重新唤起他们的热情吗？

* 可能你正在建设你的社区，或者你注意到你的社区需要一些新的活力。黑客马拉松带有激动人心的氛围，它们可以帮助恢复这种活跃度。
* 正如我在上文所说，“社区是以归属感为动力的。” 如果社区成员感觉他们在这个社区中没有足够的归属感，或是他们的需求和声音没有被重视，他们将会渐渐疏离。这在项目逐步扩大并更加正式化时往往会发生。随着参与的门槛不断提高，社区成员归属感的下降，项目对用户而言就更像是一种产品。提高社区参与感的一种方式是，举办引入用户并降低参与门槛的活动：比如错误修复活动、轻型需求、及长期的活动时间线。
* 或许正如你的用户社区在壮大，但由于技术日益复杂，与之相应的贡献者社区也变得更为专业化。在这种情况下，你需要吸引理解你的技术和使用者的复杂技术领域的人才。你应该寻找那些在工作中使用你技术的社区成员 —— 尤其在有大型或复杂部署的公司。这些人更有可能理解用户的需求以及技术本身的要求。他们也会对重大且有价值的优化提出建议。
* 你可以选择那些能建设你的社区，同时符合你的团队和社区成员的能量和时间的目标。例如，对于 Traefik Labs 来说，一个面向热心人士的、需要较小时间投入的黑客马拉松可能会针对我们的插件目录。然而，当我们在寻找较大贡献或是需要深度专业知识的贡献者时，我们可能会关注高级技术人才 —— 特别是我们认识的人。

#### 你是以庆祝某个事情为目的来举办黑客马拉松吗？

* 黑客马拉松是庆祝新产品发布和激发社区热情的有效方式。例如，这正是我们举办 [Traefik Proxy 3.0 Hackaethon](https://traefik.io/blog/announcing-traefik-proxy-3-0-hackaethon/) 的原因。
* 黑客马拉松也适合推广新产品的功能。在此，[Traefik Plugin Hackaethon](https://traefik.io/blog/announcing-the-inaugural-traefik-hackaethon-2020-in-october/) 便是一个很好的例子。
* 或许你想要举办一个活动来纪念你的顶级贡献者。那就用黑客马拉松来做吧！瞧瞧 [HackerOne 组织的这场黑客马拉松](https://www.youtube.com/watch?v=9VZCD9TirCg&list=PLxhvVyxYRvibM_KJBPtPsfEcjnP5oGS8H) 吧。如果你在思索：“但这并非与开源软件相关，这怎么能算是黑客马拉松呢？”我要告诉你的消息是 —— 黑客马拉松不只是为了开源软件！黑客马拉松是为了与广大的社区共创。

#### 你是为了提升知名度而举办黑客马拉松吗？

如果你刚起步并想提高你的产品/品牌知名度，黑客马拉松无疑是个好的开端。然而，请注意一些条件。

* 在这个阶段，期望目标高度集中或收到大贡献是不太可能的。你应追求更广泛而温和的焦点，并尽量减少参与者所需的工作。
* 尝试接触新的社区成员、经验相对较少的用户，以及对你特定项目接触不多的用户。

#### 你是为了与用户建立联系而举办黑客马拉松吗？

我认为没有比举办黑客马拉松更好的办法来将新用户引入你的项目。用户不仅会对你的项目有深入的了解，黑客马拉松也具有一种独特的方式，能够营造出一种难以通过其它类型活动实现的归属感。

### 3、你的目标观众是谁？

假设你已经确定为何要举办黑客马拉松以及你期望实现的目标，那么接下来该评估参与者需要具备哪些特性才能成功了。根据你设定的目标，明确你的目标受众，搞清楚哪一类社区成员能帮你实现这些目标。你可以根据以下几个对比进行考虑：

* 高级技能 vs. 混合技能 vs. 初级技能
* 专门技能 vs. 广泛技能
* 高强度时间投入 vs. 低强度时间投入
* 个人贡献 vs. 团队贡献

你最活跃的社区成员应该在某种程度上与你的目标观众有所呼应。

如果你能吸引到的观众和你的目标观众至少有 80% 的不符合，你可能需要重新考虑你的目标。准确识别你的目标受众对于构筑你的黑客马拉松及相关沟通策略，并让你的黑客马拉松更加成功极其重要。

### 4、你计划如何衡量目标的实现程度？

很好，你已经回答了前两个重大问题并明确了你的目标，接下来要考虑的是第三个重大问题 —— 你打算如何评估目标的实现程度？激励内部团队与社区一同构建你的项目的未来，激发归属感和提升参与度，这些都十分重要，但你无法断定成功与否，如果你没有评估目标的方法。

#### 活动结束后，什么标志着成功？

* 显然，首要的成功标志是你的参与者整体获得良好的体验，并且愿意更加积极地参与你的项目。
* 如果你在寻求扩大影响力，你可以设定一个参与者人数的目标，并且设定一个在活动后或三个月后再次参与的人数目标。
	+ 成功的一大标志是参与者是否在黑客马拉松期间互相连接、交互、共享知识，并组建团队。
	+ 是否形成了指导关系？通过合作，是否有许多新的用户转变为熟练的中级用户，或者中级用户升级为专家级用户？这是成功的关键标志。
	+ 你的合作机构（比如大学）是否要求在未来举办更多的黑客马拉松或其他活动？
* 如果你在提升知名度，也可以关注活动后的讨论情况。有谁写了博客文章？参与者在社交媒体上谈论了吗？
* 如果你在寻找贡献，贡献是否在你预期范围内？这些是你需要的贡献吗？它们是否影响了你的团队对问题的思维方式？你会和这些贡献者建立持久的合作关系吗？

#### 活动过后三个月，什么标志着成功？

设定长期成功的基准也同样重要。以下是可能显示长期成功的一些例子：

* 你的黑客马拉松应当增多持续为你的项目做出贡献的人。目标在于让人们对你的项目保持热情。如果新来的人从黑客马拉松开始并保留下来成为用户，或者你的现有用户变得更加活跃，你就算赢了。
* 黑客马拉松作为单独的事件很棒，但作为营销内容，它更具价值。这些活动在社区中建立了信任，彰显了你的反应以及你重视社区的投入。它们运营的趣味性成为了社区成员的聚焦点，并激发他们对未来的期待。人们喜欢看到他人被庆祝，并计划在将来取得这种成绩。
* 当你围绕你的黑客马拉松制作营销内容时（或最好，别人为你的黑客马拉松制作内容），你就可以扩大你在二度联系人群中的影响力。
* 以羡慕他人为耻的现象是令人遗憾的。黑客马拉松是个绝佳的机会，可以邀请那些表现杰出的参与者去做更酷的事情，并宣传你的项目。

### 5、决定是线下活动还是线上活动

我猜你可能在思考 —— 线下活动是否还在我们的选择范围内？在后疫情时代，我们已经习惯于线上进行所有活动。那么，线下活动的时代就此结束了吗？我会争论说，不，线下活动依然在。只要我们采取适当的防护措施，线下活动仍然是黑客马拉松的精髓。（LCTT 译注：此文发表于半年前。）

* 线下活动意味着无干扰、丰富的披萨，以及充足的能量饮料激发的友谊。
* 线下活动更倾向于促进团队参与，而不仅仅是个人参与。
* 线下活动无论规模大小都适应：对大规模群体组织线下活动会带来高能量和奖励。但这会造成较高的成本。如果你计划举办大规模黑客马拉松，相对经验较少的开发者（如学生、社团、新入职者）将是更好的目标，因为这些人有更多的时间，并且在展示他们的技能和热情时有着更大的收获。
* 线下活动也很适合小的团队，非常适合紧张的计划和迭代 —— 和新老朋友一起度过的长夜，通常是吃着食物和喝着啤酒！

当然，虽然线下黑客马拉松有很多优势，但这并不是说线上体验只有缺点。诚然，没有什么能替代深夜聚会佐以披萨，即兴的评论让你改变整个项目方向，以及你正在测试或调试时，一双友好的眼睛注视着你的感觉。然而...

* 线上活动意味你可以吸引更广泛的参与者群体，且成本大幅减低。
* 线上活动尊重残障人士。
* 线上活动不受地理位置约束。
* 线上活动为个人做出更多贡献提供了更大可能。
* 线上活动在活动形式和时间长度上提供了更多灵活性 —— 毕竟你不能办一个持续一个月的线下活动！

#### 线上黑客马拉松的时间安排

决定举办线上黑客马拉松了？很好！现在你需要确定你期望的线上黑客马拉松类型。你是想要一个持续时间长的还是一个强度大的？请记住，你选择的 [线上黑客马拉松](https://opensource.com/article/20/8/virtual-hackathon) 的类型会在某种程度决定你的目标观众和沟通策略。

**延长的时间线：**

* 允许参与者在工作之外的时间投入，因此开发者可以不请假就参加。
* 提供更多时间来征求贡献。
* 对于组织者和参与者都需要较少的资源投入。
* 延长的时间线需要较少的实时资源。

**紧凑的时间线：**

* 重现了那种在线下黑客马拉松中通常体验到的紧张感。
* 在短时间内需要大量的资源。
* 需要严格的管理和沟通平台。
* 需要清晰的一对一沟通，但也可以促进群体对群体或社区内部的沟通。

### 6、构筑你的沟通策略

谈及沟通，确定了目标后，你需要决定**谁**将与参与者沟通以及**如何**进行沟通。通常，我们需要在流行应用中进行选择。你的选择将对活动的氛围产生影响。不同的 [聊天应用](https://opensource.com/alternatives/slack) 和 [协作平台](https://opensource.com/article/21/9/alternatives-zoom) 都具有各自的文化和优势。你在初期关于如何举办你的黑客马拉松（线下或线上，长期或紧凑）的决策，可能会对你的沟通策略产生最显著的影响。

#### 线下沟通计划

如果你正在举办一个线下的黑客马拉松，可以将其视为一个重要的活动 —— 它几乎感觉如同一场会议。线下的黑客马拉松通常包括以下活动：

* **研讨会 / 圆桌讨论**：意在教育并建立面对当前需求的新一代标准 / 最佳实践。这些环节可以作为 6 至 10 人间的限时讨论，他们会一致同意研究结果并向所有参与者公开记录的内容。
* **规划会议**：常用于产出非编程类的项目，比如制定更新标准。
* **编程会议**：用于需要持续工作以持续进步的编程类项目。

以上每一环节都有各自的沟通需求：

* 有人准备来引导，但不主导研讨会中的对话。
* 记录者以及确保笔记整理为可发布内容的人。
* 对于研讨会：
	+ 项目经理来保证所有工作的执行。
	+ 管理活动的通用沟通（如食物、清洁、资源管理）。
	+ 主持人负责推动活动议程。

要完成所有这一切，需求来自于你的社区，产品经理和技术团队的资源和专门知识。从过去的经验来看，，要管理如此规模的活动，需要一个由社区成员和员工组成的团队。为了成功，你的团队将需要专业特长的人员。

你还需要决定你想要鼓励的沟通类型，以及谁应该负责：

* 多个团队可能需要轮班以提供全方位的支持。
* 开发者关系团队、工程或支持团队需负责管理与参与者和中间环节之间的技术沟通。
* 社区团队通常会花费很多时间建立与参与者的联系，以帮助他们强化技能或观点，这也是确保黑客马拉松魔力的一种方式。
* 社区团队还需要支持市场营销活动，以吸引参与者并进行后续管理。

#### 线上沟通方案

对于网络虚拟的黑客马拉松，选择沟通平台主要取决于你想实现的目标，你为黑客马拉松选择的时间表（延长或密集），以及你希望促进的沟通方式（同步或异步）。

**在 Git 主机上使用拉取请求和议题（异步）：**

* 选择通过 Git 拉取请求和你项目的议题进行交流，可以把对项目的讨论保留在你当前的流程中，让你的团队更专注响应，而不用自发去引导沟通，这将会节省技术团队的资源。
* 如果你的黑客马拉松团队规模较小，或者预期的贡献相对较少，且你没有计划协助参与者组建团队，那么这种方式非常合适。
* 对于持续时间较长的黑客马拉松，使用已有的流程尤其有益，因为它们不需要额外的管理，也不需要你的团队去监控另外的应用。
* 然而，缺点在于你只是促进了已经协同工作的个别贡献者或贡献者团队的沟通。连接孤立工作的参与者比较困难，参与者们自行寻找彼此也不容易，这就失去了黑客马拉松参与者在公开的讨论中自发交流的魅力。

**使用聊天应用（同步）：**

* 选择专用聊天服务器对于密集型的黑客马拉松是必须的。
* 聊天促进了团队的组建和对于有快速时间线的复杂项目必要的沟通，并激发了在做出了一些很棒的贡献前的头脑风暴。
* 再者，你的目标是要建立社区。人们想要加入一个他们可以有归属感、有朋友、感到舒适的社区。如果你希望他们长期留存，给参与者提供一个可以相互联系的地方是必要的。
* 事件结束后聊天服务器依然存在，可以持续促进社区的参与活动。

不论你选取哪一个平台，你都需要一个沟通方案来确定你的团队每个人何时在线。管理一个线上黑客马拉松可能会有点复杂，主要是因为不同的时区的问题 —— 人们可以在任何他们想要的时间、任何他们想要的地方参加。你必须计划安排在所有时区的人和每一个场合的参与者。排列好一个计划，清楚在下列情况下谁负责以及何时负责：

* 确定响应 SLA。
* 活跃你的虚拟空间（一个死气沉沉的空间会导致沟通质量降低）。
* 鼓励团队建设。
* 解答技术问题。
* 查询参与者的进度。
* 检查空间以确保参与者的安全。

### 7、确定奖项

你的黑客马拉松是一个竞赛形式的活动吗？通常，黑客马拉松的参与者对于优秀贡献者能获得大奖和丰富的礼品会感到非常满意。但在你决定这些令人兴奋的奖励（实物奖品）之前，你必须确定你的竞赛所重视的价值。

* 是什么因素让一个贡献变得更出色？如果你的参与者了解你对此的态度，他们可能更有可能全力以赴。
* 你重视什么？这是你向参与者阐明你希望看到什么样的参赛作品的机会，你可以通过把奖品挂在它旁边来做到这一点。例如，在上次的 Traefik 黑客马拉松中，我们为最受欢迎的特性提供了奖赏，实际上，这些特性确实是大多数人最努力的部分。
* 参赛作品是否有不同的分类？你需要为每个分类都设定奖项。
* 创造一个评分标准（定义和排名成绩的表格或网格，[像这个例子](https://www.isothermal.edu/about/assessment/assets/rubric-present.pdf)）。这样一来，参与者会知道你在评估他们时重视什么。这也是我们在 HackerOne 提高提交质量的一种方式。

另一方面，有些人可能认为竞争被高估了。如果你的目标是鼓励参与，那么你有权奖励每一个参与者，只因他们为社区的回馈！[Hacktoberfest](https://hacktoberfest.com/) 就是这种方法的一个好例子。

### 8、准备炫酷的礼品

每个人都喜欢炫酷的礼品！无论是在线活动还是线下活动，你的参与者肯定会欣然接受能够纪念这次活动的礼品。礼品有两个目的：

* 礼品表示你对参与者的赞赏：贡献者花费时间投入在与你的紧密合作中，用一份礼品感谢他们就显示出了你对他们贡献的价值认同。
* 礼品增加了知名度：给参与者分发礼品，帮助他们传播他们对于社区的喜爱，并通过分享他们的收获和经验，提升你的社区的认知度。

社区成员喜爱礼品，但他们不喜欢单调的礼品！也许你在其他活动中已经发放过你现有的 T 恤和贴纸了。想让你的黑客马拉松给人留下深刻印象，就需要寻找新的、有趣的、专有的设计。T 恤固然好，但卫衣则更胜一筹。但是，你可以考虑一下参与者可能还没有的独特礼品。想象一下有什么可以成为他们的新宠，比如后备电池或帽子（这两样在 HackerOne 很流行）。对我个人来说，我家里就有一些来自黑客马拉松的毛巾和拖鞋！

### 9、进行宣传

设定目标和决定惊人的大奖和炫酷的礼品都是非常重要的步骤。但如果你不进行广泛的宣传，怎么能让人们知道你的黑客马拉松正在进行呢？你需要仔细调查可用的各类渠道，并要大胆地推广你的活动。这里说的包括博客、视频博客、电子邮件、社交媒体 —— 任何你能够利用的平台。

然而，依据你的目标定位，你需要在适当的渠道上进行投入。你进行广告的地方，取决于你想邀请谁来参加你的黑客马拉松。

* 如果你想吸引更有经验的用户，那么就将重点放在正在使用你的项目的大型组织上。在这种情况下，领英和电子邮件推广可能会更有效。
* 如果你希望吸引新的和经验较少的用户，那么你最好瞄准大学和培训营。在基于社区的媒体上宣传活动，如 Mastodon、Matrix、Mattermost、Reddit、Discourse、Discord，以及你的目标听众常去的任何地方，将是更好的选择。

### 10、后期管理

恭喜，黑客马拉松结束了！现在所有与黑客马拉松相关的活动都可以暂时停下，我们也不再需要投入资源了，对吗？错！你要把黑客马拉松视为你在软件开发和社区构建一系列活动中的一个环节。为了让你的黑客马拉松成功，你必须准备好进行活动后的各项工作。

* 传达你的成果：别忘了向内部和外部通报黑客马拉松的结果。在黑客马拉松期间，社区成员获取的成果可以增加对你的社区和项目的信任。
* 社区建设：依赖你的黑客马拉松参与者进行未来的社区活动。
* 编制回顾：什么做得好，什么做得糟糕，哪些事情让你感到平淡无奇，又有什么事情让你感到惊讶？这个分析是你如何成长，变化和迭代的方式。在可能的情况下，尽快做一个无责任的回顾，这样所有的事情还鲜活在你的记忆里。

### 总结

如果你一开始读这篇文章时，认为举办黑客马拉松并不难，那么我很遗憾要打破你的幻想！虽然我深信黑客马拉松是一个极好的方式，可以在多个层面上与社区进行交流和互动，但只有意图并不能保证结果。

为了使一个黑客马拉松成功，你需要非常周到，并准备投入大量的资源和努力来妥善规划和执行。

感谢你的阅读，我希望这个清单能帮助你成功地组织你的下一场黑客马拉松！

*（题图：MJ/954f2da1-8a3a-4039-9695-b7ea7e3dea95）*

---

via: <https://opensource.com/article/23/2/hackathon-guide>

作者：[Tiffany Long](https://opensource.com/users/tiffany-long) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


如何检查 VLC 日志文件

Summary: 解决 VLC 的视频播放问题？以下是检查 VLC 日志文件的方法。

解决 VLC 的视频播放问题？以下是检查 VLC 日志文件的方法。

![](/data/attachment/album/202309/11/100519hz58dpd9bdjbbrzd.jpg)

>
> 解决 VLC 的视频播放问题？以下是检查 VLC 日志文件的方法。
>
>
>

在 VLC 上观看你喜爱的视频时，你可能会遇到与编解码器、时间戳、视频播放等相关的问题。

但好消息是，就像 [检查防火墙的日志](https://learnubuntu.com/check-firewall-logs/) 一样，你可以使用 VLC 执行相同的操作来跟踪错误的根本原因。

>
> ? 与 Linux 不同，VLC 不会自动保存日志，一旦关闭，所有日志都会自动删除，因此你必须手动保存它们。
>
>
>

因此，请确保在关闭 VLC 播放器之前保存或读取日志文件。

### 检查并保存 VLC 日志文件

虽然听起来很复杂，但这是最简单的方法，它不仅允许你保存日志，还可以让你读取日志而不将其保存到文件中。

首先，从顶部菜单栏转到“<ruby> 工具 <rt>  Tools </rt></ruby>”菜单，然后选择“<ruby> 消息 <rt>  Messages </rt></ruby>”，或者，你也可以按 `Ctrl + M` 达到相同的效果：

![](/data/attachment/album/202309/11/100542noegxxd02302kkke.png)

它将显示与当前播放的视频文件相关的日志。

在这里，你有两种选择：你可以仅读取日志，也可以保存日志。

单击“消息”选项卡后，你会注意到 “<ruby> 冗余 <rt>  Verbosity </rt></ruby>” 选项，因此让我们看一下多个详细程度选项的效果。

* <ruby> 错误 <rt>  Errors </rt></ruby>: 只会记录错误信息
* <ruby> 警告 <rt>  Warnings </rt></ruby>: 它将总结错误和警告消息
* <ruby> 调试 <rt>  Debug </rt></ruby>：此级别将包括错误、警告和调试消息

选择适当的详细程度选项后，你很快就会看到与所选选项相关的日志。

![](/data/attachment/album/202309/11/100542h06bnbf5gg635a4q.png)

正如你所看到的，当我选择 “调试” 选项时，它还包含警告日志。

要保存日志，请点击 “<ruby> 另存为 <rt>  Save as... </rt></ruby>” 按钮，它将打开文件管理器，在这选择保存文件的位置并为其指定适当的名称：

![](/data/attachment/album/202309/11/100543zagkli85dviczd9u.png)

现在，你可以使用任何文本编辑器打开日志文件：

![](/data/attachment/album/202309/11/100544opv7rlzom9m9azd3.png)

从这里，你可以识别导致错误的罪魁祸首。

### 有关 VLC 的更多信息

你是否知道你可以使用 VLC 下载 YouTube 视频或使用 YouTube 链接来流式传输视频而无需广告？

嗯，VLC 能做的远不止这些。如果你有兴趣，请查看我们详细的 [让 VLC 更出色的技巧指南](https://itsfoss.com/simple-vlc-tips/)。

我希望本指南对你有所帮助。

*（题图：MJ/f614be05-cc16-40ef-9b2d-8f7a6864400f）*

---

via: <https://itsfoss.com/vlc-check-log/>

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

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


Linux 爱好者线下沙龙：LLUG 2023 深圳 - 活动预告

![](/data/attachment/album/202309/11/190501tvkx6krhvhrpaxpx.jpg)

经历过 [6 月北京场](/article-15929-1.html)、[7 月上海场](/article-16052-1.html)，一个月的休整之后，这次 LLUG 来到大陆的南端，美丽的鹏城 —— 深圳。

**2023 年 9 月 24 日下午，我们将在深圳举行 LLUG 2023 · 深圳场，**欢迎大家来到现场，和我们一起交流技术，分享自己工作过程中的所思所想。

本次活动依然由 Linux 中国和龙蜥社区（OpenAnolis）联合主办，华章出版社、《Linux 就该这么学》提供了支持。

> 龙蜥社区（OpenAnolis）是国内的顶尖 Linux 发行版社区，我们希望在普及 Linux 知识的同时，也能让中国的 Linux 发行版，为更多人知晓，推动国产发行版的发展和进步。

本次活动，我们将设常规的技术分享和闪电演讲两种不同分享的形态。技术分享会邀请来自 Linux 社区的开发者，分享自己在 Linux 中的技术实践，并配合 Q&A 的环节，帮助大家理解技术难点和实践。闪电演讲则不设定主题，每个人有 5 分钟时间来分享自己与 Linux、技术、开源有关的话题，共计 6 个闪电演讲名额。

如果你有想分享的，或者是想听别人分享的，欢迎通过评论告诉我们，我们来帮你邀请专家分享～

![](/data/attachment/album/202309/11/190422x6xx894m76mfxv2m.png)

**提前剧透**：Linux 中国的负责人硬核老王，也会来到现场和大家一起交流！

如果你对分享感兴趣，欢迎填写下方问卷来提交你的议题：<https://jinshuju.net/f/VJkeMZ>

*（题图：MJ/b85cec6e-6646-4033-8f1d-914740e5e49f）*


硬核观察 #1121 人工智能正在大量“喝水”，你的每个问题都会用掉一瓶水

Summary:
? 人工智能正在大量“喝水”，你的每个问题都会用掉一瓶水
? 2023 年顶级编程语言：Python 和 SQL
? Meta 计划训练与 GPT-4 相当的人工智能模型
»
»

希望中国能有自己的chatGPT

![](/data/attachment/album/202309/11/194808vly0rlwlv2vymxk2.jpg)

![](/data/attachment/album/202309/11/194817b181p278accpsx2c.jpg)

### 人工智能正在大量“喝水”，你的每个问题都会用掉一瓶水

对人工智能工具的需求不断增长会带来高昂的成本，这不只是昂贵的半导体，还会增加数据中心的耗水量，因为所有这些计算都需要耗费大量电力并产生大量热量。OpenAI 的 ChatGPT 是在微软的数据中心训练的，这导致微软消耗了更多的冷却水。微软在其最新的环境报告中披露，从 2021 年到 2022 年，它的全球耗水量激增了 34%（达到近 17 亿加仑，超过 2500 个奥林匹克规格的游泳池）。有研究估计，每当你向 ChatGPT 提出 5 到 50 个提示或问题时，ChatGPT 会消耗 500 毫升的水来冷却。同期，谷歌的用水量也增长了 20%，这在很大程度上也归功于其人工智能工作。

>
> **[消息来源：AP News](https://apnews.com/article/chatgpt-gpt4-iowa-ai-water-consumption-microsoft-f551fde98083d17a7e8d904f8be822c4)**
>
>
>

>
> 老王点评：人工智能也需要不断补充水分才能跑啊。?
>
>
>

![](/data/attachment/album/202309/11/194831hm30goqrq883g33z.jpg)

### 2023 年顶级编程语言：Python 和 SQL

IEEE Spectrum 发布了第 10 届年度顶级编程语言排行榜。它从三个类别中各选出一种顶级语言：

* 光谱榜：在软件工程师使用最多的语言
* 职位榜：雇主需求量最大的语言
* 趋势榜：流行的语言

Python 在光谱榜（使用最多的语言）中保持第一，它已成为万金油语言，也是某些领域的高手，如人工智能领域。而在职位榜（雇主需求最多）中，SQL 排到了榜首，但具有讽刺意味的是，纯粹的 SQL 程序员是很难找到工作的。相反，雇主们喜欢看到 SQL 技能与其他语言的结合。而在趋势榜上，Python 仍然居首。

>
> **[消息来源：IEEE](https://spectrum.ieee.org/the-top-programming-languages-2023)**
>
>
>

>
> 老王点评：Python 登顶并不意外，但是 SQL 能够登上工作需求排行榜首位，还是有点吃惊。所以，你知道该学习什么编程语言了吗？
>
>
>

![](/data/attachment/album/202309/11/194843k3aqg6t626re6e2t.jpg)

### Meta 计划训练与 GPT-4 相当的人工智能模型

Meta 公司已经购买了更多的英伟达 H100 人工智能训练芯片，以便不需要依赖微软的 Azure 云平台来训练新的聊天机器人。该公司计划在 2024 年初开始训练新的大型语言模型，目标似乎是传闻中 Meta 已经在开发的生成式人工智能功能的自然延伸，预计其功能将与 OpenAI 提供的最先进模型一样强大。据称，Instagram 正在测试一个拥有 30 种性格的聊天机器人，这听起来很像该公司本月即将推出的未公布的人工智能 “personas”。

>
> **[消息来源：The Verge](https://www.theverge.com/2023/9/10/23867323/meta-new-ai-model-gpt-4-openai-chatbot-google-apple)**
>
>
>

>
> 老王点评：我比较看好 Meta 在 AI 方面的进展，尤其是他们使用伪开源打破 OpenAI 和谷歌的护城河的做法，颇有影响，虽然我腹诽他们的伪开源。
>
>
>


Firefox 117 版本增加自动翻译功能支持

Summary: Firefox 117 版本为即将到来的升级带来了必要的改进和新功能支持。

Firefox 117 版本为即将到来的升级带来了必要的改进和新功能支持。

![](/data/attachment/album/202309/12/083600pv7yp83pe82b72tp.jpg)

>
> Firefox 117 版本为即将到来的升级带来了必要的改进和新功能支持。
>
>
>

Firefox 是一款被许多人喜爱、却被少数人讨厌的浏览器。但是，作为**基于 Chromium 的浏览器**（例如 Chrome 和 Opera）的开源替代品，它不断发展以为其武器库添加新功能。

这一次，随着 **Firefox 117** 的发布，我们添加了一个有趣的附加功能，它已经准备了相当长一段时间了。

请允许我在本文中向你介绍这一点以及更多内容。让我们开始。

### ? Firefox 117：有什么新变化？

![](/data/attachment/album/202309/12/083811sjne7bk17133my71.png)

与大多数 Firefox 版本一样，它也提供了很多功能。一些值得注意的亮点包括：

* 新的注重隐私的本地翻译功能（正在进行）。
* 将信用卡自动填充功能扩展到更多地区。
* YouTube 视频列表现在可以使用屏幕阅读器正确滚动。

虽然功能听起来不错，但让我们关注翻译功能。

### 注重隐私的翻译

如上面的演示，Firefox 现在具有内置翻译工具。

它的主要卖点是**所有语言翻译都在本地进行**，无需将你的数据发送到任何服务器进行处理。

该功能本来已经存在于 Firefox 中，由名为 “[Firefox Translations](https://addons.mozilla.org/en-US/firefox/addon/firefox-translations/)” 的附加组件提供。

但是，[当时](https://hacks.mozilla.org/2022/06/neural-machine-translation-engine-for-firefox-translations-add-on/) 在 Mozilla 对引擎代码库进行内部安全审查后，由于其第三方依赖性，放弃将其直接将其集成到 Firefox 中。

幸运的是，现在我们有了合适的原生功能。**但是，有一个问题。**

>
> ? 感谢 [Ghack](https://www.ghacks.net/2023/08/29/firefox-117-native-language-translations-last-firefox-102-update-and-security-fixes/)，我发现**翻译功能在 Firefox 117 上默认处于禁用状态。他们计划逐步向用户推出该功能，并在下一个版本更新时默认禁用**。
>
>
>

因此，为了测试它，我必须进入 `about:config` 手动启用它，然后在高级首选项中启用 `browser.translations.enable` 标志。

![](/data/attachment/album/202309/12/083811ckgv33y8lyvyk78y.png)

### ? 其他更改和改进

除此之外，还有一些值得注意的变化：

* 各种安全更新。
* macOS 用户现在可以控制控件和链接的选项卡功能。
* 新的 CSS 兼容性工具提示增强了 Web 兼容性检查。（对网络开发人员有用）
* 一个新的首选项，允许禁用按 Shift+右键单击时出现的上下文菜单。

你可以浏览 [发行说明](https://www.mozilla.org/en-US/firefox/117.0/releasenotes/) 以更深入地了解此版本。

### ? 获取 Mozilla Firefox 117

你可以从 [FTP 门户](https://ftp.mozilla.org/pub/firefox/releases/117.0/) 获取最新版本的 Firefox。如果尚未提供，它应该很快就会在 [官方网站](https://www.mozilla.org/firefox/download/thanks/) 上提供。

>
> **[Mozilla Firefox 117](https://www.mozilla.org/firefox/download/thanks/)**
>
>
>

**对于现有安装：** 你可以通过在设置菜单中搜索“**更新**”，然后单击“**检查更新**”来更新它。

? 你对 Firefox 117 新的自动翻译功能支持有何看法？ 在下面的评论中分享你的想法。

*（题图：MJ/e604e69e-3cf0-4306-8f3f-1dac6f1f9220）*

---

via: <https://news.itsfoss.com/firefox-117-release/>

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

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


7 个独特的非主流网页浏览器等待你的探索

看来主流就是指 chrome 了

除了tor的外其他都试过，还是seamonkey好用，特别是32位

![](/data/attachment/album/202309/12/093823qukgvv81zy7iz68b.jpg)

>
> 想要尝试一些新奇的东西吗？这些与众不同的网页浏览器或许能为你的浏览体验带来新的乐趣。
>
>
>

网页浏览器是我们浏览互联网的重要工具。因此，对于大多数用户来说，浏览器的用户体验和功能集是至关重要的因素。

考虑到各种因素，包括安全性问题，用户往往会选择 [最受欢迎的网页浏览器](https://itsfoss.com/best-browsers-ubuntu-linux/)。

理所当然，为了便捷性，你可能不愿意轻易尝试一个新的或是实验阶段的网页浏览器。但是，如果你打算切换一种不同的用户体验，又或者是想要尝试一款独特的网页浏览器，那又该如何呢？

无需担忧，我们为你准备了一些你可能愿意一探究竟的选项。

### 1、Nyxt

![](/data/attachment/album/202309/12/093856g66l0nkmf6kt0nl6.png)

[Nyxt](https://nyxt.atlas.engineer/) 是一款专为那些大量使用键盘的用户设计的网页浏览器。

你可以在这款浏览器上使用键盘快捷键进行网页浏览，完全不需要使用鼠标。这能够让你节省时间，让你更少地分心去适应可能会让人感到困扰的用户界面。

[Nyxt 浏览器](https://itsfoss.com/nyxt-browser/) 目前以 Flatpak 形式提供，并有计划提供对 macOS/Windows 的支持。你可以按照其 [官方网站](https://nyxt.atlas.engineer/download) 上的说明进行安装，并在其 [GitHub 页面](https://github.com/atlas-engineer/nyxt) 了解更多信息。

亮点：

* 主打键盘操作
* 可进行个性化定制

>
> **[Nyxt](https://nyxt.atlas.engineer/)**
>
>
>

### 2. Epiphany（GNOME Web 应用）

![](/data/attachment/album/202309/12/093857z6oidrsmhhnineee.png)

如果你是那些寻求具备基础功能且用户体验质感洁净的用户，那么 GNOME Web 应用（也被称为 Epiphany）将会是你的理想选择。

尽管该浏览器并未装饰众多现代化的浏览器功能，但其外观和使用体验绝对不会令你失望。值得注意的是，Epiphany 是一款专门为 Linux 用户设计的浏览器，此外，它还支持 Firefox 的同步功能。

亮点：

* 极简而精致的用户体验
* 具备必要的功能
* 支持 Firefox 同步

>
> **[GNOME Web](https://apps.gnome.org/zh-CN/Epiphany/)**
>
>
>

### 3. Tor

![](/data/attachment/album/202309/12/093858raplgd88kflaplp6.png)

[Tor 浏览器](https://www.torproject.org/) 在隐私保护领域的爱好者中享有盛名。而且，它也是一款可以提供安全和私密网络体验的独特解决方案。

Tor 浏览器基于 Mozilla 的 Firefox 进行开发，同时也加入了一些旨在提升隐私保护能力和 Tor 网络集成的新特点。

此款浏览器可以在 Linux、Windows、macOS 以及 Android 平台上使用。

亮点：

* 专注于隐私保护
* 集成 Tor 网络的连接

>
> **[Tor 浏览器](https://www.torproject.org/)**
>
>
>

### 4、Mullvad 浏览器

![](/data/attachment/album/202309/12/093858ihnhtce5ao85yqv9.jpg)

[Mullvad 浏览器](https://mullvad.net/en/download/browser/linux) 是一个专注于隐私保护的解决方案，与 Tor 类似但没有集成 Tor 网络。在编写本文时，这是一个非常新的选择，其开发是与 Tor 项目合作进行的。

如果你想尝试 Mullvad 的 VPN 服务或想要体验一下私密的网络浏览，你可以尝试一下这款浏览器。

此浏览器适用于 Linux、Windows 和 macOS。

亮点：

* 以隐私为中心
* 开箱即用的 VPN 集成

>
> **[Mullvad 浏览器](https://mullvad.net/en/download/browser/linux)**
>
>
>

### 5、Min

![](/data/attachment/album/202309/12/093859vmzkfm6w8t8tmwfb.png)

Min 非常类似于 Epiphany，但更为极简。如其名称所示，Min 的目标是为你营造一个无干扰的用户体验，让你能够专注于当前的页面。

你可以将你的页面进行分组并快速访问。同时，它也内置了隐私保护功能。

亮点：

* 用户体验为中心
* 高效

>
> **[Min](https://minbrowser.org/)**
>
>
>

### 6、Konqueror

![](/data/attachment/album/202309/12/093859fb1eyu9quqhup5yu.png)

[Konqueror](https://apps.kde.org/konqueror/) 是 KDE 的网页浏览器，具有管理和预览文件的功能。

它的用户界面简洁有效，内置了基本的隐私保护选项。

如果你是 KDE Plasma 桌面的用户，你可以试试这款浏览器，它能带给你简洁易用的浏览体验。

亮点：

* 专为 KDE 用户打造
* 简约的用户体验

>
> **[Konqueror](https://apps.kde.org/konqueror/)**
>
>
>

### 7、Falkon

![](/data/attachment/album/202309/12/093900qz6ecxigcnci3aer.png)

Falkon 是另一款专为 KDE 用户设计的浏览器。如果你正在寻找一款 [轻量级的开源浏览器](https://itsfoss.com/lightweight-web-browsers-linux/)，这是你的一个选择。

Falkon 是一款基于 QtWebEngine 的浏览器，拥有基本的隐私保护功能。

你可能无法得到丰富的功能集，但如果你只需要一些基础的网络导航功能，如查看邮件、观看 YouTube，Falkon 将是你的一个不错的选择。

Falkon 适用于 Linux 和 Windows。

>
> **[Falkon](https://www.falkon.org/)**
>
>
>

### 非自由开源软件：Opera One

![](/data/attachment/album/202309/12/093901jaky4obfv8osoioy.png)

[Opera One](https://www.opera.com/one) 是 Opera 开发者的一项全新尝试，旨在推出经典 Opera 网页浏览器的继任者。如果你并不追求一个颠覆性的浏览器，但希望能有独特的使用体验，Opera One 或许是你的一个理想选择，只需要你对这款专有软件持开放态度。

这款浏览器尝试以一种全新的方式处理浏览器标签，并且保持其设计的模块化。更重要的是，它完全集成了原生的 AI 技术。

Opera One 适用于 Linux 以及包括 macOS 和 Windows 在内的其他平台。

### 那么，你的选择是？

我列出了一些与众不同，相较于普遍认知的选择提供独特体验的网页浏览器。此外，如果你喜欢在终端操作，你还可以探索如 [Carbonyl](https://github.com/fathyb/carbonyl) 这样的 [命令行浏览器](https://itsfoss.com/terminal-web-browsers/)。

[Beaker 浏览器](https://github.com/beakerbrowser) 作为一项实验性尝试曾经颇受欢迎，但现已停止更新。

? 如果你在寻求各种特性的平衡，希望获得特别的浏览体验，我建议你可以尝试 GNOME Web、Min 或是 Nyxt（这是我个人的偏好）。你有意愿尝试哪个呢？

请在下方评论区分享你的想法。

---

via: <https://itsfoss.com/unique-web-browsers/>

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

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


硬核观察 #1122 微软将取消 Windows 中的第三方打印机驱动程序

Summary:
? 微软将取消 Windows 中的第三方打印机驱动程序
? 获得艺术大奖的著名 AI 绘画未能获得版权
? 微软决定由它来选择你使用的安全登录方式
»
»

打印机可是敏感设备哦，很多人/势力盯着的。

说个冷知识：用常规(激光/喷墨)打印机打印的纸质文件是可以追踪到打印机拥有者。一些举报者就是这么被发现的。

![](/data/attachment/album/202309/12/194635gvtptsbuqb1q6v9g.jpg)

![](/data/attachment/album/202309/12/194645hgmrgtd6dh9hyytz.jpg)

### 微软将取消 Windows 中的第三方打印机驱动程序

微软计划于 2027 年取消 Windows 中的第三方打印机驱动程序。这样做的部分原因是，Mopria 联盟为打印机提供了通用标准。该联盟由多家打印机厂商于 2013 年成立。从 Windows 10 21H2 开始，微软就在其操作系统中加入了对 Mopria 的支持，借助微软 IPP 类驱动程序，可支持通过网络或 USB 连接的设备。微软表示：“这样一来，打印设备制造商就无需提供自己的安装程序、驱动程序、实用程序等”。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/11/go_native_or_go_home/)**
>
>
>

>
> 老王点评：这种通用外设标准化是一件好事。除了一些非常老旧的打印机，应该没什么影响。
>
>
>

![](/data/attachment/album/202309/12/194813bsuzqsi3islxqqix.jpg)

### 获得艺术大奖的著名 AI 绘画未能获得版权

还记得那副获得 2022 年科罗拉多州博览会年度美术竞赛的《<ruby> 空间歌剧院 <rt>  Théâtre d'Opéra Spatial </rt></ruby>》的 AI 绘画吗？它是艺术家使用 MidJourney AI 生成的，以其复古的笔触细腻的色彩，意外地赢得了艺术创作比赛的第一名。这件事引发了公众对 AI 绘画和 MidJourney 的极大兴趣。不出意外，美国版权局也拒绝了对该作品的版权授予，“因为它不是人类创作的产物……其中包含的人工智能创作素材超过了最低限度”。使用 MidJourney 创作这幅画的 Jason Allen 告诉版权局，他使用 Midjourney “输入了大量修改和文本提示，至少 624 次，才得到了图片的初始版本”，并用 Photoshop 对其进行了修改。

>
> **[消息来源：路透社](https://www.reuters.com/legal/litigation/us-copyright-office-denies-protection-another-ai-created-image-2023-09-06/)**
>
>
>

>
> 老王点评：不授予版权有不授予的道理，我认为 AI 制品应该有不同于现有版权范围的新的版权认定。
>
>
>

![](/data/attachment/album/202309/12/194829z269v2wprbk5p7pp.jpg)

### 微软决定由它来选择你使用的安全登录方式

微软本周将推出多因素身份验证（MFA）系统首选验证，它将为登录的个人选择最安全的方法，如果该方法不可用，则提供替代方法。Azure 活动目录会查看用户账户注册的身份验证方法，并选择最安全的途径。首选方法列表从临时访问通行证开始，然后依次是基于证书的身份验证、FIDO2 安全密钥、微软认证器的推送通知和基于时间的一次性密码（OTP），最后是手机。微软的总体目标是最终放弃使用用户名和密码作为身份验证方法，转而使用生物识别等其他方法。

>
> **[消息来源：The Register](https://www.theregister.com/2023/05/18/microsoft_azure_system_authentication/)**
>
>
>

>
> 老王点评：总之，就是大家都习惯的密码是最不可靠的安全方式。
>
>
>

### 回音

* [果然](/article-16172-1.html)，Bcachefs 没有进入 Linux 6.6，并按照 Linus Torvalds 的意见，先行 [并入](https://www.phoronix.com/news/Bcachefs-In-Linux-Next) 了 linux-next 树，它有望进入下一个版本的 Linux 内核。


让你的 Windows 系统为虚拟机做好准备

Summary: 以下是确保 Windows 系统已准备好运行虚拟机的必要条件。

敏感设备请勿擅自开启Intel VT技术选项。影响Intel6-11代，漏洞编号CVE-2022-40982。

以下是确保 Windows 系统已准备好运行虚拟机的必要条件。

![](/data/attachment/album/202309/13/100649idhbxhxehrqb9ahh.jpg)

>
> 以下是确保 Windows 系统已准备好运行虚拟机的必要条件。
>
>
>

在 VirtualBox 中看到了“<ruby> 无法打开虚拟机会话 <rt>  failed to open a session for the virtual machine </rt></ruby>”错误？

你的系统上可能没有启用虚拟化。

这是在 Windows 系统上创建虚拟机所需执行的几件事之一。

简单来说，你需要了解：

* 在你的 PC 上启用虚拟化支持
* 使用虚拟机程序创建/管理虚拟机
* 确保某些系统资源要求以无缝使用虚拟机

下面是第一件事：

### 在 Windows PC 上启用虚拟化

如果你的系统预装了 Windows 10/11，那么你很可能已经启用了虚拟化。你不需要额外的设置。

但如果你在系统上手动安装了 Windows，那么可能需要检查 BIOS 设置以查看它是否支持虚拟化。如果禁用，虚拟机程序将无法运行并给出错误。

这是使用 VirtualBox 程序时出现的错误：

![](/data/attachment/album/202309/13/100731nih654wuvow561zk.jpg)

你怎么能这么做呢？ 以下是基本步骤：

![](/data/attachment/album/202309/13/100731z7xywxyfrcfl0x73.jpg)

1. 前往 UEFI 固件设置（或 BIOS 菜单）。你通常可以通过按 `Del` 按钮或 `F1`、`F2`、`F10` 或 `F12` 来访问它。
2. 根据主板制造商的不同，用户界面会有所不同。但是，在大多数情况下，你必须进入到其中的“<ruby> 高级 <rt>  Advance </rt></ruby>”选项，并访问“<ruby> CPU 配置 <rt>  CPU Configuration </rt></ruby>”设置。
3. 在 CPU 配置中，你必须启用 “Intel (VMX) Virtualization Technology” 或 “SVM Mode”（适用于 AMD 处理器）。

下一步是什么？ 考虑到你已经启用了虚拟化支持，你需要使用 [虚拟化程序](https://itsfoss.com/virtualization-software-linux) 来帮助你完成工作。

### 使用虚拟化程序

你可以选择第三方应用以方便使用，也可以选择使用 Windows 自带的 Hyper-V。

#### Hyper-V

我们不会详细介绍如何使用 Hyper-V，但为了节省你一些时间，你可以按照以下步骤启用它，然后按照其[文档](https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/)使用它。

>
> ? Hyper-V 不适用于 Windows 10/11 家庭版。
>
>
>

考虑到你的系统上安装了 Windows 专业版/教育版/企业版，可以通过**控制面板**或使用 **PowerShell** 轻松启用它。

![](/data/attachment/album/202309/13/100731edlaadxd98hl90g0.jpg)

我更喜欢控制面板，只需在搜索栏中搜索 “Windows 功能”或通过 “控制面板 → 程序 → 打开或关闭 Windows 功能” 打开。

接下来，单击 “Hyper-V” 并点击 “OK”。就是这样。

![](/data/attachment/album/202309/13/100732sz6t70ckzqllkq8i.jpg)

它将通过获取所需的文件来应用更改。你只需要等待。

完成后，它会要求你**重启系统**以使新功能生效。

![](/data/attachment/album/202309/13/100732doyfs50okzkzo5so.jpg)

#### 第三方虚拟化程序

虽然使用 Hyper-V 可以让虚拟机获得更好的性能，但它使用起来却并不那么简单。

因此，建议终端用户使用第三方虚拟机程序。

最好的选择之一是 [VirtualBox](https://www.virtualbox.org/)。我们还有一个指南可以帮助你使用 [VirtualBox 安装 Linux](https://itsfoss.com/install-linux-in-virtualbox/)。

![](/data/attachment/album/202309/13/100732b7e1qls1706ev0ve.png)

它是一个开源程序，具有一系列功能和用户友好的界面。你也可以在 Windows、Linux 和 macOS 上使用它。

你还可以选择专有（但流行）的选项，例如 [VMware Workstation](https://www.vmware.com/products/workstation-player.html)。

想了解这些程序吗？你可以查看 Linux 下的一些可用选项，了解有哪些解决方案：

>
> **[9 个最佳虚拟化软件](https://itsfoss.com/virtualization-software-linux/)**
>
>
>

### 检查系统资源和要求

创建和使用虚拟机并不完全是一个非常占用资源的过程。但是，你可能需要注意一些变量。

其中一些包括：

* 确保你的系统至少有 4 GB 内存（越多越好）
* 双核或以上 64 位处理器

如果你不知道，即使虚拟机是孤立的机器，也会占用你系统的资源。大多数最低规格建议 4 GB RAM，但**我建议使用 8 GB**。

如果你想要**运行两个虚拟机**，你可能需要在 Windows 上拥有**超过 8GB 的内存**。

除了内存，你应该有一个**多核**处理器。这样，一些内核可以自由地让你在主机上做其他事情，而另一些内核则用于处理虚拟机。

当确定了处理器和内存，接下来就是**磁盘空间**。

对于虚拟机来说，磁盘通常是动态分配的，也就是说，物理存储驱动器的空间会随着操作系统及其文件的增加而消耗。

在某些类型的虚拟磁盘中，它保留你指定的整个空间。因此，执行此操作时，请在启动之前检查可用磁盘空间。通常最好选择一个未安装 Windows 系统的单独驱动器。

**如果你遵循了上述所有提示，你的 Windows 系统就可以运行和管理虚拟机了。现在，你可以 [在 Windows 的虚拟机中轻松地安装 Linux](https://itsfoss.com/install-linux-in-virtualbox/)**。

? 那么，你喜欢用什么方式来处理虚拟机？请在下面的评论中告诉我们你的想法。

*（题图：MJ/c1690724-a797-442b-8fb5-b6d41ef0c45c）*

---

via: <https://itsfoss.com/windows-enable-virtualization/>

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

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


Ubuntu 23.10 将提供实验性 TPM 支持的全磁盘加密

主要是Linux绕开机密码比较容易。类似早期Win启动F8进安全模式。

逐步在填漏洞。

![](/data/attachment/album/202309/13/104252l8yzx8ivb8y59iv6.jpg)

>
> 展望未来，Ubuntu 将允许你利用 TPM 支持的全磁盘加密。但是，这是你想要的吗？
>
>
>

Ubuntu 23.10 每日构建不断增加令人兴奋的新功能！

早些时候，我们介绍了 [主要的 PPA 变化](https://news.itsfoss.com/ubuntu-23-10-ppa/) 和新的 [基于 Flutter 的商店](https://news.itsfoss.com/ubuntu-23-10-ubuntu-store/)（也随最新的每日构建一起发布）。

现在，我们又看到了另一项重大更改，通过更改用户处理磁盘加密的方式（如果启用），增强 Ubuntu 系统的安全性。

该功能的初始支持将在 Ubuntu 23.10 中提供，并将在未来的 Ubuntu 版本中得到改进。

### Ubuntu 23.10：TPM 支持的全磁盘加密

![](/data/attachment/album/202309/13/104318rbcri23gkokr3g3z.png)

TPM 支持的<ruby> 全磁盘加密 <rt>  Full Disk Encryption </rt></ruby>（FDE）作为**一项实验性功能**引入，是 Ubuntu 过去 15 年处理 FDE 方式的重大变化。

**在现有系统中**，采用了密码机制，该机制将通过接受用户设置的密码来对用户进行身份验证，然后使用该密码提供对磁盘的访问。

所有这一切都是由于集成了 <ruby>   Linux 统一密钥设置  <rt>  Linux Unified Key Setup </rt></ruby>（LUKS）框架而成为可能，该框架在块级别处理磁盘加密。

**使用 TPM 支持的系统**，主板上的 TPM 芯片将用于提供全磁盘加密，而无需密码。

**芯片将处理锁定完整 EFI 状态的密钥** 以及内核命令行的解密。只有当设备使用已定义为“**授权**”来访问机密数据的软件启动时，才有可能实现这一点。

>
> ? TPM <ruby>   可信平台模块  <rt>  Trusted Platform Module </rt></ruby> 的缩写。
>
>
>

**但是，有一个问题。**

TPM 支持的 FDE 基于与 [Ubuntu Core](https://ubuntu.com/core) [相同的架构](https://ubuntu.com/core/docs/uc20/full-disk-encryption)，这导致了许多关键组件的共享，这些组件 **以 Snap 包的形式提供**。因此，**引导加载程序**（shim/GRUB）和**内核文件**等内容是通过 Snap 交付的。

幸运的是，这种新的 **TPM 支持的 FDE 并不是加密磁盘的唯一方法**。对于那些不想使用新系统的人来说，**传统密码系统仍将存在**。

用户还可以使用新系统和密码来进一步增强安全性。

有关 TPM 支持的磁盘加密如何工作的技术细节，我建议你阅读 Ubuntu 的[官方博客](https://ubuntu.com/blog/tpm-backed-full-disk-encryption-is-coming-to-ubuntu)。

**有兴趣测试一下吗？** ?

>
> ? 测试任何实验功能都可能导致全部数据丢失。因此，请自行承担风险。
>
>
>

好吧，TPM 支持的 FDE 已推出到 **Ubuntu 23.10** 的 [每日构建](https://cdimage.ubuntu.com/daily-live/current/) 中，你只需在安装过程中进行设置，如本文中的截图所示。

在 Ubuntu 安装程序中选择安装类型时，可在“**高级功能**”下使用新的 FDE 选项。

? 你对这个新的实验性功能有何看法？ 在下面的评论中分享你的想法。

*（题图：MJ/d89e5b66-af24-4a2f-b351-9257239819cd）*

---

via: <https://news.itsfoss.com/ubuntu-23-10-disk-encryption/>

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

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


硬核观察 #1123 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年

Summary:
? 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年
? 谷歌称它的搜索引擎是最好的
? OpenSSL 1.1.1 已经走到了生命的尽头
»
»

和干净利索有什么关系？只要openssl1.1.1还在维护期一秒钟，那些不思进取的软件公司一行代码都懒得改。

难道Linux也要统统安装360？

千万别装那鸟东西

除了360也可以试试腾讯管家（笑）

![](/data/attachment/album/202309/13/195440au0308u5nabzazun.jpg)

![](/data/attachment/album/202309/13/195453qzaq5j2par3xx52x.jpg)

### 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年

安全研究人员报告，一个下载网站间隔性地向 Linux 用户提供恶意软件，盗取密码和其他敏感信息长达三年多，直到最后销声匿迹。该网站提供了一个名为 “免费下载管理器“ 的 Linux 软件。从 2020 年开始，该网站有时会将用户重定向到另外一个恶意域名，提供该应用的恶意版本，它会在目标设备上安装后门。该后门会窃取包括系统信息、浏览历史、保存的密码、加密货币钱包文件以及云服务凭证等信息。这个恶意重定向于 2022 年结束，原因不明。

>
> **[消息来源：Ars Technica](https://arstechnica.com/security/2023/09/password-stealing-linux-malware-served-for-3-years-and-no-one-noticed/)**
>
>
>

>
> 老王点评：与 Windows 相比，Linux 恶意软件很少被发现，这往往让人们更加掉以轻心，现在检查一下你的 Linux 桌面，或许为时不晚。
>
>
>

![](/data/attachment/album/202309/13/195503qwu4c29sf29vvee9.jpg)

### 谷歌称它的搜索引擎是最好的

在周二开庭的谷歌反垄断诉讼案上，司法部和来自美国各州和地区的 52 位总检察长指控谷歌支付数十亿美元，以换取被设置为手机和网络浏览器的默认搜索引擎，从而非法维持其垄断地位。法官称，谷歌至少在 2010 年就已成为垄断企业，如今控制着超过 89% 的在线搜索市场。谷歌的律师表示，人们选择谷歌作为浏览器和智能手机的默认搜索引擎“是因为谷歌为他们带来了价值，而不是因为他们不得不使用谷歌”。并举例，微软在 Windows 上的默认搜索引擎是必应，但用户切换到谷歌是因为它是搜索市场上更好的产品。而且，谷歌的律师表示，Safari 和 Firefox 通过默认搜索引擎交易换取收入分成，帮助了它们的创新。

>
> **[消息来源：彭博社](https://www.bloomberg.com/news/articles/2023-09-12/google-pays-10-billion-a-year-to-maintain-monopoly-doj-says)**
>
>
>

>
> 老王点评：谷歌是不是最好的，和它是不是非法维持垄断没有关系。让我们看看这起新时代的 IT 巨头垄断案将如何走向。
>
>
>

![](/data/attachment/album/202309/13/195520c6wnnni6ns8oivhi.jpg)

### OpenSSL 1.1.1 已经走到了生命的尽头

OpenSSL 1.1.1 最初于 2018 年作为开源安全通信库的长期支持版本发布。当时，其背后的团队宣称，该版本将至少支持五年，也就是到今年。要想继续获得 OpenSSL 的支持，就必须升级到 OpenSSL 3.0 LTS 或最新的 3.1 版本。但迁移到更高版本的 OpenSSL 会带来风险和危险，一些依赖 OpenSSL 的服务可能会对更新反应迟钝，尤其是那些硬编码 OpenSSL 服务的物联网组件。实际上，企业宁可花钱让 OpenSSL 维护者和作者继续使用发霉的旧代码，比如，可以购买一份针对企业的价值 5 万美元的年度支持合同。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/12/openssl_111_end_of_life/)**
>
>
>

>
> 老王点评：作为一个安全基础组件，这么干净利索的停止服务支持，总是有些不负责任。
>
>
>


Btrfs 详解：基础概念

Summary: 这篇文章是《Btrfs 详解》系列文章中的一篇。

最早使用CoW和datasets等其他一些高级特性的文件系统是Sun的ZFS，BtrFS、APFS和ReFS都是类似ZFS的文件系统。

sun被oracle收购后openindiana继续提供zfs文件系统，国内有备份厂家就是使用openindiana的zfs来作备份的。

高屋建瓴地了解 Btrfs 文件系统....到底是如何了解的呀   ：``(

高屋建瓴地了解 Btrfs 文件系统....翻译成英文

"高屋建瓴地了解 Btrfs 文件系统" can be translated to English as:

"A profound understanding of the Btrfs file system."

A profound understanding of the Btrfs file system. 译成中文

"A profound understanding of the Btrfs file system." 可以翻译为中文:

"对 Btrfs 文件系统的深入了解。"

：0

很显然AI学习了过多的领导演讲稿。。。

这篇文章是《Btrfs 详解》系列文章中的一篇。

![](/data/attachment/album/202309/13/235109zpss77b87s0e00g2.jpg)

这篇文章是《Btrfs 详解》系列文章中的一篇。从 Fedora Linux 33 开始，Btrfs 就是 Fedora Workstation 和 Fedora Silverblue 的默认文件系统。

### 介绍

文件系统是现代计算机的基础之一。它是任何操作系统必不可少的一部分，且通常不为人注意。但是，像 Btrfs 这样的现代文件系统提供了许多很棒的特性，使计算机的使用更加方便。例如，它可以无感地为你压缩文件，或者为增量备份建立可靠的基础。

这篇文章将带你高屋建瓴地了解 Btrfs 文件系统是如何工作的，有什么特性。本文既不会过多涉及技术细节，也不会研究其底层实现，系列后续的文章会详细介绍一些重要特性。

### 什么是文件系统

如果你基本了解过文件系统是如何工作的，那么下面的内容对你应该是不陌生的，你可以直接跳到下一节。否则，请先阅读下面对文件系统的简短介绍。

简单来说，文件系统允许你的 PC 去寻找存储在磁盘上的数据。这听起来像是微不足道的工作，但实际上时至今日各种类型的非易失性存储设备（比如机械硬盘、固态硬盘、SD 卡等等）仍然与 1970 年代 PC 被发明时基本相同：一个（巨大的）存储块集合。

“<ruby> 块 <rt>  Block </rt></ruby>” 是最小的可寻址存储单元。PC 上的每个文件内容被存储在多个块中。一个块通常是 4096 字节的大小。这取决于你的硬件和在这之上的软件（即文件系统）。

文件系统允许我们从海量的存储块中查找文件的内容，这是通过所谓的 *inode* 去实现的。一个 inode 在特殊格式的存储块里记录了文件的信息。这包含文件的大小，哪里去寻找组成文件内容的存储块，访问规则（即谁可读，可写，可执行）等等。

下面是 inode 的示意图：

![A text file “myfile.txt” and a hypothetical example of its representation on disk. All the squares are individual storage blocks.](/data/attachment/album/202309/13/235150rgltgqg7qo7tlmyk.png)

inode 的结构对文件系统的功能有巨大的影响，因此它是各种文件系统诸多的重要数据结构之一。出于这个原因，每个文件系统有各自的 inode 结构。如果你想了解更多信息，看看下面 [链接](https://btrfs.wiki.kernel.org/index.php/Data_Structures#btrfs_inode_item) 关于 Btrfs 文件系统 inode 结构的内容。如需更详细地了解各个字段的含义，你可以 [参考](https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table) ext4 文件系统的 inode 结构。

### 写时复制（CoW）文件系统

相比 ext4，Btrfs 拥有的杰出特性之一是，它是一个 <ruby> 写时复制 <rt>  Copy-on-Write </rt></ruby>（CoW）文件系统。当一个文件被改变和回写磁盘，它不会故意写回它原来的位置，而是被复制和存储在磁盘上的新位置。从这个意义上，可以简单地认为 Cow 是一种 “重定向”，因为文件写入被重定向到不同的存储块上。

这听起来很浪费，但实际上并不是。这是因为被修改的数据无论如何一定会被写到磁盘上，不管文件系统是如何工作的。Btrfs 仅仅是确保了数据被写入在之前没被占据的块上，所以旧数据保持完整。唯一真正的缺点就是这种行为会导致文件碎片化比其他文件系统要快。在日常的电脑使用中，你不太可能会注意到这点差异。

CoW 的优势在哪里？简单的说：文件被修改和编辑的历史被保存了下来。Btrfs 保存文件旧版本的引用（inode）可以轻易地被访问。这个引用就是快照：文件系统在某个时间点的状态镜像。这将是这系列文章里的单独的一篇，所以暂时留到后面介绍。

除了保存文件历史，CoW 文件系统永远处于一致的状态，即使之前的文件系统事务（比如写入一个文件）由于断电等原因没有完成。这是因为文件系统的元数据更新也是写时复制的：文件系统本身永远不会被覆写，所以中断不会使其处于部分写入的状态。

### 对文件的写时复制

你可以将文件名视为对 inode 的指针。在写入文件的时候，Btrfs 创建一个被修改文件内容（数据）的拷贝，和一个新的 inode（元数据），然后让文件名指向新的 inode，旧的 inode 保持不变。下面是一个假设示例来阐述这点：

![Continuation of the example above: 3 more bytes of data were added](/data/attachment/album/202309/13/235151mhorhyiymd4puvuf.png)

这里 `myfile.txt` 增加了三个字节。传统的文件系统会更新中间的 `Data` 块去包含新的内容。CoW 文件系统不会改变旧的数据块（图中灰色），写入（复制）更改的数据和元数据在新的地方。值得注意的是，只有被改变的数据块被复制，而不是全部文件。

如果没有空闲的块去写入新内容，Btrfs 将从被旧文件版本占据的数据块中回收空间（除非它们是快照的一部分，本系列后续文章会看到）。

### 对目录的写时复制

从文件系统的角度看，目录只是特殊类型的文件。与常规文件不同，文件系统直接解释数据块的内容。一个目录有自身的元数据（inode，就像上面说的文件一样）去记录访问权限或修改时间。最简单的形式，存在目录里的数据（被叫作目录项）是一个 inode 引用的列表，每个 inode 又是另外的文件或目录。但是，现代文件系统在目录项中至少会存储一个文件名和对应的 inode 引用。

之前已经指出，写入一个文件会创建之前 inode 的副本，并相应修改其内容。从根本上，这产生了一个和之前无关的新的 inode 。为了让被修改的文件对文件系统可见，所有包含这个文件引用的目录项都会被更新。

这是一个递归的过程！因为一个目录本身是一个带有 inode 的文件。修改目录里的任何一项都会为这个目录文件创建新的 inode 。这会沿着文件系统树递归直到文件系统的根。

所以，只要保留对任何旧目录的引用，并且这些目录没有被删除和覆写，就可以遍历之前旧状态的文件系统树。这就是快照的功能。

### 后续文章可以期待的内容

Btrfs 不只是一个 Cow 文件系统。它目标是实现高级特性的同时关注容错、修复和易于管理（参见 [文档](https://btrfs.readthedocs.io/en/latest/Introduction.html)）。本系列未来的文章将会专门介绍这些特性。

* 子卷 – 文件系统中的文件系统
* 快照 – 回到过去
* 压缩 – 透明节省存储空间
* 配额组 – 限制文件系统大小
* RAID – 替代 mdadm 配置

这远非 Btrfs 特性的详尽列表。如果你想全面地了解可用特性，查看 [维基](https://btrfs.wiki.kernel.org/index.php/Main_Page) 和 [文档](https://btrfs.readthedocs.io/en/latest/Introduction.html)。

### 总结

我希望我已能激起你进一步了解计算机文件系统的兴趣。如果目前你有任何疑问，请在评论区留言讨论以便在日后文章中探讨，同时，你也可以自行学习文中提供的相关资源。如果你发现 Btrfs 中某项特别有趣的功能，也欢迎在评论区提出。如果某个主题收到足够的关注，我可能会在系列文章中新增相关内容。下一篇文章再见！

*（题图：MJ/35fa1970-1806-4026-8d58-095a56206ec9）*

---

via: <https://fedoramagazine.org/working-with-btrfs-general-concepts/>

作者：[Andreas Hartmann](https://fedoramagazine.org/author/hartan/) 选题：[lkxed](https://github.com/lkxed) 译者：[A2ureStone](https://github.com/A2ureStone) 校对：[wxy](https://github.com/wxy)

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


如果你使用过 “Free Download Manager”，必读！

Summary: 无论如何，保持谨慎总是上策！

好几年前手机上下载种子临时安装过，当时看官网语言支持把“中文”=“繁体中文”，用一次就卸载了。

前几天想将antixlinux的衍生mxlinux做成u盘系统的时候发现地区语言选项，简体是中国，繁体是中华民国，立刻删除了iso

我去，用了很长一段时间了，用 aur 装的<br />
对照了下报告，没发现可疑文件

uget有同样问提么？

无论如何，保持谨慎总是上策！

![](/data/attachment/album/202309/14/080300ykkwbb9n48kj81bn.jpg)

>
> 无论如何，保持谨慎总是上策！
>
>
>

对于 Linux 的恶意软件，我们并不常提及，这是因为它常会被迅速修复，并且与 Windows/macOS 相比，在现实中被利用的情况相对较少。

然而，一款颇受欢迎的跨平台下载管理器 **Free Download Manager**，最近引起了一些关注。

虽然在我们的 [下载管理器列表](https://itsfoss.com/best-download-managers-linux/) 中，并未将其列为 Linux 的推荐选项，但我们的一些读者以及我自己在过去的 Windows 使用体验中，都曾选择了它。

那么，问题来了，这究竟是怎么回事？

### 伪装成 Linux 版 Free Download Manager 的恶意软件

**Free Download Manager 本身并非恶意软件**。但问题在于，研究人员发现了一个恶意 Linux 程序包，而这个包，正是假冒 Free Download Manager 的。

安全研究公司卡巴斯基的研究员们 [发现](https://securelist.com/backdoored-free-download-manager-linux-malware/110465/)，这个恶意程序包已经存在了至少两年（**2020-2022年**）的时间，而在此期间，大部分使用者并未意识到他们所安装的软件包，含有恶意组件。

许多恶意程序包都试图伪装成市场上受欢迎的程序；那么，*这件事究竟是怎么回事呢？*

**问题的核心在于**：这个恶意程序包是通过 **Free Download Manager 的官方网站** ? 和其他非官方渠道分发的，一直持续到 2022 年。

>
> ? Free Download Manager 的官方网站是 `freedownloadmanager.org`，正式的下载 URL 是 `files2.freedownloadmanager.org`。
>
>
>

而恶意程序包下载的域名是 `deb.fdmpkg.org`。

换言之，这表明开发者并未察觉其官方网站已被恶意破坏，用户已被重定向，下载安装来自另一个域名的带有恶意的 Linux 程序包。

**需要注意的是**：并非所有用户在 2020 年至 2022 年期间，都被从官方网站重定向，下载了恶意程序包。然而，这并不能让情况改观，对吧？

你可能下载了，也可能没有下载安装过这个具有感染性的程序包 ?

**这个恶意软件究竟干了什么** ?

卡巴斯基的报告在描述这个恶意软件时，称其为 “一种 bash 窃取器”，这种窃取器可以收集系统信息、浏览记录、已保存的密码、加密货币钱包的文件，以及云服务的凭据，包括 AWS、Google Cloud、Oracle Cloud Infrastructure 以及 Azure 等。

考虑到在现实世界中很少看到 Linux 版的恶意软件，因此验证你下载工具的来源和可靠程度是至关重要的，这需要你始终保持谨慎态度。

尽管我们并未明确了解有多少的 Linux 用户习惯使用 Free Download Manager，但这的确是令人警惕的新闻。你应当遵循所有 [提高隐私保护的建议](https://itsfoss.com/improve-privacy/)，确保你的在线体验安全无忧。

### 现在，你应该怎么做？

在软件的开发者就此问题做出正式公开回应之前，我会建议你转而使用其他下载管理器：

>
> **[6 个最好的 Linux 下载管理器](https://itsfoss.com/best-download-managers-linux/)**
>
>
>

如果你不记得（或无法确认你下载源的准确位置），我会建议你移除该下载管理器。

另外，我建议你阅读卡巴斯基发表的 [研究报告](https://securelist.com/backdoored-free-download-manager-linux-malware/110465/)，找出可能的系统遭受损害的迹象。如果你的系统中存在相同的文件路径，且 Debian 程序包的恶意校验和与之相吻合，那么你应该手动移除它们。

即使你想要重新下载该软件，在安装包到你的 Linux 系统之前，你也必须核对下载 URL 的准确性。

? 你如何看待 Linux 用户如何保护自己避免受到恶意软件的攻击？欢迎在评论中留言分享你的想法。

*（题图：MJ/6b1e3b3f-a880-4342-b38b-500468c72052）*

---

via: <https://news.itsfoss.com/free-download-manager-malware/>

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

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


硬核观察 #1124 Unity 新的按安装次数定价激怒了游戏开发社区

Summary:
? Unity 新的按安装次数定价激怒了游戏开发社区
? Ubuntu 23.10 安装程序恢复对 ZFS 文件系统的支持
? Stability AI 发布生成式音频 AI
»
»

如果给AI足够多的3D打印机，它是不是能造出另一个世界？

按次付费对于刷单是个不小的成本。

![](/data/attachment/album/202309/14/154911uu54b5hbfr44luzb.jpg)

![](/data/attachment/album/202309/14/154920ructxicjvjcaujje.jpg)

### Unity 新的按安装次数定价激怒了游戏开发社区

多年来，Unity 引擎以其免版税的授权结构赢得了大大小小开发商的好感，这意味着开发商无需根据游戏的销售情况支付额外费用。Unity 于本周二宣布了新的收费结构，在达到一定的最低门槛后，将开始按安装次数向开发者收费，每次安装费用甚至可以高达 0.20 美元，让这种好感被抛到了九霄云外。开发者们的反应非常迅速，可以说是群情激愤。新的 Unity 费用结构将于明年生效，将根据公司的不同订阅层级收取不同的每安装费用。甚至，新的收费结构将适用于以前存在的 Unity 游戏。之前，Unity 允许月收入低于 10 万美元的开发者完全免费使用，其 CEO 在 2015 年推出免费的个人版时说，“我们不会敷衍用户，也不会向他们收取版税。我们说免费，就是免费。”

>
> **[消息来源：Ars Technica](https://arstechnica.com/gaming/2023/09/game-developers-unite-against-unitys-new-per-install-pricing-structure/)**
>
>
>

>
> 老王点评：养肥了就该杀了，都是套路。
>
>
>

![](/data/attachment/album/202309/14/154931eo33haho91lvajls.jpg)

### Ubuntu 23.10 安装程序恢复对 ZFS 文件系统的支持

在基于 Flutter 的新版 Ubuntu Linux 桌面安装程序里，缺少了对 ZFS 根文件系统安装的支持。但最近在即将推出的 Ubuntu 23.10 中，他们恢复了对 ZFS 的“实验性”支持（包括在 subiquity 和桌面安装程序中），但尚不支持 ZFS 加密。由于 OpenZFS 内核驱动程序仍在 Linux 内核主树之外，使用 ZFS 可能面临一定的风险。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Ubuntu-23.10-ZFS-Install)**
>
>
>

>
> 老王点评：得不到发行版厂商支持的文件系统就很难发展起来。
>
>
>

![](/data/attachment/album/202309/14/154945x6wtmuwhd1kwi62t.jpg)

### Stability AI 发布生成式音频 AI

Stability AI 今天宣布其 Stable Audio 技术，让任何人都能使用简单的文字提示生成简短的音频片段。它是利用扩散模型来生成新的音频片段，该模型是在 AudioSparks 音频库中超过 800,000 首授权音乐的基础上训练出来的。Stable Audio 模型大约有 12 亿个参数，与最初发布的用于图像生成的 Stable Diffusion 大致相当。

>
> **[消息来源：Venture Beat](https://venturebeat.com/ai/stability-ai-debuts-stable-audio-bringing-text-to-audio-generation-to-the-masses/)**
>
>
>

>
> 老王点评：万事皆可训练，万物皆可生成。
>
>
>


在 Linux 文件系统中使用 attr 添加扩展属性

![](/data/attachment/album/202309/15/081240syst7uisttadnky6.jpg)

>
> 我使用开源的 XFS 文件系统是为了其扩展属性带来的小小便利。扩展属性是一种为我的数据添加上下文的独特方式。
>
>
>

“文件系统” 是一个描述你的计算机怎样跟踪你创建的所有文件的完美词语。你的计算机存储有大量的数据，无论是文档、配置文件还是数以千计的照片。这需要一种对人和机器都友好的方式。诸如 Ext4、XFS、JFS、BtrFS 的文件系统是你的计算机用来跟踪文件的“语言”。

你的桌面或终端可以帮助你快速查找文件。例如，你的文件管理器可能有过滤功能，以便让你可以快速查看家目录内的图片，它也可能带有搜索功能以让你使用文件名定位文件。这些特性被称作*文件属性*，正如其名，它们是由文件头或者文件系统代码定义的文件对象的属性。大多数的文件系统记录了标准的文件属性，例如文件名、文件大小、文件类型、创建时间、上次访问时间等。

我在我的计算机上使用开源的 XFS 文件系统，不是为了其稳定性和高性能，而是为了其扩展属性带来的小小便利。

### 常见的文件属性

当你保存一个文件，文件相关的数据也会随同保存。常见的属性会告诉操作系统是否更新访问时间，什么时间同步数据到硬盘等逻辑细节。哪些属性被保存取决于底层文件系统的功能和特性。

在标准文件属性（如果有标准属性的话）之外，XFS、Ext4 和 BtrFS 文件系统都可以使用扩展属性。

### 扩展属性

XFS、Ext4 和 BtrFs 允许你创建自己的任意文件属性。由于是自己创建的，操作系统不会有内建支持，不过我以“标签”的方式使用它们，就像图片的 EXIF 数据一样。开发者们也许会选择使用扩展属性去开发应用内的自定义的功能。

XFS 中的属性有两个“命名空间”：用户（`user`）和根（`root`）。当创建属性时，你必须将其加入其中一个命名空间。要将属性添加到根命名空间，必须使用 `sudo` 命令或以 `root` 身份登录。

### 增加一个属性

你可以使用 `attr` 和 `setfattr` 命令在 XFS 文件系统中为文件增加属性。

`attr` 命令默认在 `user` 命名空间下进行，所以你只需要为属性设置一个名字（`-s`）和值（`-V`）。

```
$ attr -s flavor -V vanilla example.txt
Attribute "flavor" set to a 7 byte value for example.txt:
vanilla

```

`setfattr` 命令需要你指定目标命名空间：

```
$ setfattr --name user.flavor --value chocolate example.txt

```

### 列出扩展文件属性

使用 `attr` 或者 `getfattr` 命令可以看已添加到文件上的扩展属性。`attr` 命令默认使用 `user` 空间，使用 `-g` 以获取扩展属性：

```
$ attr -g flavor example.txt
Attribute "flavor" had a 9 byte value for example.txt:
chocolate

```

`getfattr` 命令需要属性的命名空间和名字：

```
$ getfattr --name user.flavor example.txt
# file: example.txt
user.flavor="chocolate"

```

### 列出所有扩展属性

要看一个文件的所有扩展属性，你可以使用 `attr -l`：

```
$ attr -l example.txt
Attribute "md5sum" has a 32 byte value for example.txt
Attribute "flavor" has a 9 byte value for example.txt

```

或者，你也可以使用 `getfattr -d`：

```
$ getfattr -d example.txt
# file: example.txt
user.flavor="chocolate"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

扩展文件属性可以使用 `attr` 和 `setfattr` 更新，就像你创建这些属性一样：

```
$ setfattr --name user.flavor --value strawberry example.txt

$ getfattr -d example.txt
# file: example.txt
user.flavor="strawberry"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

### 其他文件系统上的属性

使用扩展属性最大的风险是忘记这些属性是特定于某个文件系统的。这意味着当你从一个磁盘或分区复制文件到另外一个磁盘或分区时，这些属性都会丢失，**即使**目标位置的文件系统也支持扩展属性。

为了避免丢失扩展属性，你需要使用支持保留这些属性的工具，例如 `rsync` 命令。

```
$ rsync --archive --xattrs ~/example.txt /tmp/

```

但无论你使用什么工具，如果你传输文件到一个不知道如何处理扩展属性的文件系统，这些属性都会被丢弃。

### 搜索属性

与扩展属性交互的机制并不多，所以使用这些添加的文件属性的方法也有限。我使用扩展属性作为标签机制，这让我可以将没有明显关系的文件联系起来。例如，假设我需要在一个项目中用“知识共享”的图形。假如我预见性地将 `license` 属性添加到了我的图形库中，我就可以使用 `find` 和 `getfattr` 在图形文件夹中寻找：

```
find ~/Graphics/ -type f \
    -exec getfattr \
    --name user.license \
    -m cc-by-sa {} \; 2>/dev/null

# file: /home/tux/Graphics/Linux/kde-eco-award.png
user.license="cc-by-sa"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

### 文件系统的秘密

文件系统一般不会引起你的注意。它们实际是定义文件的系统。这不是计算机做的最让人兴奋的任务，也不是用户应该关心的东西。但是有些文件系统可以给你有趣、安全的特殊能力，扩展文件属性就是一个好例子。它的用途可能有限，但是扩展属性是你为数据增加上下文的独特方法。

*（题图：MJ/06c0c478-7af7-49e4-836b-a9923db9dc0c）*

---

via: <https://opensource.com/article/22/6/linux-attr-command>

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

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


使用 R 语言构建一个可交互的 Web 应用

![](/data/attachment/album/202309/15/091903rot5yx9z9x8fq5df.jpg)

数据分析已成为企业的当务之急，并且对具有用户友好界面的数据驱动应用程序有巨大的需求。本文介绍如何使用 R 语言中的 Shiny 包开发交互式 Web 应用程序，R 语言是一种流行的数据科学编程语言。

如今，世界各地几乎所有企业都以某种形式依赖于数据。数据科学通过使用数据驱动的应用程序帮助许多企业实现转型，无论是在金融、银行、零售、物流、电子商务、运输、航空还是任何其他领域。

高性能计算机和低成本存储使我们现在能够在几分钟内预测结果，而不是像以前一样以前需要花费很多时间。数据科学家着眼于未来，正在开发具有高性能和多维可视化的便捷应用。这一切都始于大数据，它由三个组成部分组成：数量、多样性和速度。算法和模型都是根据这些数据提供的。机器学习和人工智能领域最前沿的数据科学家正在创建能够自我改进、检测错误并从中学习的模型。

在数据科学领域，统计和计算用于将数据转化为有用的信息，通常称为数据驱动科学。数据科学是来自各个领域的方法的综合，用于收集、分析和解释数据，以形成新的见解并做出选择。构成数据科学的技术学科包括统计学、概率、数学、机器学习、商业智能和一些编程。

数据科学可以应用于各个领域（图 1）。对大型、复杂数据集的分析是数据科学的重点。它帮助我们创建了一个以全新方式看待数据的新宇宙。亚马逊、谷歌和 Facebook 等科技巨头利用数据科学原理进行商业智能和商业决策。

![Figure 1 Key applications-and use cases of data science](/data/attachment/album/202309/15/091959pf12bh3f8dhfluff.jpg)

### R 语言：为数据科学量身打造的语言

由于海量的可用信息，我们迫切需要数据分析以得到新的见解，在多种技术的帮助下，原始数据转化为成品数据产品。在数据研究、处理、转换和可视化方面，没有比 R 语言更好的工具了。

R 语言用于数据科学的主要功能包括：

* 数据预处理
* 社交媒体数据获取和分析
* 对数据结构的各种操作
* 提取、转换、加载（ETL）
* 连接到各种数据库，包括 SQL 和电子表格
* 与 NoSQL 数据库交互
* 使用模型进行训练和预测
* 机器学习模型
* 聚类
* 傅里叶变换
* 网页抓取

R 语言是一种强大的编程语言，常用于统计计算和数据分析。有关优化 R 语言用户界面的努力由来已久。从简单的文本编辑器到更现代的交互式 R Studio 和 Jupyter Notebooks，世界各地的多个数据科学小组都在关注 R 语言的发展。

只有全世界 R 用户的贡献才使这一切成为可能。R 语言中包含的强大软件包使其日益强大。许多开源软件包使处理大型数据集和可视化数据变得更加容易和高效。

### 使用 Shiny 在 R 语言中开发交互式 Web 应用

你可以使用 Shiny 包在 R 语言中构建交互式 Web 应用程序。应用程序可以托管在网站上、嵌入 R Markdown 文档中，或用于开发控制面板板和可视化。CSS 主题、HTML 小部件和 JavaScript 操作都可以用于进一步自定义你的 Shiny 应用程序。

Shiny 是一款 R 语言工具，它可以轻松创建交互式的 Web 应用程序。它允许你将你的 R 代码扩展到 Web 上，从而使更多的人能够使用它，从中获益。

除了 Shiny 内置的功能外，还有许多第三方扩展包可用，例如 shinythemes、shinydashboard 和 shinyjs。

使用 Shiny 可以开发各种应用程序。以下是其中一些：

* 基于 Web 应用的机器学习
* 具有动态控件的 Web 应用程序
* 数据驱动的仪表盘
* 多重数据集的交互式应用
* 实时数据可视化面板
* 数据收集表单

Shiny Web 应用程序可以分为以下几类：

* 用户接口
* 服务功能逻辑
* Shiny 应用逻辑

获取更深理解，请访问以下网站 <https://shiny.rstudio.com/gallery/> 。

其中某个用 Shiny 开发的应用如图 2（<https://shiny.rstudio.com/gallery/radiant.html> ）。

![Figure 2: Shiny based app](/data/attachment/album/202309/15/091959aprwbe7ia4gc00i8.jpg)

### 销售仪表盘的生成

下面是一个与销售仪表盘相关的 Web 应用程序的代码片段。该仪表板具有多个控件和用户界面模块，用于查看数据。

首先，安装 Shiny 包，然后在代码中调用它，以便将输出呈现为 Web 页面的形式。

```
library(shiny)
library(dplyr)

sales <- vroom::vroom(“salesdata.csv”, na = “”)
ui <- fluidPage(
    titlePanel(“Dashboard for Sales Data”),
    sidebarLayout(
        sidebarPanel(
            selectInput(“territories”, “territories”, choices = unique(sales$territories)),
            selectInput(“Customers”, “Customer”, choices = NULL),
            selectInput(“orders”, “Order number”, choices = NULL, size = 5, selectize = FALSE),
        ),
        mainPanel(
            uiOutput(“customer”),
            tableOutput(“data”)
        )
    )
)
server <- function(input, output, session) {
    territories <- reactive({
        req(input$territories)
        filter(sales, territories == input$territories)
    })
    customer <- reactive({
        req(input$Customers)
        filter(territories(), Customers == input$Customers)
    })

    output$customer <- renderUI({
        row <- customer()[1, ]
        tags$div(
            class = “well”,
            tags$p(tags$strong(“Name: “), row$customers),
            tags$p(tags$strong(“Phone: “), row$contact),
            tags$p(tags$strong(“Contact: “), row$fname, “ “, row$lname)
        )
    })

    order <- reactive({
        req(input$order)
        customer() %>%
        filter(ORDER == input$order) %>%
        arrange(OLNUMBER) %>%
        select(pline, qty, price, sales, status)
    })

    output$data <- renderTable(order())

    observeEvent(territories(), {
        updateSelectInput(session, “Customers”, choices = unique(territories()$Customers), selected = character())
    })
    observeEvent(customer(), {
        updateSelectInput(session, “order”, choices = unique(customer()$order))
    })
}
shinyApp(ui, server)

```

运行 Shiny 应用程序的代码后，生成了图 3 所示的输出，可以在任何 Web 浏览器上查看。销售仪表盘具有多个控件，并且具有不同的用户界面模块，非常互动。

![Figure 3: Sales dashboard with multiple controls](/data/attachment/album/202309/15/092000noulhhhxpx9hyfxw.jpg)

通过使用 Shiny Cloud，可以将这个应用程序部署和托管在云上，以便随时随地在互联网上使用。

![Figure 4: Cloud for hosting and deployment of Shiny app](/data/attachment/album/202309/15/092000ep2rllq5rqrpl2s2.jpg)

Shiny Cloud 的免费版本允许在 25 个活动小时内部署五个应用程序。研究人员和数据科学家可以使用 R 的 Shiny 库开发基于实时数据驱动的用户友好应用程序。这个库也可以用于在 Web 平台上部署他们的机器学习应用程序。

*（题图：MJ/1a76ad20-e56d-480b-b28b-8cf74d2230a1）*

---

via: <https://www.opensourceforu.com/2022/10/using-r-for-building-an-interactive-web-app/>

作者：[Dr Kumar Gaurav](https://www.opensourceforu.com/author/dr-gaurav-kumar/) 选题：[lkxed](https://github.com/lkxed) 译者：[Charonxin](https://github.com/Charonxin) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1125 GitHub 调整主页信息流惹怒开发人员

Summary:
? GitHub 调整主页信息流惹怒开发人员
? 黑客声称只打了 10 分钟电话就关闭了米高梅酒店
? JetBrains 放弃开源插件，宣布全新 Rust IDE
»
»

连Ruby都有独立IDE（RubyMine）。考虑Rust如今的重要性，JetBrains是时候该开发独立IDE了。

当然，也希望有大佬能继续开发插件。

来自39.144.134.223的 Chrome Mobile 116.0|Android 10 用户

![](/data/attachment/album/202309/15/161212l1iv2lkv3pie1ujv.jpg)

![](/data/attachment/album/202309/15/161223i3538l8on5ul85ou.jpg)

### GitHub 调整主页信息流惹怒开发人员

一周前，GitHub 将用户主页中的“关注”信息流和算法推荐的“为你”信息合并，就像在浏览 Twitter 一样，信息流中不按时间顺序排列，也可能混入你没有关注的内容。这让不少用户感到非常生气。有用户说，“不是所有东西都要变得像 Twitter、Facebook 或 Instagram 一样。我们是来完成工作的，而不是来参与你的算法认为我们喜欢的任何事情。”GitHub 回应了这些反馈，称部分受质疑的行为实际上是由于漏洞造成的，现已得到修复，同时加倍坚持其新的信息流的决定。GitHub 称出于性能考虑“删除了‘为用户订阅的资源库推送事件’的功能。我们不会轻易做出这些改变，……我们必须优先考虑可用性、用户体验和性能”。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/13/github_alienates_customers_by_force/)**
>
>
>

>
> 老王点评：明明是生产力平台，非要变成大家说的“同性交友平台”。
>
>
>

![](/data/attachment/album/202309/15/161239sw2z3qtztbqs44vu.jpg)

### 黑客声称只打了 10 分钟电话就关闭了米高梅酒店

一个勒索软件组织声称对周二发生的米高梅酒店网络中断事件负责。该组织声称使用了常见的社会工程学策略，“入侵所做的一切就是在 LinkedIn 找到一名员工，然后致电服务台”，获取员工信任以获得内部信息。据该组织称，授予初始访问权限的对话仅用了 10 分钟。另据报道，他们试图从美高梅骗取赎金，但该公司拒绝支付。受此影响，米高梅的股价已下跌超过 6%。

>
> **[消息来源：Engadget](https://www.engadget.com/hackers-claim-it-only-took-a-10-minute-phone-call-to-shutdown-mgm-resorts-143147493.html)**
>
>
>

>
> 老王点评：古老的社工手段真是一直有效。
>
>
>

![](/data/attachment/album/202309/15/161300nfzf2nvnfhfhh4m4.jpg)

### JetBrains 放弃开源插件，宣布全新 Rust IDE

JetBrains 宣布了 RustRover 的早期访问预览版，这是一个全新的 Rust 集成开发环境。但同时，JetBrains 将不再开发现有的支持 Rust 的开源插件，不会再对其修复漏洞或添加新功能。该插件可与 JetBrains IDE 免费的社区版一起使用。而新发布的 RustRover 也将不会推出社区版，但正式版的发布日期还没有确定，至少在 2024 年 9 月前都只会发布公开测试版本。

>
> **[消息来源：Dev Class](https://devclass.com/2023/09/14/jetbrains-introduces-rustrover-ide-abandons-open-source-rust-plugin/)**
>
>
>

>
> 老王点评：看来，这个开源插件很快就会有复刻版了。
>
>
>

### 回音

* “免费下载管理器（FDM）” [承认](https://www.freedownloadmanager.org/blog/?p=664) 其被利用传播 [恶意木马](/article-16188-1.html)，并估计只有 0.1% 的用户受影响。


openSUSE 将用新产品取代 Leap

Summary: openSUSE Leap 将被新产品取代。怎么回事？

支持Snowroll，虽然我有时会用Tumbleweed

openSUSE Leap 将被新产品取代。怎么回事？

![](/data/attachment/album/202309/16/105805yqv5omxmwbmj5amk.jpg)

>
> openSUSE Leap 将被新产品取代。怎么回事？
>
>
>

openSUSE 项目的长期贡献者 Richard Brown 分享了最近贡献者调查的一些结果。

这是关于用新的社区构建的产品取代 openSUSE Leap 的兴趣和可行性。哦？一个 openSUSE Leap 的替代品？

有趣的消息，对吧？ ?

这并不令人震惊。随着 <ruby> 适应性 Linux 平台 <rt>  Adaptable Linux Platform </rt></ruby> （ALP） 的推出，openSUSE 团队曾 [暗示](https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/N6TTE7ZBY7GFJ27XSDTXRF3MVLF6HW4W/) Leap 将于 **2022** 停止运营。所以，这是预料之中的。

但是，有哪些选择可以替代 openSUSE Leap？

### Tumbleweed 衍生版可能取代 Leap

根据这份更换提案，我们有两种选择：

* **Linarite**：一个普通的老式桌面发行版，软件包的选择范围可能比我们习惯的 Leap 更小，除非我们找到更多的贡献者来支持所有的软件包。
* **Slowroll** ：是 Tumbleweed 的衍生版本，尽可能地自动构建，使用自动化和度量标准仅在特定条件（最大周期、X 周无变化等）后才从 Tumbleweed 复制软件包。基本上，它试图提供比全速运行的 Tumbleweed 不那么风险的东西。

>
> 作为这件事的后继，openSUSE 现在为 Slowroll 做了一个 [页面](https://en.opensuse.org/openSUSE:Slowroll) 供你测试。
>
>
>

然而，调查结果显示意见不一。

大多数**用户**选择 “**Slowroll**” 作为未来可行的替代方案，他们愿意为此做出贡献。

相比之下，**贡献者**们则投票不取代 openSUSE Leap 或使用 Tumbleweed 替代它。

但是，在选择一个选项时，贡献者选择了 “**Linarite**”。

因此，用户和现有贡献者有不同的选择。

openSUSE 决定按照**用户**的喜好使用滚动发行版 Slowroll。它需要比调查中表示感兴趣的更多的贡献者。

Richard 还透露，**两个替代方案中的任何一个都需要比 Leap** 付出更多的努力，而且截至目前，对这两个选项感兴趣的 **贡献者数量比 Leap** 少。

>
> 即使有 61 个人直接为代码库和 backports/PackageHub 做出贡献，Leap 仍然举步维艰。这时我们就可以借用 SLE 代码库，这大大减少了所需的工作。
>
>
> Slowroll 或 Linarite 都比 Leap 需要更多的打包和维护工作。
>
>
>

他还强调，**任何 Leap 替代品都应该专注于桌面场景**，而不是试图同时兼顾服务器和桌面的需求。

### 换还是不换？

[调查结果公告](https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/KJMMAZFTP2MPKWKFZCYUROZFJ44BNVB5/) 要求社区回答 openSUSE 是否应该继续替换 Leap。

而且，如果他们继续这样做，社区可以帮助他们支持吗？

? 你认为 openSUSE 的最终决定应该是什么？ 请在下面的评论部分告诉我你的想法。

（题图：MJ/f0fcd9d7-dcae-493f-83db-4a0338eece3b）

---

via: <https://news.itsfoss.com/opensuse-leap-replacement/>

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

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


DevOps 文档成熟度的四个层次

![](/data/attachment/album/202309/16/135943xon0788ou667jujw.jpg)

>
> 提升 DevOps 文档成熟度的过程与达到 DevOps 或 DevSecOps 成熟化的历程是类似的。
>
>
>

为了能在软件迭代交付周期内按时交付优质的文档，DevOps 和 DevSecOps 的文档实践也需要是敏捷的。这与实现 DevOps 类似，只是更偏向自动化和敏捷的内容处理方法。如果文档现在才进入你的机构的 DevOps 讨论，那么是时候让文档实践追上 DevOps 的步伐了。

下面是 DevOps 文档成熟度的四个层次：

### 第一层：临时且孤立

在最低一级成熟度（最不成熟），文档编制工作没有和 DevOps 开发对齐。开发团队和文档团队按照各自的路线开展工作，常常导致文档落后于开发。在竞争激烈的“云”世界里，因为文档问题而推迟产品发布是不可接受的。

#### 人员

这个阶段的文档编制人员还没有摆脱传统的工作方式。<ruby> 技术写作 <rt>  technical writer </rt></ruby>人员隶属于一个中心化的单独团队，与开发团队是脱节的。技术写作组和开发团队之间的鸿可能是由多方面原因造成的：

* 造成团队分裂和孤立的公司政治
* 团队只是将技术文档视为项目验收清单上的检查项，而不是推动项目成功的资产
* 事后才雇佣技术写作人员
* 技术写作的优先级与开发团队的实际情况不匹配

这个阶段，另一个在人员配置上的挑战是如何“界定工作完成”。刚接触敏捷实践的技术写作可能难以适应 CI/CD 工具链和流程。

#### 文档工具和流程

这个阶段的技术写作仍习惯于使用传统的办公工具，比如办公套件和布局程序。这些工具不够敏捷，没有版本控制和内容管理的要求。它们无法与 DevOps 工具链高效集成，不能支撑快速开发。在这个成熟度，技术写作仍然参照遗留的模板和流程。

#### 成果

这个级别交付的文档可能是过时的，甚至缺乏技术准确性的。如果开发团队以 DevOps 的速度推进工作，而技术文档编制却遵循传统的非敏捷流程（使用专有的工具和交付格式），这就很难让文档迭代速度并跟上应用程序的变化。

### 第二层：实验和试点

DevOps 文档成熟度的第二层是实验/试验阶段。这个阶段是 DevOps 团队主管和技术写作采取行动打造更敏捷的文档实践和工具的第一步。

理想的情况下，这些实验是<ruby> 相关方 <rt>  stakeholder </rt></ruby>支持的试点项目的一部分。他们能够从文档交付流程的改善以及其与 DevOps 实践的集成中获益。

#### 人员

本阶段的人员可能来自以下三种形式：

1. 有远见的技术写作为了更好地完成工作，用自己的时间来实验更敏捷的工具。并且向领导层提出更敏捷的文档编制过程的想法。
2. DevOps 负责人或工程师试用 Hugo 和 Jekyll 等工具，并将这些工具集成到 CI/CD 流水线中。然后 DevOps 小组教授技术写作如何使用它们。
3. 团队引入了第三方承包商或顾问，他们在 DevOps 文档工具方面具有专业知识，并且了解文档工具适合嵌入到 CI/CD 工具链和 DevOps 生命周期的位置。

#### 文档工具和实践

[Hugo](https://opensource.com/article/18/3/start-blog-30-minutes-hugo) 和 [Jekyll](https://opensource.com/article/17/4/getting-started-jekyll) 是本阶段开始出现的工具。在这个阶段也出现新的内容策略和技术写作方法。

#### 成果

实验试点阶段理想的成果应该能够“<ruby> 落地并推广 <rt>  land and expand </rt></ruby>”。也就是说其它项目组也可以将其付诸实践。

这个阶段的实验也包括内容策略和发布流程上的根本性变化。其它非试点项目组的技术写作可以学习和使用它们。

试点带来的另一个可能的产出是 [技术写作招聘流程](https://opensource.com/article/19/11/hiring-technical-writers-devops) 的变化。你需要针对 DevOps 和你新引入的文档工具对内部编写人员进行培训。

新的文档工具和流程是此阶段的关键成果，你需要通过演示、状态报告和内部案例研究等方式，将这一成果推给领导层、相关方和其它团队。

### 第三层：部分自动化和扩展

DevOps 文档成熟度的第三层（部分自动化和扩展）就是“落地并推广”的进一步行动。在这个阶段，其它 DevOps 团队借用试点项目中产生的 DevOps 文档工具和流程，吸取其中的经验教训。

#### 人员

在这个成熟度，技术写作和 DevOps 团队开始更紧密的协作。招聘新的技术写作主要关注具有 DevOps 环境经验的人选。

#### 工具和文档实践

技术写作开始从抛弃传统的工具和流程，转到更敏捷的文档工具上，比如：

* [docToolchain](http://doctoolchain.org/)
* [Docbook](https://opensource.com/article/17/9/docbook)
* Hugo
* Jekyll

在这个成熟度，技术写作也负责调整遗留的文档实践。

#### 成果

DevOps 文档工具和实践超越试点项目，成为标准实践。在这个成熟度，随着新团队使用新的文档工具和流程，持续学习是必不可少的。

### 第四层：完全采用

在最高一级的 DevOps 文档成熟度（完全采用且自动化）所有工具、实践和流程已经到位，以支持将文档为项目中的高优先级事项。要达到这一成熟度，需要不断实验、迭代和团队协作。

#### 人员

完全自动化使 DevOps 团队与技术写作之间的协作更紧密。这一阶段的标志是，技术写作牢牢地融入到项目团队的工作流程中。文档工具的维护工作由一些大型企业负责，它们拥有专职维护 DevOps 工具链的工程师。

#### 文档工具和实践

在这个成熟度，技术写作统一采用 Markdown 语言和自动化工具。

#### 成果

本阶段的成果是一套完整的工具和实践，它们支持自动化在线文档发布。技术写作者可以按需发布和重新发布文档，以支持迭代开发流程。

持续学习是这个阶段的另一项成果。技术写作和工具链维护者寻找改进自动化和流程的方法，以帮助文档实践。

### 总结

提升 DevOps 文档成熟度的过程跟达到 DevOps 或 DevSecOps 成熟化的历程是类似的。我希望行业能够将更灵活的文档实践和工具作为公司推进 DevOps 进程中的一个部分。提高 DevOps 文档成熟度应该作整体 DevOps 成熟化甚至 [DevOps 到 DevSecOps 转型](https://opensource.com/article/21/10/devops-to-devsecops)的一部分。

*（题图：MJ/154429b7-bdfc-4b34-9a81-55d9fe33ab07）*

---

via: <https://opensource.com/article/22/2/devops-documentation-maturity>

作者：[Will Kelly](https://opensource.com/users/willkelly) 选题：[lujun9972](https://github.com/lujun9972) 译者：[toknow-gh](https://github.com/toknow-gh) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1126 GCC 准备引入一“键”安全加固选项

Summary:
? GCC 准备引入一“键”安全加固选项
? 红帽正在研究延迟模块签名验证以加快 Linux 启动时间
? Meta 的 VR 世界虚拟化身终于有腿了
»
»

现在相同的设备，Win10启动速度比Linux快。

win的快速启动模式没有完全关机

![](/data/attachment/album/202309/16/161108wphkhcyc6h4lhyd2.jpg)

![](/data/attachment/album/202309/16/161116vg6j6djppy66gpb6.jpg)

### GCC 准备引入一“键”安全加固选项

已有各种加固选项来提高生成的二进制文件的安全性，但可能并非所有项目都在使用这些选项，原因可能是不了解它们，也可能是软件没有得到积极的维护。经过讨论，GNU 编译器集合（GCC）正准备添加一个 `-fhardened` 编译器选项，该选项将启用各种加固功能，以提高生成的二进制文件的安全性/稳健性。该加固选项认为合理的选项不能影响应用程序二进制接口（ABI），不能导致 “严重” 的性能问题，也不能导致新的构建错误。如果不出意外，这个选项补丁将很快被合并到明年初发布的 GCC 14.1 稳定版中。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/GCC-fhardened-Hardening-Option)**
>
>
>

>
> 老王点评：这样的一键选项很有必要，甚至我认为将来可能会成为默认值。
>
>
>

![](/data/attachment/album/202309/16/161130yl2hhi2ul211zfzk.jpg)

### 红帽正在研究延迟模块签名验证以加快 Linux 启动时间

红帽工程师提交了一组补丁，在启用模块签名检查功能时，可以延迟对这些签名的检查，内核会等待用户空间的通信，然后再开始检查。因此，可以在不影响系统安全的情况下显著提高启动速度。该功能引入了一个新的启动时内核参数，允许用户请求这种延迟。在某些情况下，启动速度变得至关重要。而有时候安全检查是多余的，因为在此过程中已经对内核和 initrd 镜像执行了加密检查，可以合理地认为其内容也是安全的。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-Delay-Module-Verification)**
>
>
>

>
> 老王点评：这是安全和效率的合理折中。
>
>
>

![](/data/attachment/album/202309/16/161143vp6577iijwa7z7si.jpg)

### Meta 的 VR 世界虚拟化身终于有腿了

此前，Meta 公司的《地平线世界》的虚拟化身因为只有上半身而受到广泛嘲笑。不过现在它终于有了虚拟腿。如果你启动《地平线世界》并在菜单空间中照镜子，你就会看到自己化身的全身，而且当你进入一个世界时，其他人也会看到。但是你自己低头时还是看不到你的腿。不过，目前还没有一款 VR 系统内置腿部追踪功能，因此虚拟腿部与真实腿部的实际动作并不一致。

>
> **[消息来源：Upload VR](https://www.uploadvr.com/meta-avatars-horizon-worlds-metaverse-legs/)**
>
>
>

>
> 老王点评：我觉得目前的 VR 还处于比较可笑、原始的阶段，需要等待基础设施的进一步发展才会真正形成。
>
>
>