2022年12月

粒子物理学的基础计算机程序后继无人

粒子物理学家使用所有科学中最长的一些方程式。他们绘制了数以千计的称为费曼图的图片,每张图都编码了一个可能有数百万个术语的复杂公式。这些公式复杂到甚至用计算机添加它们也是一个挑战。33 年来,一个名为 FORM 的程序成为处理这些计算的主要程序。然而,它的维护主要依靠原作者 Vermaseren 一个人,而他已经 73 岁了,但还没有人接手这些工作。

消息来源:量子杂志
老王点评:很多时候就是这样,大多数人心安理得的使用着的一些基础设施,其实都是有人在背后默默奉献,并且,岌岌可危。

KDE 正在开发一个平铺窗口管理器

KDE Plasma 桌面的窗口管理器 KWin 增加了一个内置的高级平铺系统,可以用来创建自定义的平铺布局。这包括一个方便的配置界面,用于管理快速平铺行为。这个新的平铺系统有望得到进一步的完善,而最初的实现会在 Plasma 5.27 中找到。

消息来源:Phoronix
老王点评:这种平铺窗口才是 Linux 桌面应该创新的地方,而不是处处学着 Windows 和 Mac。

苹果的 AR/VR 头显操作系统命名为 “xrOS”

苹果已经决定将在其即将推出的 AR/VR 头显上运行的软件称为 “xrOS”,该公司原来计划称作“RealityOS” 或 “rOS”。苹果的头显预计将在 2023 年推出,将采用自己的操作系统,就像苹果电视和苹果手表一样,它也将有一个专门的应用程序商店。

消息来源:Mac Rumors
老王点评:希望看到苹果能继续创新。

想在 Arch Linux 上试试 Unity 吗?现在可以了!

Unity Desktop 是由 Canonical 构建的经典桌面环境,它从 2010 年到 2017 年是 Ubuntu 的一部分,但为了支持 GNOME 而放弃。

我们认为它永远被杀死了。但它卷土重来。

今年早些时候,自 2016 年 5 月上次更新以来,经过长达 6 年的时间,Unity 的改进版本发布了。

开发由一位年轻的开发人员 Rudra Saraswat 带头,他也是 Ubuntu Unity 的创建者,它现在是 Ubuntu 的官方版本。

Unity 7.6 的发布标志着大量改进的到来。

而且,更进一步,Unity 7.6 已可用于 Arch Linux。开发者提到:

此移植基于 chenxiaolong (于 2011-2016 年维护)的早期成果 Unity-for-Arch。

在 Arch Linux 上试用 Unity 7.6

unity on arch linux

首先,你必须确保你已经安装了 Arch Linux。

然后你可以按照以下步骤在 Arch Linux 上运行 Unity 7.6:

安装 Paru,它是一个 AUR 助手。

使用 paru -S unity-installer-arch 安装名为 unity-installer-arch 的脚本。

在 TTY/终端窗口中运行 unity-installer-arch

选择 “ 安装 Unity 桌面 Install Unity desktop ”。

将默认显示管理器更改为 lightdm

使用 unity-greeter 作为默认登录界面。

我的同事 Sreenath 尝试了一下,在安装过程中,由于多重依赖冲突,他不得不从全新的 Arch 开始。

对你来说可能有所不同,但请记住这一点。如果你不想花时间在这上面,你可能想试试 Ubuntu Unity

总结

对于 Unity 桌面爱好者来说,这是一件好事。更多发行版可能会考虑使用带有 Unity 桌面的变体。

你想让那发生吗?

? 你是 Unity 桌面的用户吗?想试试看么?在评论区分享你的观点。


via: https://news.itsfoss.com/unity-arch-linux/

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

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

再一次,微软因其 Office 365 的隐私问题而在德国受到抨击!

微软 Office 365 再次在德国学校被宣布为非法!

最近,我偶然看到 Tutanota 的一篇博文,说微软的 Office 365 再次被宣布在德国学校使用是非法的。

好吧,真让人吃惊!?

上一次发生这种情况还是在 2019 年,当时 Office 365 被禁止在德国 黑森州 Hesse 的学校使用。

补充说明一下,Office 365 软件包提供了一套完善的专有工具,被全球许多专业人士使用,这就是它受欢迎的原因。

然而,正如德国当局指出的那样,它带来了相当多的隐私问题,这些问题还没有得到解决。

? 因此,德国数据保护会议(DSK、Datenschutzkonferenz)决定禁止在全国的学校使用微软 Office 365。

? DSK 是一个由独立的德国联邦和州数据保护监督机构组成的团体。

微软 Office 365 不能在德国学校使用

一个大胆的举动: DSK 已经禁止在学校使用微软 Office 365,理由是微软存在各种隐私侵犯的行为。

过去两年一直在进行谈判,以确保其符合欧洲数据保护标准。

然而,事情的结果并不理想。

DSK 的一份声明中,他们提到:

控制者必须能够根据 GDPR 第 5(2) 条履行其责任义务。在使用微软 365 时,根据“数据保护附录”,在这方面仍然会遇到困难,因为微软没有完全披露具体发生了哪些处理操作。

此外,微软没有完全披露哪些处理操作是代表客户进行的,哪些是为自己的目的进行的。

换句话说,他们觉得微软没有遵守 GDPR 的规定,而且微软一直缺乏透明度。

与 2019 年那次有什么不同?: 好吧,在被黑森州的学校取缔后,微软在 2019 年后做了一些改变。

但是,他们只是采用了欧盟委员会的一些标准合同条款,并更新了他们的《产品和服务数据保护 附录》,几乎只是表面功夫。

这次又是什么原因造成的?: 当 DSK 发现使用 Office 365 时,个人数据被发送到美国,使美国当局可以获得这些数据时,他们很不高兴。

他们还发现,如果不将个人数据传输到美国,就无法使用微软 Office 365。

因此,他们也建议私人用户不要使用 Office 365,因为不能信任微软对他们的数据的处理。

Tutanota 的人还指出,许多贸易学校使用 Office 365 来让他们的学生学习办公室工作。现在,他们将不得不使用微软 Office 的本地许可证(在本地部署)来实现同样的目的。

下一步是什么? 在最近的一份 声明 中,微软表示,他们不同意 DSK 的做法,并已采取措施,确保他们的 Office 365 产品符合欧洲数据标准,或者经常超过这些标准。

微软提到:

我们谨记 DSK 关于提高透明度的呼吁。虽然我们的透明度标准已经超过了我们行业中的大多数其他供应商,但我们承诺会做得更好。

特别是,我们将在我们计划的欧盟数据限制的框架内,在透明度的意义上提供关于我们客户的数据流和处理目的的进一步文档。

我们还将增加欧盟以外的分包商和微软员工的地点和处理的透明度。

因此,总结一下。在遵守严格的欧盟数据处理准则方面,微软还有很长的路要走。

我认为德国学校应该改用 Linux,并选择开源的微软 Office 替代品,如 LibreOffice、Calligra、ONLYOFFICE 等等,以保证他们的数据安全并掌握在正确的人手中。

你怎么看?微软是否在努力保持其在德国的地位?欢迎分享你的想法。


via: https://news.itsfoss.com/microsoft-office-365-illegal-germany/

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

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

Steam Linux 市场份额达到新高 1.44%

根据 Valve 公布的 2022 年 11 月操作系统市场份额统计,Linux 的份额在过去一个月出现数年以来的最大份额:1.44%。Windows 仍然是统治地位的 96.11%。Linux 的份额长期以来一直在 1.2% 左右,过去一年增加了 0.28%。这一涨幅被认为主要是 Linux 掌机 Steam Deck 带来的一百多万用户,SteamOS 用户约占其中的 1/4。十年前,当 Steam 在 Linux 上首次亮相时,它享有大约 2% 的市场份额,但那时的 Steam 用户数显然比现在少得多。

消息来源:Phoronix
老王点评:看来游戏是推动 Linux 普及的重要力量啊。

IBM 和马士基放弃运作了五年的航运联盟链

IBM 和全球最大的集装箱承运公司马士基在五年前合作,建立了一个联盟链 TradeLens,用于航运数据。该联盟链的成员可以验证数字账本上记录的货物交易。但它最终未能在其目标行业中获得足够的支持。“没有达到继续工作和满足作为独立企业的财务预期所需的商业可行性水平。”他们宣布将于 2023 年关闭此项目。

消息来源:Coindesk
老王点评:区块链到底有用没有且放在一边,我认为联盟链是没有意义的。

多个安卓 OEM 厂商证书被用于签名恶意程序

安卓 OEM 厂商使用平台证书给操作系统和核心应用签名,这些 OEM 厂商的证书可以让应用拥有系统级访问权限。谷歌安卓安全团队发现多个恶意应用样本使用了 10 个泄露的 OEM 证书,这些证书属于三星、LG、联发科等厂商,目前还不清楚这些证书是如何泄露的。

消息来源:Chromium
老王点评:居然泄露了这么多证书。

Authy 是一款流行的应用,用于存储和管理双因素代码。它是一项基于云的服务,可为你提供便利的工业级安全性。不幸的是,它不是开源的。

你会考虑在 Linux 桌面上使用更直接(和开源)的身份验证器应用吗?

嗯,当然,你不能使用云同步。但是你可以为双因素身份验证码做个备份。记住这点,让我告诉你更多有关 Authenticator 的信息。

authenticator app ft

Authenticator:生成双因素身份验证代码

当你启用在线服务的双因素身份验证时,大多数服务都会为你提供令牌/QR 码,你可以添加/扫描以生成代码。

Authenticator 就是这样一款适用于 Linux 的应用,他可让你添加双因素身份验证码。

authenticator ui

它是一个自由开源的应用,具有添加各种支持双因素身份验证的令牌和网站的基本功能。

身份验证器的特点

authenticator 自动锁定

你获得的一些基本功能包括:

  • 使用相机或截图的二维码扫描器
  • 使用密码保护应用
  • 自动锁定应用
  • 支持各种算法(SHA-1/SHA-256/SHA-512)
  • 支持基于时间/基于计数器/流式计算方法
  • 备份/恢复选项(FreeOTP、Aegis 和 OTP、Bitwarden 和 Google Authenticator)

你可以设置自定义选项,并能够根据服务提供的支持添加自定义的提供者。可以为提供者添加自定义图标,以帮助你区分身份验证代码。

authenticator 自定义提供程序

在大多数情况下,默认设置应该适用于网站。但是,如果它不起作用,你可能需要与提供者核实确切的详细信息。

该应用还具有开箱即用的多个提供者,例如 Google Drive 和 Proton Mail。因此,你无需为添加的每个条目添加自定义配置。

在 Linux 上安装 Authenticator

authenticator 添加新代码

Authenticator 以 Flatpak 的形式提供。因此,你可以将它安装在任何 Linux 发行版上。

只需输入以下命令即可安装它:

flatpak install flathub com.belmoussaoui.Authenticator

你可以前往其 Flathub 或 GitLab 页面探索更多信息。

如果你是 Linux 世界的新手,请参阅我们的 Flatpak 指南 进行设置。你的软件中心可能已经启用了 Flatpak 集成。这种情况下,你可以搜索安装它。

使用开源身份验证器应用确保安全性和可靠性

我们经常依赖云驱动的工具来处理所有事情。当然,这很方便。

但是,有时桌面应用更有用。如果你也这么想并考虑进行转换,Authenticator 可能是一款值得安装的出色的应用,可以用于双因素身份验证码。


via: https://itsfoss.com/authenticator/

作者:Ankush Das 选题:lkxed 译者:geekpi 校对:wxy

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

PowerShell(也可写作 pwsh)是一个功能强大的开源命令行工具,它是面向对象的,由微软开发和维护。它的语法特征冗长,但对用户来说比较直观。本文介绍如何在主机上和在 Podman 或其他容器内安装 PowerShell。

为何使用 PowerShell

PowerShell,正如它的名字那样,是一个强大的工具。它的句法冗长,但语义清晰。对那些不愿意写长命令的开发者来说,PowerShell 的大多数命令都有别名。可以使用 Get-Alias 或点击 此处 查询别名的使用方法。

PowerShell 和传统的 Shell 最大的区别在于它的输出管道。普通的 Shell 输出的是字符串或字符流,PowerShell 输出的是对象。这对命令管道的工作方式具有深远的影响,而且它具有很多的优点。

演示例子

下面的例子体现的是冗长而清晰的特点。以 # 号开头的行是注释行。以 PS > 开头的行是命令行,PS > 是提示符:

# Return all files greater than 50MB in the current directory.
## Longest form
PS > Get-Childitem | Where-Object Length -gt 50MB
## Shortest form (with use of aliases)
PS > gci | ? Length -gt 40MB
## Output looks like this
    Directory: /home/Ozymandias42/Downloads
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-----          20/08/2020    13:55     2000683008 40MB-file.img


# In order: get VMs, get snapshots, only select the last 3 and remove selected list:
PS > Get-VM VM-1 | Get-Snapshot | Select-Object -Last 3 | Remove-Snapshot

上述例子说明了:Bash 脚本经常需要用 cutsedawk 等工具对输入/输出进行格式化,而使用 PowerShell 时通常就没有这个必要了。这是因为 PowerShell 的工作机制跟传统的 POSIX shell(例如 Bash、Zsh、Fish等)有本质的不同。传统的 Shell 的命令输出形式是字符串,而在 PowerShell 中,命令输出形式为对象。

Bash 与 PowerShell 的比较

下面的例子说明了与 Bash 中的字符串输出模式相比,PowerShell 的对象输出模式的优点。假设你需要写一段脚本,该脚本的作用显示所有进程,这些进程一共占用了 200MB 内存空间。如果使用 Bash,大致如下:

$ ps -eO rss | awk -F' ' \
    '{ if($2 >= (1024*200)) { \
        printf("%s\t%s\t%s\n",$1,$2,$6);} \
     }'

PID    RSS     COMMAND
A      B       C
[...]

第一个显而易见的差别就是可读性,或更确切地说是语义清晰度。 psawk 都不是自描述的。ps 命令的功能是显示进程状态;awk 是一种文本处理工具和语言,这个词汇每个字母都是前期开发人员的名字(Aho, Weinberger, Kernighan(详见 维基百科)的首字母。然而,在把它与 PowerShell 作比较前,先看看这个脚本:

  • ps -e 输出所有运行中的进程;
  • -O rss 输出 ps 的默认输出内容,再加上 RSS 字段 —— 每个进程使用的千字节数(以 KB 为单位);输出结果类似于:
PID  RSS   S TTY TIME     COMMAND  
1    13776 S ?   00:00:01 /usr/lib/systemd/systemd
  • | 管道操作符使用左边命令的输出作为右边命令的输入。
  • awk -F' ' 定义“空格”,作为输入字段分隔符。以上面的例子来说,PID 是第一个字段,RSS 是第二个字段,依此类推。
  • '{ if($2 >= (1024*200)) { 是实际的 AWK 代码起始处。它的作用是检查第二个字段(RSS)是否包含一个大于或等于 1024*200 的数字;
  • printf(“%s\t%s\t%s\n”,$1,$2,$6);} 脚本继续。如果前面的条件成立,则输出第一、第二和第六个字段(分别是 PIDRSSCOMMAND 字段)。

考虑到这一点,退一步说,编写这段脚本需要什么才能令它工作:

  • 输入命令 ps 的输出中必须包含我们想要过滤的字段。这在默认情况下是没有的,需要我们使用 -O 标志和 rss 字段作为参数。
  • 我们需要将 ps 的输出当作一组输入字段,所以我们还应当知道它们的顺序和结构。换句话说,我们至少需要确定 RSS 是第二个字段。这也意味着我们需要提前知道 ps 的输出信息的大致情况。
  • 然后我们需要知道过滤的数据是什么单位,以及相关工具的单位是什么。也就是我们需要知道 RSSawk 字段使用 kb。不然我们就不能写出 ($2 >= 1024*200) 这样的表达式。

现在,我们把前面的命令跟 PoserShell 中等价的命令比较:

# Longest form
PS > Get-Process | Where-Object WorkingSet -ge 200MB
# Shortest form (with use of aliases)
PS > gps | ? ws -ge 200MB

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
------    -----      -----     ------      --  -- -----------
     A        B          C          D       E   F           G
[...]

首先应该注意到,语义非常清晰。这些命令都是自描述的,能清晰描述它们做什么。

此外,不需要对输入-输出重新格式化,也不需要关心输入命令使用的单位。这是因为 PowerShell 输出的是对象,而非字符串。

考虑下述情况,就可以理解这些内容。在 Bash 中,命令的输出信息就是终端显示的信息。在 PowerShell 中,终端显示的信息并不等于实际可用的信息。这是由于 PowerShell 中的输出-打印系统使用的也是对象。因此 PowerShell 中每一条命令都对输出的对象的一些属性作了可打印的标记,也对一些属性作了不可打印的标记。然而,它总是包括所有的属性,而 Bash 只包括它实际打印的内容。我们可以把它想象成 JSON 对象。Bash 中的输出位置被分为一些“字段”,以空格或制表符为标志,在 PowerShell 中它是一个容易寻址的对象属性,只需要知道它的名称即可使用。就像上述例子中的 WorkingSet 那样。

为了看到一条命令的输出对象的所有属性和它们的类型,可以进行以下操作:

PS > Get-Process | Get-Member

安装 PowerShell

PowerShell 安装包的形式有若干种,包括 Fedora Linux 中使用的 RPM 安装包。本文介绍在 Fedora Linux 中如何使用多种方法安装 PowerShell。

我推荐使用原生的方法安装。但我也会介绍如何在容器中安装。我将展示使用官方微软 PowerShell 容器和 Fedora Linux 30 的 Toolbox 容器。使用容器的优点在于,所有的依赖捆绑在其中,并且与主机隔离,所以它一定是有效的。无论如何,虽然官方文档只是明确指出支持 Fedora Linux 发行版的 28-30 版本,我还是建议使用原生的方法安装。

注意: 官方支持意味着一定有效。但其他的版本也不是一定不兼容。也就是说,高于 30 的发行版也应该有效。经过测试,的确如此。

在容器中设置并运行 PowerShell 比直接在主机上运行它难度更大,安装需要花费更多时间,而且你还不能直接运行主机的命令。

在主机上使用包管理器安装 PowerShell

方法一:使用微软仓库

安装过程很直接,而且跟通过第三方仓库安装其他软件没什么区别。

通俗地说,安装过程可以分为四步:

  1. 添加新仓库的 GPG 密码
  2. 在 DNF 仓库列表中新增相应的仓库
  3. 刷新 DNF 缓存,将新仓库中的有关包包含进来
  4. 安装新包

然后使用命令 pwsh 启动 PowerShell。

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf makecache
$ sudo dnf install powershell
$ pwsh

欲删除仓库和包,运行以下命令:

$ sudo rm /etc/yum.repos.d/microsoft.repo
$ sudo dnf remove powershell
方法 2:使用 PRM 文件

这种方法与第一种方法没有明显的差别。实际上,在安装 RPM 文件时,隐式添加了 GPG 密码和仓库。这是由于 RPM 文件包含它们两者的关联关系,保存在它的元数据中。

首先,从 PowerShell GitHub 仓库 获取相应版本的 .rpm 文件。然后查看 readme.md 文件中的 “获取 PowerShell” 部分的内容。

第二步,输入以下命令:

$ sudo dnf install powershell-<version>.rhel.7.<architecture>.rpm

<version><architecture> 节点中填写各自的内容,例如 powershell-7.1.3-1.rhel.7.x86\_64.rpm

你也可以使用链接运行它,不指定版本和架构,先把它下载到本地。

$ sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v<version>/powershell-<version>.rhel.7.<architecture>.rpm

欲删除 PowerShell,运行以下命令:

$ sudo dnf remove powershell

通过容器安装

方法一:使用 Podman 容器

Podman 是一个兼容 开放容器倡议(OCI)的、嵌入式的容器引擎,它可以代替 Docker。

微软提供了 PowerShell Docker 容器集成工具。下面的例子将在 Podman 中使用容器。

欲了解更多关于 Podman 的信息,可以访问 Podman.io。Fedora 杂志还有一个专为 Podman 设计的 标签

欲在 Podman 中使用 PowerShell,运行以下脚本:

$ podman run \
  -it \
  --privileged \
  --rm \
  --name powershell \
  --env-host \
  --net=host --pid=host --ipc=host \
  --volume $HOME:$HOME \
  --volume /:/var/host \
  mcr.microsoft.com/powershell \
  /usr/bin/pwsh \
  -WorkingDirectory $(pwd)

这段脚本为使用 PowerShell 创建了一个 Podman 容器,并立即接入其中。它还将 /home 和主机的根目录挂载到容器中,确保它们在容器中是可用的。无论如何,在 /var/host 目录下,主机的根目录是可访问的。

但是,在容器内部,你只能间接运行主机命令。有一种变通办法,就是先运行 chroot /var/host 改变根目录,然后运行主机命令。

为了把命令拆分开来讲解,除非特别指定,以下所有内容都是强制性的:

  • -it 创建一个持久环境,当你进入该环境后,不会轻易退出;
  • --privileged 给予容器扩展的权限(可选);
  • --rm 当你退出时移除容器;
  • --name 设置容器名称;
  • --env-host 将所有主机的环境变量设置为容器的变量(可选);
  • --net=host --pid=host --ipc=host 在主机的命名空间中运行进程(而非一组单独的名称空间);
  • --volume $HOME:$HOME 挂载用户目录;
  • --volume /:/var/host 将主机根目录挂载到 /var/host(可选);
  • mcr.microsoft.com/powershell 进入容器;
  • /usr/bin/pwsh 可选但很方便的参数:用别名 pwsh,脚本中有了它,可以输入 pwsh 轻松访问 Podman 容器;
  • -WorkingDirectory $(pwd) 在当前目录下进入容器(可选)。

欲移除 PowerShell 镜像,运行以下命令:

$ podman rmi mcr.microsoft.com/powershell
方法二:Fedora 系统的 Toolbox 容器

在不影响主机系统的情况下安装持久化环境,使用 Toolbox 容器是一种巧妙的解决方案。它充当了 Podman 的封装器,负责提供大量的标志,就像方法一中提到的那样。因此,Toolbox 比 Podman 容易使用。它可以用来开发和调试。有了 Toolbox,你可以运行任何命令,跟你直接在 Fedora 工作站主机上运行是一样的。

安装步骤跟在主机上安装一样,唯一的区别就是在容器内部进行。你需要确保已经安装了 toolbox 包。

使用 Fedora 34 Toolbox 容器需要两个步骤:

  1. 创建 Fedora 34 Toolbox 容器
  2. 运行 Fedora 34 Toolbox 容器
$ toolbox create --image registry.fedoraproject.org/f34/fedora-toolbox
$ toolbox enter --container fedora-toolbox

接着,按照 方法一:使用微软仓库 中的相关内容操作。

可选但非常方便的做法:使用别名 pwsh,可以轻松地访问 Toolbox 容器:

toolbox run –container fedora-toolbox pwsh

欲移除 Toolbox 容器,需要确保你已经使用 exit 关闭了 Toolbox 会话,然后运行以下命令:

$ podman kill fedora-toolbox
$ toolbox rm fedora-toolbox

via: https://fedoramagazine.org/install-powershell-on-fedora-linux/

作者:TheEvilSkeleton, Ozymandias42 选题:lujun9972 译者:cool-summer-021 校对:wxy

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