2021年9月

GNOME 41 是一次有价值的升级,它带来了新的应用程序、功能和细微的视觉改进。

现在 GNOME 41 稳定版终于发布了。

虽然 GNOME 40 带来了不少激进的改变,让许多用户不得不去适应新的工作流程,但 GNOME 41 似乎避免了这个问题。

在 GNOME 41 中没有明显的工作流程变化,但有增加了新的功能,做了全面的改进。

GNOME 41 的测试版已经发布了一段时间了。而且,为了发现它值得关注的地方,我们在发布前就使用 GNOME OS 试用了它的稳定版。

GNOME 41 有什么新功能?

GNOME 41 并没有给你带来任何新的视觉感受,但是一些有用的改进可以帮助你改善或控制工作流程。

此外,还升级了一些 GNOME 应用程序。

让我提一下 GNOME 41 的主要亮点。

GNOME 41 软件的上下文板块

每个版本中,用户都期待着对 GNOME “ 软件 Software ”的改进。

虽然他们一直在朝着正确的方向改进它,但它需要一次视觉上的重新打造。而且,这一次,GNOME 41 带来了急需的 UI 更新。

软件商店的描述性更强了,看起来应该对新用户有吸引力。它使用表情符号/创意图标来对应用程序进行分类,使软件中心变得更时尚。

就像 Apps for GNOME 门户网站一样,“软件”的应用程序屏幕包括了更多的细节,以尽可能地告知用户,而不需要参考项目页面或其网站。

换句话说,这些添加到应用程序页面的上下文板块,提供了有关设备支持、安全/许可、年龄等级、下载的大小、项目等信息。

你还可以为某些应用程序(如 GIMP)选择可用的附加组件,以便一次都安装上。这样你就可以节省寻找附加组件和单独安装它们的时间了。

事实证明,GNOME 41 “软件”比以前更有好用了。

新的多任务选项

GNOME 41 打造了新的多任务设置以帮助你改善工作流程。

你可以通过切换热角来快速打开“ 活动概览 Activities Overview ”。还添加了一个拖动窗口到边缘时调整其大小的能力。

根据你的需求,你可以设置一个固定的可用工作空间的数量,当然也可以保持动态数量。

除此以外,你还可以调整这些功能:

  • 多显示器工作区
  • 应用程序切换行为

当你有多个显示器时,你可以选择将工作空间限制在一个屏幕上,或在连接的显示器上连续显示。

而且,当你在切换应用程序并浏览它们时,你可以自定义只在同一工作区或在所有工作区预览应用程序。

节电设置

在 GNOME 41 中,现在有一个有效节省电力的性能调整。这对于笔记本用户手动调整其性能,或者当一个应用程序要求切换模式以节省电力时,是非常有用的。

GNOME “日历”的改进

GNOME “ 日历 Calendar ”现在可以打开 ICS 文件及导入活动。

触摸板手势

无缝的工作流程的体验:可以利用三指垂直向上/向下滑动的动作来获得“活动概览”,以及利用三指水平向右/向左滑动的动作在工作空间之间导航。

很高兴看到他们重点放在改善使用触摸板的工作流程上,这类似于 elementary OS 6 的功能

GNOME 连接应用

添加了一个新的“ 连接 Connections ”应用程序,可以连接到远程计算机,不管是什么平台。

我看到这个应用程序仍然是一个 alpha 版本,但也许随着接下来的几次更新,就会看到这个应用程序的完成版本。

我还没有试过它是否可以工作,但也许值得再写一篇简短的文章来告诉你如何使用它。

SIP/VoIP 支持

GNOME 41 测试版 中,我发现了对 SIP/VoIP 的支持。

如果你是一个商业用户或者经常打国际电话,你现在可以直接从 GNOME 41 的拨号盘上拨打 VoIP 电话了。

不幸的是,在使用带有 GNOME 41 稳定版的 GNOME OS 时,我无法找到包含的“ 通话 Calls ”应用程序。所以,我无法截图给你看。

GNOME Web / Epiphany 的改进

GNOME Web(即 Epiphany 浏览器)最近进行了很多很棒的改进。

在 GNOME 41 中,Epiphany 浏览器现在利用 AdGuard 的脚本来阻止 YouTube 广告。别忘了,它还增加了对 Epiphany canary 构建版的支持。

其他改进

在底层,有一些细微但重要的变化带来了更好、更快的用户体验。

例如,你可能会注意到,在应用程序/窗口的标题区域,图标更加醒目。这是为了提高清晰度和增强外观。

同样地,GNOME 应用程序和功能也有许多改进,你在使用它们时可能会发现:

  • GNOME “ 地图 Map ”现在以一种用户友好的方式显示平均海平面。
  • Nautilus 文件管理器进行了改进,支持有密码保护的压缩文件,并能够让你切换启用/禁用自动清理垃圾的功能
  • 音乐 Music ”应用程序的用户界面进行了更新
  • GNOME 文本编辑器有了更多功能
  • GTK 更新至 4.4.0
  • 增加 libawaita,以潜在地改善 GNOME 应用程序的用户体验

你可以参考 官方更新日志和公告博文 来探索所有的技术变化。

总结

GNOME 41 可能不是一个突破性的升级,但它是一个带有许多有价值的补充的重要更新。

你可以期待在下个月发布 Fedora 35 中带有它。不幸的是,Ubuntu 21.10 将不包括它,但你可以在其他 Linux 发行版中等待它。


via: https://news.itsfoss.com/gnome-41-release/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

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

谷歌终于转向“上游优先”方式来实现安卓功能

安卓系统以其在 Linux 内核树外携带的下游补丁而臭名昭著,并且各种供应商/设备的树外补丁更加剧了这一状况。而近年来,谷歌在向安卓通用内核镜像(GKI)转变,上游化更多的安卓代码,将其作为他们所有产品内核的基础,以进一步减少碎片化的现象。在 Android 12 和基于 Linux 5.10 开发的的 GKI 中,谷歌进一步减少了碎片化,做到了“几乎消除”。在 GKI 中,大部分供应商/OEM 的内核功能现在要么被上游到 Linux 内核中,要么被隔离到供应商模块/钩子中,要么被合并到安卓公共内核(ACK)中。谷歌还承诺“努力将 ACK 中的所有树外补丁上游化”。

谷歌最初就想着自己的小算盘,现在终于领悟了“大家好才是真的好”。

GNOME 41 发布

新版本带来了很多新的变化,例如增强多任务设置和一个全新的远程桌面客户端 “Connections”。最重要的是,GNOME 41 带来了明显的性能改进,特别是对于那些使用 Wayland 的用户。新版本还为开发者带来了重大改进,包括一个新的开发者文档网站,一个重要的新版人机界面指南,Builder IDE 的新功能,GTK 4 增强等等。GNOME 团队表示:“GNOME 41 对系统进行了全面的修改,无论是外观还是交互都比此前更好。几乎系统的每一个部分都以某种方式进行了打磨或改进。”

作为 Linux 的两大桌面环境,可以说,GNOME 已经越来越尽善尽美了。

Ubuntu Touch OTA-19 发布

本周二,UBports 发布了 Ubuntu Touch OTA-19 版本更新。这是一款适用于智能手机和平板的 Ubuntu Linux 发行版本。本次 OTA-19 更新依然基于过时的 Ubuntu 16.04 LTS 代码库,后续版本将会过渡到 Ubuntu 20.04 LTS,但是估计移植工作会很多。Ubuntu Touch 适用于多种设备,包括小米、魅族和索尼、LG 及其他安卓设备。

我一度以为这个系统已经消亡了。

当你刚接触 Linux 时,你会经常遇到这样的建议:永远不要运行 sudo rm -rf /。在 Linux 世界里,更是围绕着 sudo rm -rf 有很多梗。

但似乎对于它也有一些混乱的认识。在 清理 Ubuntu 以腾出空间 的教程中,我建议运行一些涉及 sudorm -rf 的命令。一位读者问我,如果 sudo rm -rf 是一个不应该运行的危险的 Linux 命令,我为什么要建议这样做。

因此,我想到了写一篇 Linux 黑话解释,以消除误解。

sudo rm -rf 在做什么?

让我们按步骤来学习。

rm 命令用于 在 Linux 命令行中删除文件和目录

$ rm agatha
$

但是因为有只读的 文件权限,有些文件不会被立即删除。它们必须用选项 -f 强制删除。

$ rm books
rm: remove write-protected regular file 'books'? y
$ rm -f christie
$

另外,rm 命令不能被用来直接删除目录(文件夹)。你必须在 rm 命令中使用递归选项 -r

$ rm new_dir
rm: cannot remove 'new_dir': Is a directory

因此最终,rm -rf 命令意味着递归地、强制删除指定的目录。

$ rm -r new_dir
rm: remove write-protected regular file 'new_dir/books'? ^C
$ rm -rf new_dir
$

下面是上述所有命令的截图。

解释 rm 命令的例子

如果你在 rm -rf 命令前加入 sudo,你就是在删除具有 root 权限的文件。这意味着你可以删除由 root 用户 拥有的系统文件。

所以,sudo rm -rf 是一个危险的 Linux 命令?

嗯,任何删除东西的命令都可能是危险的,如果你不确定你正在删除什么。

rm -rf 命令看作一把刀。刀是一个危险的东西吗?有可能。如果你用刀切蔬菜,那是好事。如果你用刀切手指,那当然是不好的。

rm -rf 命令也是如此。它本身并不危险。它只是用来删除文件的。但是,如果你在不知情的情况下用它来删除重要文件,那就有问题了。

现在来看看 sudo rm -rf /

你知道,使用 sudo,你是以 root 身份运行一个命令,这允许你对系统进行任何改变。

/ 是根目录的符号。/var 表示根目录下的 var 目录。/var/log/apt 指的是根目录的 log 目录下的 apt 目录。

Linux 目录层次表示法

按照 Linux 目录层次结构,Linux 文件系统中的一切都从根目录开始。如果你删除了根目录,你基本上就是删除了系统中的所有文件。

这就是为什么建议不要运行 sudo rm -rf / 命令,因为你会抹去你的整个 Linux 系统。

请注意,在某些情况下,你可能正在运行像 sudo rm -rf /var/log/apt 这样的命令,这可能是没问题的。同样,你必须注意你正在删除的东西,就像你必须注意你正在用刀切割的东西一样。

我在玩火:如果我运行 sudo rm -rf /,看看会发生什么呢?

大多数 Linux 发行版都提供了一个故障安全保护,防止意外删除根目录。

$ sudo rm -rf /
[sudo] password for abhishek:
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

我的意思是,人是会打错字的,如果你不小心打了 / var/log/apt,而不是 /var/log/apt/var 之间的空格意味着你给出了 /var 目录来删除),你将会删除根目录。(LCTT 译注:我真干过,键盘敲的飞起,结果多敲了一个空格,然后就丢了半个文件系统 —— 那时候 Linux 还没这种故障安全保护。)

使用 sudo rm -rf 时要注意

别担心。你的 Linux 系统会照顾到这种意外。

现在,如果你一心想用 sudo rm -rf / 来破坏你的系统呢?你将必须使用它将要求你使用的 -no-preserve-root 选项与之配合。

不,请不要自己这样做。让我做给你看看。

所以,我在一个虚拟机中运行基本的操作系统。我运行 sudo rm -rf / --no-preserve-root,你可以在下面的视频中看到灯光熄灭(大约 1 分钟)。

清楚了么?

Linux 有一个活跃的社区,大多数人都会帮助新用户。 之所以说是大多数,是是因为有一些的邪恶坏人潜伏着捣乱新用户。他们经常会建议对初学者所面临的最简单的问题运行 rm -rf /。我认为这些白痴在这种邪恶行为中得到了某种至上主义的满足。我会立即将他们从我管理的论坛和群组中踢出去。

我希望这篇文章能让你更清楚地了解这些情况。你有可能仍然有一些困惑,特别是因为它涉及到根目录、文件权限和其他新用户可能不熟悉的东西。如果是这样的话,请在评论区告诉我你的疑惑,我会尽力去解决。

最后,请记住。 不要喝酒胡搞 Don’t drink and root 。在运行你的 Linux 系统时要安全驾驶。


via: https://itsfoss.com/sudo-rm-rf/

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

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

微软 Exchange 曝出安全漏洞,可获取全球 Windows 域和应用凭证

漏洞存在于 Exchange 电子邮件服务器的 Autodiscover 协议中,允许电子邮件客户自动发现电子邮件服务器,提供凭证,然后接收适当的配置。为了获得这些自动配置,电子邮件客户通常会探测一系列预先确定的 URL,这些 URL 中采用客户域名和 autodiscover 等关键字组合而成。然而问题就在这里,在找不到这些预制域名时,Exchange 客户端会寻找 autodiscover.comautodiscover.com.cn 等域名。也就是说,谁拥有这些域名,就会收到所有这些失败的请求,其中包含有用户的凭证。研究人员注册了一些这种域名,搭建了蜜罐,四个多月里收到了数百个请求和成千上万的凭证,其中还包括一些来自中国上市公司的凭证。

微软滥用默认域名已经不是第一次了。当年 corp.com 域名就是最臭名昭著的一个,最后微软花了 160 万美元才把这个域名买下来。

树莓派基金会获 4500 万美元融资,估值 5 亿

非营利机构树莓派基金会于昨日宣布,其已完成新一轮 4500 万美元的融资。本轮融资由一家私人慈善基金会领投,融资后估值为 5 亿美元左右。树莓派打算将这笔资金用于扩展丰富的 Pi 微处理器产品线,另外计划在面向广大消费者群体的“自建 PC”和面向工业应用的物联网领域加大营销投入。目前树莓派的年设备出货量超过 700 万台,且树莓派基金会正在向 100 多个市场区域投放超过 4200 台由 Pi 驱动的 PC 。

这是最成功的单板机了,你要是没有一块吃灰的树莓派,你都不好意思说自己是个计算机爱好者。

MIT 新研究表明 43% 的算法改进速度超过摩尔定律

MIT 的两位研究人员对来自 57 本教科书,超过 1137 篇研究论文的数据进行了分析,统计了从 1940 年到现在的各种算法的改进,他们发现,在 110 个算法家族上,对中等规模(n=1000)的问题来说,只有 18% 的算法改进率快于硬件;当规模达到百万、亿、甚至万亿级别时,算法的改进速度就超过了硬件性能;甚至有 14% 的算法家族的改进率超过 1000%,远超硬件改进所带来的性能提升。

硬件的更新毕竟需要更多时间和投入,还是人类大脑做成的改进毕竟快。

什么是 YAML,为什么我们现在应该开始使用它?

 title=

YAML YAML 不是标记语言 YAML Ain't Markup Language )是一种适宜阅读理解的数据序列化语言。它的语法简单而易于阅读。它不包含引号、打开和关闭的标签或大括号。它不包含任何可能使人类难以解析嵌套规则的东西。你可以看一下你的 YAML 文档就知道它在什么。

YAML 特性

YAML 有一些超级特性,使其优于其他序列化格式:

  • 易于略读。
  • 易于使用。
  • 可在编程语言之间移植。
  • 敏捷语言的原生数据结构。
  • 支持通用工具的一致模型。
  • 支持一次性处理。
  • 表现力和可扩展性。

我将通过一些例子进一步向你展示 YAML 的强大。

你能弄清楚下面发生了什么吗?

-------
# My grocery list
groceries:
    - Milk
    - Eggs
    - Bread
    - Butter
...

上面的例子包含了一个简单的杂货购物清单,它是一个完全格式化的 YAML 文档。在 YAML 中,字符串不加引号,而列表需要简单的连字符和空格。一个 YAML 文档以 --- 开始,以 ... 结束,但它们是可选的。YAML中的注释以 # 开始。

缩进是 YAML 的关键。缩进必须包含空格,而不是制表符。虽然所需的空格数量是灵活的,但保持一致是个好主意。

基本元素

集合

YAML 有两种类型的集合。列表(用于序列)和字典(用于映射)。列表是键值对,每个值都在一个新的行中,以连字符和空格开始。字典也是键值对,每个值都是一个映射,包含一个键、一个冒号和空格以及一个值。

例如:

# My List
groceries:
    - Milk
    - Eggs
    - Bread
    - Butter

# My dictionary
contact:
    name: Ayush Sharma
    email: [email protected]

列表和字典经常被结合起来,以提供更复杂的数据结构。列表可以包含字典,而字典可以包含列表。

字符串

YAML 中的字符串不需要加引号。多行字符串可以用 |> 来定义。前者保留了换行符,而后者则没有。

例如:

my_string: |
    This is my string.
    It can contain many lines.
    Newlines are preserved.
my_string_2: >
    This is my string.
    This can also contain many lines.
    Newlines aren't preserved and all lines are folded.

锚点

YAML 可以通过节点锚点来获得可重复的数据块。& 字符定义了一个数据块,以后可以用 * 来引用。例如:

billing_address: &add1
    house: B1
    street: My Street

shipping_address: *add1

至止你对 YAML 的了解就足以让你开始工作了。你可以使用在线 YAML 解析器来测试。如果你每天都与 YAML 打交道,那么 这个方便的备忘单 会对你有所帮助。

这篇文章最初发表在作者的个人博客上,并经授权改编。


via: https://opensource.com/article/21/9/intro-yaml

作者:Ayush Sharma 选题:lujun9972 译者:geekpi 校对:wxy

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

了解 watch 命令如何让你知道任务已完成或命令已执行。

 title=

有很多时候,你需要等待一些事情的完成,比如:

  • 一个文件的下载。
  • 创建或解压一个 tar 文件。
  • 一个 Ansible 作业。

其中一些进程有进度指示,但有时进程是通过一层抽象运行的,衡量进度的唯一方法是通过其副作用。其中一些可能是:

  • 一个正在下载的文件不断增长。
  • 一个从 tarball 中提取的目录被文件填满了。
  • Ansible 作业构建了一个容器

你可以用这样的命令查询所有这些:

$ ls -l downloaded-file
$ find . | wc -l
$ podman ps
$ docker ps

但是反复运行这些命令,即使是利用 Bash 历史向上箭头的便利,也是很乏味的。

另一种方法是写一个小的 Bash 脚本来为你自动执行这些命令:

while :
do
 docker ps
 sleep 2
done

但这样的脚本写起来也会很繁琐。你可以写一个小的通用脚本,并将其打包,这样它就可以一直被你使用。幸运的是,其他开源的开发者已经有了这样的经验和做法。

那就是 watch 这个命令。

安装 watch

watch 命令是 procps-ng 包的一部分,所以如果你是在 Linux 上,你已经安装了它。

在 macOS 上,使用 MacPortsHomebrew 安装 watch。在 Windows 上,使用 Chocolatey

使用 watch

watch 命令定期运行一个命令并显示其输出。它有一些文本终端的特性,所以只有最新的输出才会出现在屏幕上。

最简单的用法是:watch <command>

例如,在 docker ps 命令前加上 watch,就可以这样操作:

$ watch docker ps

watch 命令,以及一些创造性的 Unix 命令行技巧,可以生成临时的仪表盘。例如,要计算审计事件:

$ watch 'grep audit: /var/log/kern.log |wc -l'

在最后一个例子中,如果有一个可视化的指示,表明审计事件的数量发生了变化,这可能是有用的。如果变化是预期的,但你想让一些东西看起来“不同”,watch --differences 就很好用。它可以高亮显示与上次运行的任何差异。如果你在多个文件中搜索,这一点尤其有效,所以你可以很容易地看到哪个文件发生了变化。

如果没有预期的变化,你可以使用 watch --differences=permanent 要求它们被“永久”高亮显示,以便知道哪些变化需要调查。这通常是更有用的。

控制频率

最后,有时该命令可能是资源密集型的,不应运行得太频繁。-n 参数控制频率。watch 默认使用 2 秒间隔,但是 watch -n 10 可能适合于资源密集型的情况,比如在子目录的任何文件中搜索一个模式:

$ watch -n 10 'find . -type f | xargs grep suspicious-pattern'

用 watch 观察一个命令

watch 命令对于许多临时性的系统管理任务非常有用,在这些任务中,你需要在没有进度条的情况下等待一些耗时的步骤,然后再进入下一个步骤。尽管这种情况并不理想,但 watch 可以使情况稍微好转。它让你有时间为工作做回顾性笔记!"。下载 备忘录,让有用的语法和选项触手可及。。


via: https://opensource.com/article/21/9/linux-watch-command

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

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