2023年11月

这是 Linux 终端的 VS Code,有可能在年轻一代编程者和 Linux 用户中流行起来。

对于新的终端仿真器的想法,我并不总是怀着兴奋的心情。

这里有 数不清的用于 Linux 的终端软件。从你的 Linux 发行版中自带的默认终端,到古老的经典版——“ 终结者 Terminator ”,或更 “现代化” 的基于 Rust 且支持硬件加速的那种,如 Rio。

在这儿,可选择的软件绝对不匮乏。对我来说,为什么我需要关注另一个新的终端软件呢?

然而,当我发现这款新的终端时,我觉得,它有着引人瞩目的潜力。

让我来解释下为何我会这么说。对于一名经验丰富的 Linux 用户,终端只不过是执行工作的一种工具。真正的能量来源于命令以及如何运用它们。在这里,终端仿真器吸引人的一点是支持多窗口,这也可以通过熟练使用 CLI 工具,比如 screen 或 tmux 来实现。

然而,对于一部分 Linux 用户,对他们来说,终端就是一个令人畏惧的地方。他们只会在绝对必要时以及再无他法的情况下才会使用它。就好像一个五岁的小孩夜里去洗手间。

然而,对于后者类型的 Linux 用户来说,这个新终端应该会是一个他们觉得舒适的工具。

看完它的特性后,你就会明白原因。

Wave:为那些不习惯使用命令行的人设计的终端

呃... 这似乎就是这些开发者的初衷。

Wave 终端 主要是为了那些需要不时使用终端部署他们的项目或者调试应用的应用开发者们所打造。

现代化的代码编辑器界面

没错,这是一个终端,而不是代码编辑器。其界面设计类似于 VS Code,你可以把终端会话分组到工作区中。如果你的项目需要运行开发服务器、测试服务器和生产服务器,你可以把它们分组到一个工作区。

不用学任何键盘快捷键就能编辑文件

你可以直接编辑本地系统或远程机器上的文件。这里没有学习的难度。像常规的文本编辑器一样直接使用它即可。

可以查看 Markdown,JSON 或图片

你可以渲染 Markdown 的预览,美观地显示 JSON 文件或以表格形式显示 CSV 文件数据。你还可以查看图片。

保持 SSH 连接持久化并保有通用历史

另一个赞赏的功能就是 Wave 可以保持你的 SSH 连接持久化。不用担心因为闲置一个小时而从远程服务器断开连接。即使远程系统重启了,它也会自动为你重新连接。

此外,你还可以得到合并的历史搜索的功能。不记得在哪个终端会话中运行了哪条命令?没关系。Wave 在这方面已经帮你考虑好了。

? 保存并保持 SSH 连接持久化,把它们分组到工作区,并且在图形界面下编辑文件,这些都是一个开发者成为 Wave 终端粉丝的充足理由。

我使用 Wave 终端的经历

在使用它几个小时后,以下是我体验。

当我首次启动它时,我看到了一个弹出窗口。它默认开启了遥测功能,这是一个典型的 VS Code 式的功能。好吧,我把它禁用了。

下一个问题是服务条款。你必须接受它,但这个界面实际上没有提供阅读条款的途径。然而我可以在 他们的网站 上看到它。它是从 Basecamp 的开源政策 中引用过来的。

我不明白这个条款的必要性,因为这个软件在 Apache 2.0 下是开源许可的。这只会让人困惑。

无论如何,这就是第一次运行时的界面。如你所见,界面就像一个现代化的代码编辑器,它内含一个侧边栏可以让你将终端标签分组到工作区中。你可以为每个标签分配名称、图标和颜色。这在你需要连接到多个远程服务器时大有帮助。

在这方面,你还可以像经典的 Putty 那样保存你的 SSH 连接。

这样的话,你可以预设某个标签在启动时就开始特定的 SSH 连接。

对我来说最大的问题(如果这可以被称为“问题”)是输入字段。这只是底部的一个小输入框。你在这输入命令,它显示输出信息,整个输入命令及其输出都被组成一个框,然后移到上方。

我更习惯于经典的终端输入方式,从上开始输入,然后一行行向下移动(然后滚动)。而在这里,却恰恰相反。

看,这是有意为之的。每条命令及其输出都是一个独立的框,一个独立的元素。你可以复制它、最小化它或从视图中将其存档。

切片面包之后的最好东西

Wave 终端最大的目标就是它让你不会感觉自己在终端里。对于在终端中编辑文件的初学者来说,这就是他们的阿喀琉斯之踵。即使是在终端中使用基础编辑器(比如 Nano),那也要有一段学习曲线。

但是 Wave 不同。它内置了一个编辑器,你可以用 codeedit filename 命令调用,你就能像在图形文本编辑器中那样编辑文件。没错,你可以随意地使用你的鼠标。你还可以从编辑器菜单中选择文件类型。

对于在终端中编辑配置文件感到提心吊胆的人来说,这绝对是个天赐福音。

开发者经常需要处理 Markdown 和 JSON 文件。Wave 终端完全有能力渲染这些文件。

SSH 的连接是永久的。再也不用厌烦地频繁从远程服务器上断开连接了。Wave 完美地处理了它。

你可以从其 文档页面 进一步探索它的特性。

在 Linux 上安装 Wave 终端

你可以直接从他们的网站上下载 zip 文件。

下载 Wave

解压它后,你会发现,它有一个命名为 Wave 的可执行文件,这个文件可以用来启动应用程序。

试试它,如果你喜欢它,那就把整个文件夹移到 /opt 目录,为它创建一个新的桌面文件,这样它在系统菜单中就可以被搜索到了。我目前就不详述了。

现在还没有像 deb/rpm 这样针对某些特定发行版的安装文件。目前也暂时没有 Snap 或 Flatpak 的包。这是一个新应用。给它一些时间。

源代码在 GitHub 上可供参考。如果你喜欢,能够给它打一个星标。

Wave Terminal 的 GitHub 仓库

总结

如你所见所觉,这是一个为应用开发者所创造出来的应用程序 —— 那些在编程上花费更多时间,并且需要通过命令行来部署或调试他们的应用的人。

从设计上就看得出,这款产品是为 macOS 用户量身定做的。从界面到键盘快捷键,每一样都带有 macOS 的气息。

但是没关系。只要 Wave 在 Linux 上可用,那对 Linux 用户来说就不重要了。

我只希望它不会转为闭源且成为将来的付费工具。如果真的那样,那的确很扫兴。


via: https://news.itsfoss.com/wave-terminal/

作者:Abhishek 选题:lujun9972 译者:ChatGPT 校对:wxy

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

基于 Arch Linux 的发行版 EndeavourOS 在其最新版本中进行了一些有趣的变更。

基于 Arch Linux 的最佳用户友好型发行版 之一,EndeavourOS 现已发布版本更新。

该版本代号为 “ 伽利略 Galileo ”,沿用了我们在过去的版本中见过的类似命名方案,比如 EndeavourOS “ 卡西尼 Cassini 。(LCTT 译注:伽利略、卡西尼都是著名天文学家,这些名字和这个操作系统的名称“ 奋进 Endeavour ” 也都是航天器的名称。)

让我们来看看 “Galileo” 有什么新特性。

? EndeavourOS Galileo: 有些什么新东西?

尽管这个版本花费了一些时间才发布,但这是一次重大升级,带来了一些重要的变化。其中最明显的变化是转向了 KDE Plasma,以及放弃了 Xfce,稍后我们将详细讨论这一点。

开发者决定使 EndeavourOS 比以前更为轻巧,削减了一些预设设置,但仍然让你可以轻松地入门并使用 Arch Linux。

这个版本的一些主要亮点包括:

  • 改进了 “欢迎” 应用
  • 调整了 Calamares 安装程序
  • KDE Plasma 取代 Xfce

改进了 “欢迎” 应用

在安装过程中显示的 “欢迎” 应用已经改进,现在它在左下角具有专门的语言选择选项。

图标也已更新,安装程序现在默认使用 KDE Plasma。

Calamares 安装程序调整

为了配合 KDE Plasma 成为默认选择,EndeavourOS Galileo 上的 Calamares 安装程序在安装过程中只允许安装一个桌面环境/窗口管理器。

这是为了减轻安装后出现的冲突软件包问题。安装完成后,你仍然可以安装其他桌面环境/窗口管理器。

这还不是全部,开发者还从安装程序中移除了社区版本。因此,像 Sway、Qtile、BSPWM、Openbox 和 Worm 这样的变体无法通过 Calamares 安装了。

之所以不得不放弃这些变体,是因为大多数最初的开发者已经离开了这个项目,也没有其他人接手。幸运的是,你仍然可以从它们的 GitHub 页面 手动安装这些社区版本。

KDE Plasma 取代 Xfce

未来,KDE Plasma 将成为默认的桌面环境,运行在立付环境和离线安装上,取代了 Xfce。

不用担心,在安装 EndeavourOS 的过程中仍然可以选择安装 Xfce,前面显示的截图就是证明。

正如开发者所述,这一举措背后的原因是:

为了使团队更容易进行开发和维护,我们转而使用 KDE Plasma 而不是 Xfce,因为对于我们的开发人员来说,使用 Calamares 安装程序能带来更原生的体验。

?️ 其他变化和改进

以下是一些值得注意的其他亮点:

  • 在新安装上启用了 本地主机名解析。
  • 当选择 systemd-boot 时,实施更强大的 LUKS2 加密。
  • 为了避免错误,对 EFI 分区的权限 进行了更严格的限制。
  • Calamares 上的 软件包选择屏幕 已经重新调整,更加直观。

你可以通过官方的 公告博客 了解更多关于 “Galileo” 版本的信息。

? 获取 EndeavourOS Galileo

你可以从 官方网站 获取 EndeavourOS Galileo,他们还在全球各地添加了新的下载镜像,以提高访问速度。

EndeavourOS Galileo

对现有用户有何影响?

没有。这个版本带来的变化仅影响新安装、安装程序和 ISO 上的立付环境。

升级到 Galileo 不是强制性的,定期更新系统的现有用户应该不会出现问题。

? 你对这个版本有什么看法?放弃 Xfce 是一个好主意吗?


via: https://news.itsfoss.com/endeavouros-galileo/

作者:Sourav Rudra 选题:lujun9972 译者:GlassFoxowo-Dev 校对:校对者ID

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

1 苹果公司的 Objective-C 似乎已经落幕?

JetBrains 发布了年度《开发者生态系统状况》报告,其中称苹果的 Objective-C 语言 “似乎已经走到了生命的尽头”,仅有 2% 的开发者在使用该语言,而且没有开发者计划采用该语言。有 26000 多名开发者参与了该调查,当然该公司承认,报告可能 “偏向于 JetBrains 用户的观点”。JetBrains 曾经为 macOS 和 iOS 开发过一款名为 AppCode 的集成开发环境,同时支持 Objective-C 和 Swift,但在 2022 年 12 月停止了开发,所以,JetBrains 的用户中使用这两种语言的人数不会太多。

消息来源:Dev Class
老王点评:不过,Objective-C 确实在逐渐消失,虽然遗留代码很多,但是似乎很久没听到新的开发者在学习它了。

2 谷歌对使用了广告拦截器的浏览器延迟加载 YouTube 视频

今年早些时候,YouTube 开始在使用广告拦截器的用户观看视频时弹出提示,鼓励他们要么禁用违规扩展或过滤器,要么付费购买无广告高级版。最近,有人反映在使用 Firefox 时,视频开始播放会出现大约 5 秒钟的延迟。谷歌承认,“使用广告拦截器的用户可能会遇到加载延迟的问题,无论他们使用的是哪种浏览器。”谷歌阻止广告拦截器的努力不止于此,它正在推进的一项 API 更改计划,包括广告拦截器在内的MV2 浏览器扩展将停止工作。

消息来源:The Register
老王点评:这就是广告商为了捍卫自己的商业利益而做出的举动。

3 英伟达第三财季营收增长三倍

英伟达第三财季业绩超出华尔街预测,营收同比增长 206%,净利润为 92.4 亿美元。英伟达表示,数据中心总收入为 145.1 亿美元,一半来自亚马逊等云基础设施提供商,另一半来自消费互联网实体和大型公司。其游戏业务贡献了 28.6 亿美元。

消息来源:CNBC
老王点评: AI 到底挣钱不挣钱先不说,芯片厂商已经赚到放不下的钱了。

Fedora 39 通过 SSSD 和 FreeIPA 为集中管理的用户开启了 FIDO2 认证功能。此篇文章将指导你如何进行配置和启用该功能。

FIDO2

FIDO2 是以 公钥加密 为基础的开放式认证标准,比起密码和一次性密码(OTP),它的安全性更高且易用性更强。它通常以类似小型 USB 和基于 NFC 的硬件安全令牌的方式提供。有几种符合 FIDO 认可的密钥品牌,例如:YubiKey、NitroKey、SoloKey v2 等等。

此协议的优势包括:

  • 通过使用公钥加密来消除密码,从而实现无密码认证。
  • 采用 多因素认证(MFA)以实现强力认证。
  • 减少了应用程序之间密码或公钥的重复使用,降低数据泄露的风险。
  • 私钥位于安全令牌中并且永不离开,这大大减少了被网络钓鱼的威胁。

前面的文章

在 Fedora 杂志中,有多篇文章阐述了如 FIDO2 的应用场景:《如何使用 FIDO2 验证本地用户》 和 《如何解锁硬盘》。而此篇文章介绍了如何使用 FIDO2 验证远程用户。请注意,上述所说的设备,主要是指那些来自 Yubico 采用了其他协议的设备,而此篇指南的目的并非讨论这些协议。

集中管理的用户

SSSD 和 FreeIPA 最近新增了一个名为 通行密钥 passkey 的特性,以便对集中管理的用户执行 FIDO2 认证。此功能目前只在 SSSD 2.9.0 和 FreeIPA 4.11.0 等版本中支持。

Fedora 39 已经包含了这些版本,因此,它是第一个为集中管理的用户启用 FIDO2 认证的发行版。此外,用户在认证成功后,也会一并获取一个 Kerberos 票据,实现对其他服务的身份证明。

请注意,从这里开始,我将交替使用 FIDO2 和通行密钥这两个术语。

FIDO2 认证

FIDO2 配置

作为额外的安全措施,应在设备中启用 MFA 以防你丢失了密钥,恶意行为者无法使用它进行认证。

列出连接的通行密钥设备:

$ fido2-token -L

为你的通行密钥设备设置 PIN(将大写字母替换为所需的):

$ fido2-token -C /dev/hidrawX

如果你有一个兼容的设备,你还可以启用其他认证因素,例如指纹。

集中用户配置

首先,我们来创建一个用户,并将通行密钥(passkey)设置为其认证方式(请根据需要将大写字母替换为相应的):

$ ipa user-add USERNAME --first NAME --last SURNAME --user-auth-type=passkey

或者,如果你已有一个用户,并只需要将 passkey 设置为其认证方式:

$ ipa user-mod USERNAME --user-auth-type=passkey

集中管理用户的 FIDO2 注册

接下来,我们为该用户注册这个通行密钥。这个步骤会提示你输入 PIN 码,随后触摸设备:

$ ipa user-add-passkey USERNAME --register
Enter PIN:
Please touch the device.
------------------------------------
Added passkey mappings to user "USERNAME"
------------------------------------
    User login: USERNAME
    Passkey mapping: passkey:XR/MXigmgiBz1z7/RlWoWZkXKIEf1x9Ux5uPNxtzzSTdTiF407u2nRYMPkK8pWjwUR8Aa2urCcC9cnpLbkKgFg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZqgERsFFv4Yev1dyo2Ap4PvLirg3P3Uhig5mNA4qf061C9q5rg0nMDz9AOYxZmBrwvQEXHCasMNO9VAIVnBIVg==

此刻,用户的认证已准备就绪。

注意,如果你想在生产环境中使用此用户,我建议你至少注册两个不同的设备。这样,即使你丢失了其中一个设备,你也可以用另一个进行认证。

集中管理的用户的 FIDO2 认证

在初次尝试中,只有在物理连接令牌的系统中才能进行认证。这意味着你可以使用 su 或图形界面,但不能远程使用 ssh。

我们来试试使用 su,记得将大写字母替换为所需的。当要求你输入 PIN,然后触摸设备时,当设备灯闪烁时触摸它:

$ su - USERNAME@DOMAIN
Insert your passkey device, then press ENTER.
Enter PIN:

如果一切进行顺利,Kerberos 票据也应已被授予,然后你就可以向其他服务进行远程认证:

$ klist
Ticket cache: KCM:879400005:34862
Default principal: USERNAME@DOMAIN
Valid starting Expires        Service principal
10/20/23 09:46:04  10/21/23 09:32:37  krbtgt/DOMAIN@DOMAIN

结论

此认证机制的目标是提升安全性。通过使用一种众所周知、开放式的标准实现无密码和多因素认证,从而降低数据泄露和网络钓鱼威胁的风险。用户只需要一个硬件令牌及另外一个如 PIN 或者指纹的认证方式,从而消除对密码的需求,同时提供了方便的多因素认证方法。更进一步,每个应用或服务都使用一个唯一的密钥,这样任何一个应用或服务的数据泄露都不会影响其他的。最后,用户并不需要知道他们的凭据的具体细节,只需了解他们使用了一个实体令牌,这极大地降低了社交工程攻击的可能性。

(题图:MJ/838d5392-79b4-4c22-ab0f-c2ada4bf2833)


via: https://fedoramagazine.org/fido2-for-centrally-managed-users/

作者:Iker Pedrosa 选题:lujun9972 译者:ChatGPT 校对:wxy

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

1 Rust 有了一个制定规范的团队,但不负责定义该语言

作为对去年 6 月的 RFC 的落实,Rust 成立了一个规范团队,但和 C、C++ 等语言不同,该团队不负责定义 Rust 语言。通常,一种编程语言的标准委员会负责定义语言,而实施者则负责构建编译器,编译器可能只是规范的部分实施,也可能是规范的扩展。Rust 规范团队表示,“Rust 语言的定义权仍属于相关团队,如语言团队和库 API 团队”。该团队的早期重点是放在提供当前 Rust 版本的详细描述上 —— 也就是说,更像是文档而不是规范。最终仍然是 “rustc 做什么就做什么”,“如果 rustc 与规范不同,那就是规范的错误”。并且,Rust 的发布将独立于规范审批流程,发布时将不附带相关规范。

消息来源:Dev Class
老王点评:这难道不是文档团队吗?

2 Firefox 120 将支持新的隐私控制请求头 Sec-GPC

Mozilla 刚刚推出的 Firefox 120 将支持新的全局隐私控制请求头 Sec-GPC,以表明用户是否同意一个网站或一项服务向第三方出售或共享其个人信息,类似 请勿跟踪 Do Not Track ,它仍然是一项自愿遵守的隐私标准。

消息来源:Phoronix
老王点评:谁会愿意被出售个人信息或被追踪啊?这种标头只是用来表示抗议吗?

3 波兰法院地板下发现大型加密矿机

波兰警方接到报警,要求拆除一个在波兰法院的地板和通风管道中的秘密加密挖矿设备。这些计算机每月可能窃取上千美元的能源,目前尚不清楚该设备运行了多久,它们没有被发现的部分原因是通过自己的调制解调器而不是法院网络连接到互联网的。在发现这些矿机的两周内,该法院终止了与一家负责大楼 IT 维护的公司的合同。

消息来源:Ars Technica
老王点评:这些矿工的想象力真是丰富。

在本次 Linux 黑话解释系列的这一篇,我们会一起来探索 Linux 中的 Super 键(或称其为 Meta 键)。

当你在网上浏览 Linux 教程时,你可能会遇到 “Super 键” 这个术语,对于 Linux 的初学者来说,这可能会引起混淆。

概括地说,如果你的电脑预装了 Windows,那么带有 Windows 标志的 Windows 键就是 Super 键。

如果你使用的是苹果电脑,那么带有 ⌘ 符号的 command 键就是你的 Super 键。

下面这个就是你的 Super 键(或者 Meta 键)

很简单吧?

但是,为什么要将其命名为 Super 键呢?毫无疑问,背后一定有一些有趣的故事。

那么,让我们一起按下 Super 键,发掘更深层次的故事吧。

Super 键背后的想法

它首次出现在 “space-cadet” 键盘中,这款键盘是在 1978 年为 Lisp 机器 设计的,其主要目的是用来模拟 Meta 键。(LCTT 译注:这款键盘的独特之处在于它设有七个修饰键,包括 Shift、Control、Meta、Super、Hyper,用户可以通过组合这些修饰键与其他键来输入更多的字符和命令,它对现代计算机键盘的发展产生了重要影响。)

Meta 键在 Emacs 编辑器中是非常重要的一个部分,但在当时的现代键盘中却未能配备实体的 Meta 键,因而人们常常通过不同的按键绑定来模仿其功能。

Super 键的引入,解决了这个问题,由此我们有了一个真实的 Super 键。

快进到 1994 年,当时 Windows 键首次在 微软自然键盘 上出现,它被用来迅速打开“开始”菜单。从 1996 年开始,将 Meta 键映射到 Windows 键成为了普遍的做法。

Super 键的一般使用情况

当你在 Ubuntu 桌面上按下 Super 键时,它会显示活动概览,让你全面了解每个窗口正在进行的活动:

在 Ubuntu 中按下 Super 键获得活动概览

但你要知道,除了预览正在进行的活动,你其实还可以做更多。

比如,你可以同时按下 Super 键和 Tab 键,调出应用切换器,从而在正在运行的应用之间切换。

下面列举了一些可以利用 Super 键的快捷键(在 Ubuntu 23.10 内部测试通过):

? 如果你在使用的是基于 Ubuntu 的发行版,其中的某些快捷键可能并不会按照预期那样工作,因为发行版维护者可能已经将该快捷键指定为另一个任务。
快捷键描述
Super打开活动概览
Super + Tab切换开放应用
Super + D显示桌面(最小化所有窗口)
Super + A打开应用菜单
Super + S显示快速设定
Super + ←将活动窗口移至屏幕的左半部分
Super + →将活动窗口移至屏幕的右半部分
Super + ↑最大化活动窗口
Super + ↓最小化活动窗口
Super + L锁定屏幕

这些操作实在太方便了,对吧?

通过快捷键提高生产效率

对于新接触 Ubuntu 的你,下列的一些有帮助的快捷键值得一试:

Ubuntu 用户应该知道的 13 个快捷键

如果你刚开始使用终端,我会推荐你学习 Linux 终端的基本快捷键:

专业用户喜欢使用的 21 个 Linux 终端快捷键

我希望这篇文章能给你带来宝贵的信息,使你对 Super 键有更深入的了解 ?

(题图:MJ/9b9a1146-0e76-459a-880d-b1a1a4fa5f1e)


via: https://itsfoss.com/super-key/

作者:Sagar Sharma 选题:lujun9972 译者:ChatGPT 校对:wxy

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