2022年12月

Linux 6.1 发布,拉开 Rust 进入 Linux 内核的大幕

上周末,Linus Torvalds 发布了 Linux 内核 6.1,并开启了 6.2 的合并窗口。之所以专门提到 6.1 这个版本,是因为这个版本更具有里程碑意义。在 6.1 中,首次初步支持了 Rust,对 MGLRU 页面回收算法进行了大修,以及很多重要的特性和驱动更新。在 6.1 中没有任何供终端用户使用的 Rust 功能,而且在 6.2 中也将如此,会继续增加对开发者有用的功能,不会引入任何新的 Rust 编写的硬件驱动之类的东西。

消息来源:Phoronix
老王点评:终于尘埃落定了,以后随着内核中 Rust 代码的增多,Linux 内核的安全应该会上一个等级,就像安卓一样。

AlphaCode 是如何在编程竞赛中超过一半的程序员

AlphaCode 首先使用了 GitHub 上的庞大代码库进行训练,熟悉语法和编码规范。然后收集编程竞赛的数千个问题,训练它将问题描述翻译到代码。当遇到新问题时,AlphaCode 会编写出多达百万个候选编程方案,然后过滤掉不好的。它只保留通过测试用例的 1% 程序。为了进一步缩小范围,它会根据程序的输出与虚拟输入的相似性分群,从最大的群开始逐一递交程序,直到找到成功的程序或达到最大递交限额的 10 个程序。经过训练 AlphaCode 解决了 34% 的指定问题。

消息来源:《科学》杂志
老王点评:虽然是针对编程竞赛做的专门训练,但是完全可以针对某一类特定场景的需求进行编程,乃至于可以覆盖大多数常用场景的编程。我认为 AI 编程的时代的到来可能比我们大多数人预期的要快。

亚马逊计划干掉条形码

亚马逊称,条形码很难找到,而且可能被贴在形状怪异的产品上,这是机器人不能很好地解决的问题。因此,该公司说它有一个干掉条形码的计划。亚马逊利用仓库中物品的照片训练了一个计算机模型,让机器人在捡起和翻转物品时识别物品。这个被称为多模式识别的系统并不打算很快完全取代条形码,但该公司表示,它加快了处理包裹的时间。

消息来源:CNET
老王点评:确实,随着人工智能的发展,条形码可能就成了过渡性技术了。

回音

  • Chrome 110 中 取消 了对 JPEG-XL 的 支持,用户和开发者反对无效。

一个简单的教学展示,教你如何找到正在运行中的进程 ID 并杀死它,你可以使用终端或者 GUI,这个方法适用于各类 Linux 发行版。

你的 Linux 系统中运行的应用可能会让你的电脑变慢,特别是你的电脑配置较低的时候。在 Linux (以及所有其他 OS)中,程序或者应用都携带一个特别的 PID (进程 ID)可供你简单地分辨它们。

然而,大部分 Linux 初学者用户并不知道如何在 Linux 中寻找运行中的进程并杀死它。在这篇指南中,我们将会解释用不同的方法以杀死 Linux 中的运行进程。这包括了使用终端和 GUI 的方法。

记住,你只应该杀死未响应的进程,或者你发现应用无法被正常关闭 (针对基于 GUI 的应用)。

如何在 Linux 中找到 PID 并杀掉它们

在这一部分中,我们首先应该先学会如何找到运行进程的 PID,然后再学习用以杀掉它们的命令:

找到正在运行中的进程

你可以使用命令 top 来列出所有正在进行中的进程和它们的 PID,以及其他细节。程序 top 在所有 Linux 发行版和所有基于 Unix 的系统中都是默认安装了的。

top

Top program output

同样地,你可以执行命令 ps 附带额外选项来获取某个指定的进程的 PID。例如,你可以使用以下命令来获得 firefox 的 PID。

ps -el | grep -i firefox

Firefox process id using ps command - example

现在你已经找到 PID 了,让我们看看你该如何杀掉它。

杀死运行中的进程

使用以下命令,你可以通过进程的名字或者 PID 来杀掉这个正在运行中的进程:

  • killall:通过运行进程的名字来杀死进程
  • kill:通过 PID 来杀死进程

现在,让我们首先使用进程 killall 通过 Firefox 这个名字来杀死它的,命令如下:

killall -9 firefox
  • 参数 -9 发送了信号 SIGKILL 通知 OS 来终止这个进程。
  • 使用以下命令,你也可以列出一些别的信号。
kill -l

同样地,如果你想要通过 PID 来杀死进程,你可以用以下命令:

kill -9 <PID>

在这个例子中,命令会长这样:

kill -9 33665

让我们看看在不同发行版中,你该如何使用图形用户界面(GUI)来杀死任意进程或应用。

通过 GUI 寻找 PID 并杀掉

现在有很多图形界面程序可以枚列进程。大部分 Linux 发行版的桌面环境中已经携带了它们。我们在这里列举出了一些。

GNOME(在 Ubuntu、Fedora 工作站等) & 在 Linux Mint 中

在应用菜单中搜索 “system monitor” 并打开它(LCTT 译注:中文桌面环境也可以搜 “system monitor”,我在 Ubuntu 里试过了)。在 “ 进程 Processes ” 标签页下找到你的进程,右击进程名字打开快捷菜单,选择选项 “ 杀死 Kill ”。

Kill a process in Linux using gnome system monitor

KDE Plasma(Kubuntu、Fedora-KDE 或任何基于 Plasma 的发行版)

在应用菜单中搜索并启动 “system monitor”。这会打开以下程序。在左边菜单栏点击“ 进程 Processes ” ,你因该能看见一列正在运行的程序。你可以右击列表里的进程或应用并选择“ 杀死 Kill ”来终止进程。

System monitor in KDE Plasma

Xfce 桌面

Xfce 桌面可以完成这项任务的原生应用是 任务管理器 Task Manager ,你可以通过 “ 应用 Application > 系统 System > 任务管理器 Task manager ” 来找到它。右击进程名字然后选择“ 杀死 Kill ”来终止应用或进程。

Xfce task manager to kill a process

如何在其他桌面或发行版上杀死一个进程或程序

如果你找不到任何相似的程序,你可以选择使用终端的方法。或者,你可以使用以下命令来安装 gnome-system-monitor。

Ubuntu 以及相关发行版:

sudo apt install gnome-system-monitor

Fedora 以及其相关的发行版:

sudo dnf install gnome-system-monitor

还有 Arch Linux:

sudo pacman -S gnome-system-monitor

总结一下

这就是你该如何在 Linux 中找到一个运行中的进程的 PID 并杀死它。我们已经解释了不同的方法:你可以通过名字或者 PID 来杀死进程。我希望这对你有所帮助。


via: https://www.debugpoint.com/find-process-id-kill-linux/

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

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

Nemo 感觉像是更新版的 GNOME 2 文件管理器。我喜欢它,我觉得你也会喜欢它。

计算机是一个奇特的文件柜,里面装满了虚拟文件夹和文件,等待着被引用、交叉引用、编辑、更新、保存、复制、移动、重命名和归类。在本文中,我将介绍一下 Linux 系统的文件管理器。

Cinnamon 项目是使用 GNOME 3 的组件重新实现的 GNOME 2。最终,它的差异足以成为一个真正的分叉,如今,Cinnamon 桌面使用 GTK3 库和 GNOME 3 关键应用的分叉版本来创建一个“经典”的 GNOME 体验。对传统的 GNOME 体验做出贡献的组件之一是 Nemo,它是一个基于 GNOME 2 版本的 Nautilus 的文件管理器。

在 Linux 上安装 Nemo

Nemo 的源代码 在线提供,但它需要 cinnamon-desktop 来构建,所以安装 Nemo 最简单的方法是直接安装 Cinnamon。

在 Fedora、Mageia 和类似的系统上:

$ sudo dnf install cinnamon-desktop

在 Linux Mint、Debian 和类似系统上:

$ sudo apt install cinnamon-desktop-environment

当然,作为该桌面的发源地,Linux Mint 也预装了 Cinnamon。

一个熟悉的界面

如果你已经习惯了 GNOME,无论是过去的还是现在的,那么 Nemo 从一开始就让你有一种回家的感觉。它有一个熟悉的外观和感觉,在类似的地方有按钮和选项,你很可能会认出它们。

Image of Nemo's file manager.

将视图控制按钮放在右上方的 GNOME 式惯例被保留了下来,你可以使用这些按钮快速地将你的文件视图从大图标切换到详细列表或紧凑视图。那里还有一个搜索功能,以及在可编辑文本和按钮之间切换位置栏的选项。

可编辑的 URI 栏有时被低估了。这是一个简单的设计决定,但它可以是一个有助于提高效率的巨大功能。这就像在每个窗口的顶部有一个单行终端,你可以在那里输入你的系统的任何目标位置,并立即被带到那里。而且你甚至不需要输入 cd

在左上角,有导航按钮:向上、向前和向后。与许多 Linux 文件管理器一样,你可以用 Alt 键加上适当的 箭头 键,而放弃使用这些按钮。

侧面窗格显示了重要文件夹的列表(主目录、文档、下载等),可以通过点击窗口底部的一个按钮来隐藏或显示。

熟悉但不一样

Nemo 的舒适性和熟悉性并不意味着它只是无意识地模仿 Nautilus。Nemo 有一系列不错的功能,感觉很独特。其中大部分都在 偏好设置 Preferences 中,以下是我最喜欢的几个:

  • 窗口标题中显示全路径 Full path in window title :这是我最喜欢的功能。不要再怀疑你在文件系统中的位置了。让你的窗口标题告诉你。
  • 单击或双击 Single or double click :如果你是一个长期的 KDE 用户,你可能会发现单次点击打开一个文件是很新鲜的。有了 Nemo,你可以这样选择。
  • 双击来重命名 Double-click to rename :如果你使用单击来打开,为什么不重新利用双击来重命名呢?
  • 在新窗口中打开每个文件夹 Open each folder in a new window :操作系统为每一个打开的文件夹打开一个新的窗口。
  • 插件 Plugins :Nemo 有能力调用动作、脚本和扩展。有些已经包括在内,有改变桌面背景、创建启动器和挂载归档的动作。其他的还没有被创建,但这种可扩展性对开源是至关重要的。

一切近在咫尺

在 Linux Mint 上使用 Nemo 几周后,一个有趣的特征让我眼前一亮。似乎 Nemo 可以,或者通过快速配置可以,让我最常使用的所有东西都近在咫尺。许多功能,我承认,我不知道我是否需要,直到 Nemo 让我轻松点击才知道。你可能会说,我是为了满足 Nemo 的设计而改变了我的使用方式,也许情况确实如此。但是,当这种体验是如此令人愉快和有效时,这有什么关系呢?

Nemo 是一个很好的文件管理器。它让人想起了 GNOME 2 的时代,但其更新和设计选择让人有一种新鲜的感觉。如果你喜欢 Thunar 或 Nautilus,你会喜欢 Nemo。


via: https://opensource.com/article/22/12/linux-file-manager-nemo

作者:Seth Kenlon 选题:lkxed 译者:geekpi 校对:wxy

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

Java 不再是最受欢迎的三大编程语言之一

根据最新的 TIOBE 指数,现在的排名是:Python 排名第一,C 第二,C++ 第三,Java 第四。2001 年以来,TIOBE 指数历史上 C++ 第一次超过了 Java。C++ 的激增,部分原因可能要归功于 2020 年 12 月发布的 C++ 20 稳定版。但在其它排行榜和调查中,Java 的表现更好。比如 Slashdata 数据显示,Java 在过去两年中以全球开发者社区两倍的速度增长,在社区规模中排名第三,超过了 C/C++,仅次于 Python 和 JavaScript。

消息来源:The Register
老王点评:我觉得语言排行榜的每次变化,除了给我添加一些话题之外,没啥意义。

谷歌再次推迟淘汰 MV2 扩展

谷歌推行的 Manifest V3 浏览器扩展规范,相比 V2 扩展,新版本增加了很多有利于谷歌的限制,比如限制广告屏蔽扩展。谷歌 原计划 在明年 1 月淘汰 MV3 扩展,但 MV3 仍存在一些问题,导致一些扩展没法迁移。这一期限被延迟到明年 6 月后,谷歌再次宣布推迟淘汰 MV2 扩展,但没有确定具体时间,谷歌表示要在 2023 年 3 月前听取开发者的更多反馈。

消息来源:谷歌
老王点评:谷歌审慎的态度很好,但是其本质上还是希望推进 MV3 的实施。

Adobe 公开发布 PostScript 源代码

Adobe 公司成立之初,他们就着手设计一种打印机无关的排版语言 PostScript,并于 1984 年发布。PostScript 本质上是一种数字化的印刷系统,它提供了其他任何地方都无法提供的能力,如文字和图像可以随意缩放、旋转和移动。如今大多数打印机都直接依赖 PostScript 技术,或者通过从它发展出来的 PDF 技术。而在它诞生近 40 年后,Adobe 公司通过计算机历史博物馆首次公开了 PostScript 的源代码。

消息来源:计算机历史博物馆
老王点评:这是印刷史上的一个里程碑,只是我没想到使用这么广泛的系统,源代码现在才公开。

这是一种帮助开源开发者获得报酬的令人兴奋的方式。

Tea 筹集了 890 万美元,推出了一个帮助开源开发者获得报酬的新协议

Tea 是一个开源的统一软件包管理器,被全球许多开发者使用。

顺便说一句,Tea 是 Homebrew 的创建者的一个新项目。

在最近的一份公告中,他们宣布已经筹集了 890 万美元的种子资金,并计划推出一个新的 Web3 协议,帮助开源开发者为他们的工作获得报酬。

我是通过 TechCrunch 上发表的一篇文章看到的,他们对 Tea 的创始人进行了访谈。

让我们来看看 Tea 的发展情况。

Tea 提出的一项新协议

它是什么?

简而言之: 该协议将帮助软件包维护者获得不可伪造的代币(NFT),作为他们对带有 Tea 支持的开源项目的贡献的奖励。

展开来说就是,这是一个 Web3 协议,将帮助软件包维护者以不可伪造的通证(NFT)的形式获得报酬。

当维护者完成了一个软件包的提交,他们将收到一个不可伪造的通证(NFT),可以作为他们工作和贡献的证据。

现有的维护者也将能够通过将软件包的 NFT 转让给其他开发者来转移软件包的维护所有权。

这些 NFT 是 Tea 计划奖励其用户的核心。

实施这一点还将涉及被称为“包支持者”和“赞助者”的实体。

这些人包括组织、软件包用户、慈善家和企业家,他们使用开源软件来构建商业产品,并希望支持这样一个生态系统。

他们还提到:

为了提供最广泛的覆盖面,我们认为奖励不能依靠跟踪安装或卸载这样简单的概念,而是要依靠激励机制,鼓励提交高质量的软件包和报告邪恶或高风险的软件包。

**到目前为止,Tea 只发布了他们所说的 “同类 CLI(命令行界面)工具应具备的基本功能”。

到目前为止,还没有提到这个新协议的具体发布日期,他们对这个协议发布的最佳估计是“2023 年的某个时候”。

他们补充说:

就像等到 11 月才发布我们的 CLI一样,我们会在了解它应该如何最好地构建并在内部经历了试验和错误之后才发布。

我们要慢慢来,确保这个工具本身对开发者非常有用和有价值。

它有什么帮助?

根据 Tea 公司的说法: 这应该有助于他们为所有开源软件创建一个开放、公开和稳定的注册中心。

反过来,鼓励项目独立发布版本,而不是依赖第三方,因为第三方会不可预测地收集他们的数据,导致大量的分立和经常重复的系统。

以下是他们对该协议的目标的描述:

Tea 的目标是通过 Tea 通证的独特用例来实现去中心化的激励机制,让 Tea 社区的任何成员为开源的永久可持续性和持续增长作出贡献。

包的支持者和赞助者可以根据他们的工作、信仰或任何影响他们决定的标准和尺度,自由决定他们要支持哪些包或包维护者。

在我看来: 这是一个令人兴奋的方法,可以奖励那些经常被忽视的开源贡献者,即使他们为各种开源项目贡献了很多。

然而,考虑到 NFT 在最近一段时间获得了很多批评。这可能会或可能不会有好的结果。

如果你想了解更多,你可以深入研究它的官方 白皮书 上的协议。


via: https://news.itsfoss.com/tea-open-source-new-protocol/

作者:Sourav Rudra 选题:lkxed 译者:wxy 校对:wxy

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

GitHub 推出 Copilot 商业版,为代码建议提供辩护和索赔

大约百分之一的 Copilot 建议可能包含超过 150 个字符的代码片段,这与训练集的代码相匹配,而这些代码是从各种软件许可证下的公共在线源代码中挑选出来的。为了避免滥用公共代码带来的风险,个人用户可以每月支付 10 美元,从而过滤公共源代码。而对于使用其商业版的企业用户,其 IT 管理员可以企业可以设置政策控制,避免采用公共源代码。并且,根据企业客户协议,如果采用了 Copilot 建议的代码而被起诉的话,GitHub 将为其企业客户辩护和提供高达 50 万美元的索赔。

消息来源:The Register
老王点评:果然,并不是 Copilot 能力不行,而是 VIP 服务是需要花钱的。

Chrome 引入节能和节省内存模式

Chrome 一直被诟病占用内存过高。新的节省内存模式通过将不活跃标签进入睡眠模式而能节省最多 30% 的内存。用户重新访问睡眠的标签时会重新加载。节能模式则在笔记本电池水平低于 20% 时限制网站的后台活动和动画视频的视觉效果。休眠不活跃标签的功能最初是微软在 Edge 浏览器中引入的,微软曾 宣布 它在一个月内休眠了 60 亿个标签,节省了超过 273 PB 的内存。

消息来源:Tech Crunch
老王点评:微软放弃自己的浏览器内核而基于 Chromium 开发 Edge,实际上对 Chrome 的发展提供了很多帮助。

Dart 语言将提供健全的 NULL 安全

NULL 最初在 1964 出现在 ALGOL 语言中,其发明人称这是他的“十亿美元错误”,因为 NULL 导致的错误修复花费了大量的时间和金钱。谷歌的 Dart 语言从 2.12 版本开始支持健全的 NULL 安全,以防止访问设置为 NULL 的变量而出错,但它还保留了运行没有 NULL 安全或部分 NULL 安全的代码的模式。将在 2023 年发布的 Dart 3 将只支持健全 NULL 安全。并非每一种 NULL 安全的实现都是如此确定,例如,TypeScript 就是不健全的,C# 和 Kotlin 也有例外。

消息来源:The Register
老王点评:感觉 Dart 语言不是很流行,但是这个功能却很有意义。