2021年11月

如今,找到一个 好的开源代码编辑器 并不难,随便选择一个就可以了。

微软的 VS Code 和 GitHub 的 Atom 是两个最流行的、功能丰富的、类似于 IDE 的代码编辑器,都拥有庞大的用户群和粉丝。

VS Code 和 Atom 现在都属于微软,因为 Atom 的原开发者 GitHub 现在属于微软。这两个都有一个有吸引力的、现代的 UI,有一个漂亮的原生黑暗主题。两个编辑器都使用 Electron 作为用户界面。

相似的地方很多,这就是为什么你很容易在它们中间选择时感到迷惑。

如果你不能下定决心,想在 VS Code 和 Atom 之间进行一番比较和选择,这篇文章应该可以帮助你。

VS Code

VS Code 的用户界面与拥挤的项目界面

VS Code 是开源的现代编辑器之一。它的用户群爆炸性地增长,因为它具有类似 IDE 的功能,但仍然保持相对较轻的资源占用。

VS Code 是由微软制作的,可用于 Linux、macOS 和 Windows。微软于 2015 年 11 月 18 日在 GitHub 上根据 MIT 许可发布了 VS Code 的 大部分 源代码。

VS Code 的开发者对 Electron 进行了一些奇妙的优化,使其尽可能的轻量级和高效。由于 Electron 应用程序可以在大多数操作系统上运行,Linux、macOS 和 Windows 的用户都可以从这些优化中受益。

在 Linux 上安装 VS Code 也相当简单。事实上,它在许多发行版的软件中心都有。

为什么你应该选择 VS Code?

  • 那些从一开始就想获得接近 IDE 的功能,而又不想摆弄他们的代码编辑器的人,[通常] 会选择 VS Code 。
  • 即使是基于 Electron,VS Code 与其他 Electron 应用(如 GitHub 的 Atom)相比,开销也非常小。
  • 更多开箱即用的功能,如微软的 IntelliSense 自动补完、Git 集成、Markdown 支持等等。
  • 插件可以只用来增加功能、主题和支持新的语言;而这种插件约束确保编辑器的核心在增加新插件后仍保持熟悉。

由微软分发的 二进制版本仍然是专有的免费软件。VSCodium 建立在 VS Code 的公开源代码之上。然而,关于 VSCodium 的讨论超出了本文的范围,如果你想获得 VS Code 提供的功能,而又没有任何专有元素的话,可以考虑将其作为 VS Code 的一个可行的替代品。

Atom

Atom 编辑器的用户界面

GitHub 的 Atom 是另一个自由开源的代码编辑器,可用于 Linux、macOS 和 Windows。Atom 是一个使用 JavaScript 通过 Electron 制作的桌面应用程序,用于轻松开发软件包。

Atom 的源代码是根据 MIT 许可发布 在 GitHub 上 的。由于 Atom 是 GitHub 的产品,因此它嵌入了 Git Control。

Atom 被称为“ 可魔改的 hackable 21 世纪文本编辑器”,因为它可以使用 HTML、CSS 和 JS 完全定制。

像 VS Code 一样,你可以轻松地在其他平台和 Linux 上安装 Atom

选择 Atom 的理由

  • Atom 是那些想要一个基础的编辑器,并希望在其上进行开发的人的首选,因为 Atom 的可魔改性质。
  • 内置了 Git 和完整的 GitHub 集成;考虑到它是由 GitHub 开发的,这并不令人惊讶。
  • 从应用程序中非常容易搜索、安装和升级 Atom 的插件
  • 可用的 Atom 插件是非常可扩展的,甚至可以完全改变编辑器的功能,并最终创造出几乎一个新的编辑器;它确实是“可魔改”的。
  • Atom 的二进制版本和它的源代码是完全开源的(不像 VS Code 的二进制版本包含专有部分+遥测)。
  • 你可以 把 Atom 从一个代码编辑器变成 IDE,有更智能的上下文自动完成、代码导航功能、文档格式化等。

总结

Atom 和 VS Code 都是建立在 Electron 之上的。但是微软在 VS Code 上做了更多的优化,使其尽可能的轻量化。

在这一点上,VS Code 就像 Ubuntu,几乎所有的东西都开箱即用。而 Atom 就像 Arch,精简,而极易魔改(可扩展)。

Atom 和 VS Code 在技术上都隶属于微软,最终它们会殊途同归。因此,最好是使用你的社区(网页开发/软件开发)所倾向的编辑器,并铺平前进的道路。也许你最终会选择 Vim!


via: https://itsfoss.com/visual-studio-code-vs-atom/

作者:Pratham Patel 选题:lujun9972 译者:wxy 校对:wxy

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

法院要求 Signal 提供私人用户数据,但它根本没有

端对端加密消息应用 Signal 通过其官方博客 公布 了它收到的一张法庭传票,传票要求它提供各种用户数据。然而Signal 根本没有数据可以提供。这家公司指出,“Signal 无法访问你的信息、你的聊天列表、你的群组、你的联系人、你的贴纸,你的个人资料名称或头像。” Signal 能提供给法庭的唯一东西就是有关账号创建和最后一次访问该服务的 Unix 时间戳。

老王点评:这简直就是给 Signal 打广告啊。

Linux 5.15 内核发布,NTFS3 驱动上线

Linux 5.15 正式释出,该版本的提交数是 5.x 系列最少的。主要新变化包括:Paragon 开发的 NTFS3 内核驱动终于进入了主线;新内核模块 KSMBD 实现了服务器端 SMB3 协议;在 DRAM 满的情况下内存页的内容转移到持久性内存而不是直接丢弃;等等。

老王点评:虽然不知道有多少人会在 Linux 下使用 NTFS 卷,但是看到这个商业驱动终于变成了开源软件的一部分,还是很好的。

开源软件给特朗普的社交网站 30 天时间遵守 AGPL 许可证

自由软件社交网络项目 Mastodon 向美国前总统特朗普的公司发去 正式通知,要求其基于 Mastodon 开发的社交网络 TRUTH Social 遵守 AGPL 许可证公开修改的源代码。特朗普旗下的公司上周 宣布 了新的社交网络 TRUTH Social,预计 11 月开放测试。然而 TRUTH 很快被发现是基于 Mastodon,按照 AGPL 许可证要求它需要公开源代码。

老王点评:这老头可以说,没有人比我懂开源软件和许可证。

一款令人兴奋和有用的注解工具,为 Linux 系统提供额外的功能。

谈及图像处理和编辑,有很多工具可用。然而,像 GIMP 这样的工具不一定能解决所有问题。

GIMP 确实为初学者和高级用户提供了大量的功能,但要学习一些东西并对图像进行视觉增强功能的应用可能很费时。

Annotator 是一个令人印象深刻的开源工具,可以让你能轻松完成很多事情。

Annotator:开源图像注解工具

Annotator 帮你快速添加形状、文本和其他视觉元素。这对各种使用情况都很有用。

这个工具提供了一个简单的用户界面并且易于使用。而且,你还可以通过各种你想要的功能来增强图像。

Annotator 的功能

Adding icons to images

不局限于图片增强,你还可以通过 Annotator 获得一些其他功能。其中的一些主要功能是:

  • 能够添加文本
  • 自定义文本的颜色,调整大小,调整高亮的颜色等
  • 使用放大镜工具来关注图像中的某个特定点
  • 调整放大镜以改变角度和大小
  • 添加视觉图标来表达一些东西
  • 使用铅笔来书写,这对触控板用户很有用
  • 模糊工具来模糊重要或不必要的细节
  • 计数器图标来突出图像中重要的任何种类的顺序
  • 支持多种字体
  • 调整形状和文本的边界宽度和线条
  • 可用各种形状,如箭头、圆圈和星星
  • 能够调整图像的大小和裁剪图像

在 Linux 中安装 Annotator

Annotator 通常可在 elementaryOS 的应用中心找到。但幸运的是,它是一个 Flatpak 包,所以你可以在任何 Linux 发行版上安装它。

你所需要做的就是前往应用中心商店的链接,然后使用软件安装程序下载/打开 Flatpak ref 文件。如果你需要帮助,我们的 Flatpak 指南 中有更多相关信息。

Annotator

要从源代码构建或探索更多关于它的信息,你可以查看它的 GitHub 页面

关于使用 Annotator 的想法

我发现它对我的工作很有用,因为我们每天都需要处理各种截图。而且,描述性越详细,图片就越能让我们的读者理解。

通常情况下,我使用 Flameshot 作为我的截图工具,并通过它添加可用的注解。还有其他 可用于 Linux 的截图工具,但我更喜欢 Flameshot 的快速注解功能。

然而,你不能使用 Flameshot 或其他任何截图工具来为现有的图片添加注解。

因此,Annotator 在编辑现有的截图或任何其他所需的图像时就显得非常方便。

在我短暂的使用过程中,它的所有功能都运行良好,不过我希望可以编辑和调整文字的大小,使之更加直观。

如果你需要为系统上的图像添加高亮/注解,我建议你试一试。请在下面的评论中告诉我你的想法。


via: https://itsfoss.com/annotator/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:turbokernel

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

要杀死一个僵尸进程,你必须从进程列表中删除其名称。

 title=

这里有一个和 Unix 纪元一样古老的故事。自从有了 C 和 Unix,以及(后来的)Linux,我们就有了“ 僵尸 zombie ”。具体来说,有一些进程被标记为“ 僵尸进程 zombie process ”。一些人误解它,另一些人忽视它,而它对我们许多人试图 “杀死” 这些进程的努力免疫,没有什么成效。这是为什么呢?

Linux 中的进程是什么?

这一切始于执行 Linux 中的一个程序时,当它被执行时,它的运行实例被称为进程。你可以用 ps 命令 查看你的 Linux 环境中的所有进程:

$ ps -ax
        PID TTY         STAT   TIME COMMAND
        1 ?     Ss      0:01 /usr/lib/systemd/systemd rhgb --switched-root --sys
        2 ?     S       0:00 [kthreadd]
        3 ?     I<      0:00 [rcu_gp]
        4 ?     I<      0:00 [rcu_par_gp]

有时一个进程启动另一个进程,使第一个进程成为第二个进程的父进程。pstree 命令是一个很好的工具,可以让你看到系统中进程的“家谱”:

$ pstree -psn
systemd(1)─┬─systemd-journal(952)
        ├─systemd-udevd(963)
        ├─systemd-oomd(1137)
        ├─systemd-resolve(1138)
        ├─systemd-userdbd(1139)─┬─systemd-userwor(12707)
        │                     ├─systemd-userwor(12714)
        │                     └─systemd-userwor(12715)
        ├─auditd(1140)───{auditd}(1141)
        ├─dbus-broker-lau(1164)───dbus-broker(1165)
        ├─avahi-daemon(1166)───avahi-daemon(1196)
        ├─bluetoothd(1167)

每个进程在系统中都会被分配一个编号。进程编号(PID)1 被分配给启动过程中执行的第一个进程,PID 1 之后的每一个进程都是它的子孙。PID 1 进程是初始化进程,在大多数新版本的 Linux 中,它只是一个指向 systemd 程序的符号链接。

用 kill 命令结束一个进程

你可以用 kill 命令来终止 Linux 系统中的进程。尽管名字叫 “杀死”,但 kill 命令和其他一些命令,如 pkillkillall,都是为向一个或多个进程发送信号而编写/设计的。当没有指定信号时,它发送的默认信号是 SIGTERM 信号,以终止进程。

当一个父进程死亡或被杀死,而其子进程没有跟随其父进程的死亡,我们称该进程为“ 孤儿进程 orphan process ”。

如何杀死一个僵尸进程

另一方面,僵尸进程是不能被“杀死”的!你可能会问为什么?因为它们已经死了!

每一个子进程,当被终止时,都会成为一个僵尸进程,然后被父进程删除。当进程退出并释放它所使用的资源时,它的名字仍然在操作系统的进程表中。这时,父进程的工作就是把它的名字从进程表中删除。如果没有删除,我们就有了僵尸进程,它不再是一个真正的进程,而只是操作系统进程表上的一个条目。

这就是为什么试图对一个 失效的 defunct (僵尸)进程执行 “杀死” 命令,即使使用 -9SIGKILL)选项也不起作用,因为没有什么可以杀死的。

因此,要杀死一个僵尸进程,比如从进程列表(进程表)中删除其名称,你必须杀死其父进程。例如,如果 PID 5878 是一个僵尸进程,而它的父进程是 PID 4809,那么要杀死僵尸进程(5878),就必须结束父进程(4809):

$ sudo kill -9 4809  # 4809 是父进程,而非僵尸

我对僵尸的最后一句警告:在杀死父进程时要非常小心。如果一个进程的父进程是 PID 1,而你杀了它,你就会重新启动自己!

而这将是一个更可怕的故事!


via: https://opensource.com/article/21/10/linux-zombie-process

作者:Anderson Silva 选题:lujun9972 译者:wxy 校对:wxy

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

Linux 发行版在性能测试中击败 Windows 11

Phoronix 本周进行了一些有趣的 性能测试。所有 44 项测试的几何平均值显示,在当前这一代英特尔平台上,Linux 明显领先于 Windows 11。在这个系统上,Ubuntu / Arch / Fedora 总体上比 Windows 11 Pro 快 11% 左右。Clear Linux 比 Windows 11 快约 18%,总体上比其他 Linux 发行版的性能高约 5%。Clear Linux 获得了 33 项的第一,Windows 11 Pro 获得 3 项第一。

老王点评:不出意料的结果,不过 Clear Linux 居然得到大部分的第一,值得关注。

NASA 希望人工帮助改善火星车的人工智能

NASA 呼吁任何有兴趣的人为其火星车的机器学习算法 做出贡献,以帮助毅力号火星车四处游走。你所需要做的就是看一些图片并标记地质特征。毅力号有增强的人工智能,以帮助它避开障碍物。它有 23 个摄像头,可以从火星上捕捉到大量的视觉数据,但它必须依靠人类操作员来解释其中大部分图像,从而改善其人工智能水平。

老王点评:所谓人工智能还是需要“人工”才能智能。

Hive 勒索软件已经准备加密 Linux 和 FreeBSD

Hive 勒索软件团伙自 2021 年6月以来袭击了 30 多个组织,现在针对 Linux 和 FreeBSD 开发了 新的恶意软件变种 来加密这些系统。不过,ESET 发现,Hive 的新加密器尚在开发中,仍缺乏功能,并且存在一些 bug。相比之下,Hive 的 Windows 勒索软件具有更多功能。

老王点评:Linux 和 FreeBSD 管理员们需要注意了,它们并不具有先天的高安全性。