2022年2月

Snap 软件包并不是每个人都喜欢的,但它们是 Ubuntu 生态系统中不可或缺的一部分。

它有其优点和缺点。其中一个缺点是,Snap 包通常体积较大,占用大量的磁盘空间。如果你的磁盘空间不够用,特别是在根分区上,这可能是一个问题。

让我分享一个巧妙的技巧,你可以用它来减少 Snap 包使用的磁盘空间。

清理旧的 Snap 包版本以释放磁盘空间

与 snap 有关的系统文件都存放在 /var/lib/snapd 目录下。根据你所安装的 Snap 包的数量,这个目录的大小可能在几 GB。不要只听我的一面之词。通过 使用 du 命令检查目录大小 来进行评估。

$ sudo du -sh /var/lib/snapd
5.4G    /var/lib/snapd

你也可以使用磁盘使用分析器这个 GUI 工具来查看 Ubuntu 的磁盘使用情况

Snap disk usage

这可真够多的,对吧?你可以在这里腾出一些磁盘空间。根据设计,Snap 至少会在你的系统上保留一个你所安装的软件包的旧版本。你可以通过使用 Snap 命令看到这种行为:

snap list --all

你应该看到同一个软件包被列了两次,而且版本和修订号都不同。

Snap keeps at least two versions of each package

为了释放磁盘空间,你可以删除额外的软件包版本。你怎么知道要删除哪一个呢?你可以看到,这些较旧的软件包被标记为“禁用”。

不要担心。你不需要手动操作。由于 Alan Pope 在 Snapcraft 团队工作时写的一个灵巧的 bash 脚本,有一种自动的方法可以做到。

我希望你知道 如何创建和运行 bash shell 脚本。基本上,创建一个名为 clean-snap.sh 的新文件,并在其中添加以下几行。

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

保存它并关闭编辑器。要运行这个脚本,把它放在你的主目录中,然后 在 Ubuntu 中打开终端,运行这个命令:

sudo bash clean-snap.sh

你可以看到,它开始删除旧版本的软件包。

Removing old snap package versions

如果你现在检查 Snap 使用的磁盘空间,你会发现现在的目录大小已经减少了。

$ sudo du -sh /var/lib/snapd
3.9G    /var/lib/snapd

如果这对你有用,你可以偶尔运行这个命令。

这个脚本是如何工作的?

如果你对这个脚本的作用感到好奇,让我来解释一下。

你已经看到了 snap list -all 命令的输出。它的输出被传递给 awk 命令。Awk 是一个强大的脚本工具。

awk '/disabled/{print $1, $3}' 部分在每一行中寻找字符串 disabled,如果找到它,它将提取第一列和第三列。

这个输出被进一步传递给 whileread 命令的组合。读取命令获取第一列的 Snap 包名和第三列的修订号变量。

然后,这些变量被用来运行 snap remove 命令,用 Snap 包名和它的修订号来删除。

只要发现有包含 disabled 字符串的行,就会运行 while 循环。

如果你对 shell 脚本略知一二,这一切就很容易理解了。如果你不熟悉,我们有一个 初学者的 bash 教程系列 给你。

你拿回了你的空间了吗?

你可能会看到一些论坛建议将 Snap 软件包的保留值设置为 2。

sudo snap set system refresh.retain=2

我认为现在不需要了。现在 Snap 的默认行为是为任何软件包保存两个版本。

总而言之,如果你的空间不够用,摆脱额外的软件包版本肯定是 释放 Ubuntu 磁盘空间的方法 之一。

如果这个教程帮助你释放了一些空间,请在评论区告诉我。


via: https://itsfoss.com/clean-snap-packages/

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

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

最近的 sudo 版本增加了新的功能,使你能够观察和控制以前隐藏的问题。

 title=

当你想授予你的一些用户管理权限,同时控制和检查他们在你的系统上做什么时,你会使用 sudo。然而,即使是 sudo',也有相当多不可控的地方,想想给予 shell 权限的情况就知道了。最近的 sudo 版本增加了一些功能,可以让你看到这些问题,甚至控制它们。例如,你可以启用更详细、更容易处理的日志信息,并记录 shell 会话中执行的每个命令。

这些功能中有些是全新的。有些是出现在 1.9.0 甚至更早的版本中的功能。例如,sudo 可以记录终端上发生的一切,即使是在 1.8 版本。然而,系统将这些记录保存在本地,它们很容易被删除,特别是那些记录最有用的地方:Shell 会话。1.9.0 版本增加了会话记录集中收集,因此记录不能被本地用户删除,最近的版本还增加了中继功能,使收集功能更加强大。

如果你只知道 sudo 的基础知识,或者以前只使用过 1.8 版本,我建议你阅读我以前的 文章

1、JSON 格式的日志记录

我想介绍的第一个新功能是 JSON 格式的日志记录。我是一个日志狂热者(12 年前我就开始在 syslog-ng 项目上工作),而这个功能是我在这里发表文章后引入的第一个功能。启用后,sudo 记录了更多的信息,并且以一种更容易解析的方式进行。

传统的 syslog 信息很短,只包含最小的必要信息量。这是由于旧的 syslog 实现的限制。超过 1k 大小的信息被丢弃或截断。

Jan 28 13:56:27 localhost.localdomain sudo[10419]: czanik : TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash

最近的 syslog 实现可以处理更大的信息量。syslog-ng 默认接受 64k 大小的日志信息(当然,它可以更小或更大,取决于实际配置)。

同样的事件,如果以 JSON 格式记录,就会包含更多的信息。更多并不意味着更难处理。JSON 格式的信息更容易被许多日志管理软件应用解析。下面是一个例子:

Jan 28 13:58:20 localhost.localdomain sudo[10518]: @cee:{"sudo":{"accept":{"uuid":"616bc9efcf-b239-469d-60ee-deb5af8ce6","server_time":{"seconds":1643374700,"nanoseconds":222446715,"iso8601":"20220128125820Z","localtime":"Jan 28 13:58:20"},"submit_time":{"seconds":1643374700,"nanoseconds":209935349,"iso8601":"20220128125820Z","localtime":"Jan 28 13:58:20"},"submituser":"czanik","command":"/bin/bash","runuser":"root","runcwd":"/home/czanik","ttyname":"/dev/pts/0","submithost":"localhost.localdomain","submitcwd":"/home/czanik","runuid":0,"columns":118,"lines":60,"runargv":["/bin/bash"],"runenv":["LANG=en_US.UTF-8","HOSTNAME=localhost.localdomain","SHELL=/bin/bash","TERM=xterm-256color","PATH=/home/czanik/.local/bin:/home/czanik/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin","MAIL=/var/mail/root","LOGNAME=root","USER=root","HOME=/root","SUDO_COMMAND=/bin/bash","SUDO_USER=czanik","SUDO_UID=1000","SUDO_GID=1000"]}}}

你可以在 sudoers 文件中启用 JSON 格式的日志信息:

Defaults log_format=json

你可以从我的 syslog-ng 博客中了解更多关于如何从 sudo 中使用 JSON 格式的日志信息。

2、使用 sudo\_logsrvd 集中收集日志

1.9.4 中另一个与日志相关的功能是使用 sudo_logsrvd 收集所有 sudo 日志信息(包括失败的)。以前,系统只在 sudo_logsrvd 实际进行记录时记录成功的会话。最后仍然默认通过 syslog 进行记录。

为什么这很重要?首先,你可以在一个地方收集任何与 sudo 有关的东西。无论是会话记录还是所有相应的日志信息。其次,它还可以保证正确记录所有与 sudo 有关的事件,因为如果 sudo_logsrvd 无法访问,sudo 可以拒绝执行命令。

你可以在 sudoers 文件中通过以下设置启用 sudo_logsrvd 日志记录(当然要替换 IP 地址):

Defaults log_servers=172.16.167.150

如果你想要 JSON 格式的日志信息,你需要在 sudo_logsrvd 配置的 [eventlog] 部分进行如下设置:

log_format = json

否则,sudo_logsrvd 使用传统的 sudo 日志格式,并作了简单的修改。它还包括日志来源的主机的信息:

Nov 18 12:40:16 centos8splunk.localdomain sudo[21028]:   czanik : 3 incorrect password attempts ; HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash
Nov 18 12:40:23 centos8splunk.localdomain sudo[21028]:   czanik : HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; TSID=00000A ; COMMAND=/bin/bash
Nov 18 12:40:30 centos8splunk.localdomain sudo[21028]:   czanik : command rejected by I/O plugin ; HOST=centos7sudo.localdomain ; TTY=pts/0 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash

3、中继

当最初引入 sudo_logsrvd(1.9.0 版)进行会话记录集中收集时,客户端只能直接发送记录。1.9.7 版本引入了中继的概念。有了中继,你可以不直接发送记录,而是将记录发送到多级中间主机,这些中间主机构成你的网络。

为什么这很重要?首先,中继使收集会话记录成为可能,即使集中主机由于网络问题或维护而不可用。默认情况下,sudo 在无法发送记录时拒绝运行,所以中继可以确保你可以全天候使用 sudo

其次,它还允许你对网络有更严格的控制。你不需要为所有的主机向中心的 sudo_logsrvd 开放防火墙,而只需要允许你的中继通过。

最后,它允许你从没有直接互联网接入的网络中收集会话记录,比如 AWS 私有网络,你可以在网关主机上以中继模式安装 sudo_logsrvd

当你使用中继时,sudo 客户端和中心的 sudo_logsrvd 的配置保持不变。在中继主机上,在 sudo_logsrvd.conf[relay] 部分添加以下一行:

relay_host = 172.16.167.161

如果知道通往中心服务器的网络连接有问题,你可以配置中继,在转发记录之前储存它:

store_first = true

4、记录子命令

你是否曾经想知道在通过 sudo 启动的 shell 会话中发生了什么?是的,会话记录是存在的,但是为了看几个命令的执行情况而看几个小时的记录是很无聊的,也是对时间的巨大浪费。幸运的是,1.9.8 版本引入了子命令日志。现在,只需定期检查你的日志信息,并在发生可疑情况时才观看记录。

你甚至不需要一个允许 shell 访问的规则,只需要访问一个编辑器就可以访问 shell。大多数编辑器可以运行外部命令。我最喜欢的编辑器是 JOE,这是我通过 sudo 启动它时可以看到的情况:

Aug 30 13:03:00 czplaptop sudo[10150]:   czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/joe

不用吃惊,就在一个编辑器里,我生成一个 shell 并从该 shell 中删除一些文件和分区。现在让我们看看当你启用对子命令记录时会发生什么:

Aug 30 13:13:14 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/joe
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/sh -c /bin/bash
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/bin/bash
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/readlink /proc/10889/exe
[...]
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/sed -r s@/*:|([^\\\\]):@\1\n@g;H;x;s@/\n@\n@
Aug 30 13:13:37 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/tty
Aug 30 13:13:42 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/id
Aug 30 13:13:56 czanik : TTY=pts/1 ; PWD=/home/czanik ; USER=root ; COMMAND=/usr/bin/ls -A -N --color=none -T 0 /usr/share/syslog-ng/include/scl/

我省略了几十行以节省一些空间,但你仍然可以看到我启动了一个 shell,bash_profile 执行的命令也可以在日志中看到。

你可以在 sudoers 文件中使用以下设置来启用子命令日志:

`Defaults log_subcmds`

在传统的 sudo 日志中,你可以从 sudo 进程 ID 看到这些日志正是来自同一个 sudo会话。如果你打开 JSON 格式的日志,如前面所示,sudo 在日志中记录了更多的信息,使之更容易进行分析。

5、拦截子命令

记录子命令可以消除 sudo 的大部分隐患,但在有些情况下,你不只是想观察正在发生的事情,还想控制事件的流程。例如,你需要给一个用户提供 shell 权限,但仍想阻止他们运行一个特定的命令。在这种情况下,拦截是理想的选择。当然,也有一些限制,比如你不能限制 shell 的内置命令。

比方说,who 命令很危险。你可以分两步启用拦截。第一个步骤是启用它,第二个步骤是配置它。在这种情况下,我的用户不被允许运行 who

Defaults intercept
czanik ALL = (ALL) ALL, !/usr/bin/who

当我通过sudo 启动一个 root shell 会话并尝试运行 who 时,会发生以下情况:

$ sudo -s
# who
Sorry, user czanik is not allowed to execute '/usr/bin/who' as root on czplaptop.
bash: /usr/bin/who: Permission denied

你可以很容易地完全禁用运行 shell:

Defaults intercept
Cmnd_Alias SHELLS=/usr/bin/bash, /usr/bin/sh, /usr/bin/csh
czanik ALL = (ALL) ALL, !SHELLS

这意味着你不能通过 sudo 启动 shell 会话。不仅如此,你也不能从编辑器中执行外部命令。当我试图从 vi 中启动 ls 命令时,就会出现这种情况:

$ sudo vi /etc/issue
Sorry, user czanik is not allowed to execute '/bin/bash -c /bin/ls' as root on czplaptop.
Cannot execute shell /bin/bash
Press ENTER or type command to continue

接下来是什么?

我希望读了我的文章后,自己尝试一下这些新功能。你可以通过你的软件包管理器在许多 Linux 发行版和 UNIX 变种上安装最新的 sudo,或者使用 Sudo 网站 上的二进制安装程序。

这篇文章只是为你提供了一个新的可能性的概述。如果你想了解更多关于这些功能的信息,请访问网站,那里有手册页面,也有 Sudo 博客


via: https://opensource.com/article/22/2/new-sudo-features-2022

作者:Peter Czanik 选题:lujun9972 译者:wxy 校对:wxy

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

微软的星球级的 AI 基础设施包括数十万个 GPU

微软透露,它运营着一个星球级的分布式调度服务来处理 AI 工作负载,它被称为“奇点”。它的目的是提高深度学习工作负载的高利用率来控制成本。其工作负载感知调度器可以透明地抢占和弹性地扩展深度学习工作负载,在 AI 加速器(如 GPU、FPGA)全球机群上提高利用率,而不影响其正确性或性能。在“奇点”机群中有数十万个 GPU,以及 FPGA 和其他 AI 加速器。该软件自动将工作与加速器资源解耦,这意味着当工作负载扩大或缩小时,只需改变映射的设备数量,而这对用户来说是完全透明的。

老王点评:首先我吃惊于其规模,其次,我觉得超算之外的集群技术非常有用。

Fedora 考虑默认为 cURL提供精简版本

cURL 是一个广泛使用的网络客户端,除了 HTTP(S) 之外,它还可以访问诸多网络协议,此外大量的应用使用 libcurl 来访问网络资源。在近日提交的一份针对 Fedora 37 的 修改建议 中,推荐默认使用精简版的 cURL 包,只提供了 HTTP/HTTPS/FTP 支持,而那些需要其他网络协议支持的用户可以安装完整包。精简包禁用了大量过时或很少使用的协议,如 GOPHER、IMAP、LDAP、MQTT、NTLM、POP3、RTSP、SMB、SMTP、SFTP、TELNET、TFTP 等等,这些协议有时候会带来安全风险。

老王点评:确实,很多历史遗留或很少使用的网络协议,如果没有明确需要的话,留着只是增加攻击面。其它传统的工具也应该学习这种改变的思路。

内核开发者正在讨论弃用 ReiserFS 文件系统

在 21 年前,ReiserFS 作为 Linux 内核的首个日志文件系统被引入。在推出的早期,这一开源文件系统提供了相当多的创新功能,甚至一度被 SuSE Linux 默认使用。然而自从 ReiserFS 主要开发者 Hans Reiser 在 15 年前因杀妻而入狱后,ReiserFS / Reiser4 已停滞相当长一段时间。至少自 2019 年以来,似乎就没有任何用户上报的 ReiserFS bug 被修复。在被 EXT4、XFS、Btrfs、甚至 OpenZFS 吸引走了越来越多的份额之后,内核开发者发起了“是否要将 ReiserFS 踢出 Linux 内核支持”的讨论。

老王点评:正所谓人亡政息,但是还是很可惜。

当我们回顾过去,发现了一些有点“酷”的 KDE 趣闻。如下。

KDE 有很长的历史。它是如何被构思、发展并成为所有用户群的 “首选” 桌面的赢家的呢?在这篇文章中,我们将介绍一些你可能不知道的 KDE 的趣闻。了解一下也很有趣。

KDE 趣闻和历史

缘起

KDE 是由 Matthias Ettrich 在 20 多年前创建的。其主要动机是创建一个易于使用的桌面,来替代 通用桌面环境 Common Desktop Environment (CDE)。其背后的想法是一个简单的桌面,使用起来很有趣,易于配置且功能强大。于是,KDE(即 酷桌面环境 Kool Desktop Environment )就诞生了。你会注意到这是对 CDE 的双关!名字中的 “Kool” 后来被去掉了,最终变成了 “K 桌面环境”,即 KDE。

第一次出现

Matthias 的 KDE 项目正式公告今天 仍然存在 在 Google 群组的 de.comp.os.linux.misc(Usenet)上。如下:

KDE 的首个公告

今天,当读到上面的想法,以及他对 KDE 是那么有远见,真有点超现实。就这样,KDE Plasma 今天已经渗透到了所有的设备中:笔记本电脑、台式机、游戏机、手机。这的确很了不起。

第一行代码

第一行代码是由 Matthias 为窗口管理器 kwm 和面板 kpanel 写的。KDE 的 KConfig 类成为这个神奇的桌面的第一个库。

Qt 许可证的麻烦

在此期间,在 Usenet 论坛上,许多人反对用来开发 KDE 的 Qt 的许可证。因此,Matthias 和团队在 1997 年 2 月飞往奥斯陆,在 KDE 和 Trolltech(当时 Qt 基金会的所有者)之间签署了一份基金会协议。这保证了 Qt 的永久免费使用

在最初的日子里,不管你信不信,都非常需要钱来维持开发工作的进行。团队从 O'Reilly、SUSE、Trolltech 收到了慷慨的捐赠。

KDE 1.0 - 第一个版本

被称为 KDE One) 的第一次开发者会议,组织于 1997 年的八、九月间,它讨论了 KDE 第一个版本的愿景、未来和路线图。而这最终在 1998 年 7 月 12 日带来了 KDE 1.0 首次发布。

KDE 1.0 是建立在 Qt 1.0 之上的,主要是用 C++ 编写的。在我看来,它今天看起来仍然令人惊叹。你可以想象一下,在用户界面、用户交互、以及最重要的 —— 为大众提供一个完美的 Linux 桌面方面,这个愿景是多么先进。

K 桌面环境 1.0

KDE 2.0

2000 年 10 月 23 日 KDE 2.0 发布。它首次引入了一套新的应用程序,包括 Konqueror 网页浏览器、KOffice、主题支持、KParts 等。

最初获得的奖项

2001 年 8 月 29 日,KDE 在 Linux 世界博览会 LinuxWorldExpo 被评为“最佳开源项目”,并获得“开源产品卓越奖”。

2009 年 7 月 20 日,其开发仓库 SVN 中的源代码抵达了 第一百万次提交。这的确是一个开源项目的里程碑,它为充满希望的未来铺平了道路。

KDE 源代码中的第 100 万次提交片段

快进到 Plasma 5.0

KDE 软件合集 KDE Software Compilation 一直使用到 KDE 4.0。在下一个 Plasma 5.0 版本中,它被分割成三个独立的项目: KDE 框架 KDE Framework 、KDE Plasma 和 KDE 应用 KDE Applications 。这有助于 KDE Plasma 桌面本身独立于与 KDE 框架、KDE 应用的发布节奏。这种模块化的方法帮助团队分别保持整个生态系统的质量和进度。

KDE 女性 KDE Woman

KDE 社区的女性小组 KDE 女性 创建于 2001 年 3 月,目标是增加自由软件社区的女性人数,特别是在 KDE,这包括开发、文档和测试等领域。

KDE 吉祥物

KDE 的官方吉祥物是 康奇 Konqi ,它是一条可爱的小龙,它的意思是 “ 征服者康奇 Konqi the Konqueror ”(也是其浏览器 Konqueror 的昵称)。Katie 是 Konqi 的女朋友,也是 KDE 项目的官方吉祥物。

Konqi 是 科迪山谷 KDEValley 的在任大使。它善于建造就像它善于破坏一样,而当事情变得越加复杂时,它的爬行动物大脑就混乱了。它在 弗洛斯兰 Flossland (自由及开源软件大陆)各地旅行,在各个龙族殖民地之间建立联系。它还会从 泼泛申瑙海 Professional Ocean (专业之海)传信到对面的 尤思兰德 Userland (用户大陆)。它有时也会做这样的梦,梦见自己成为一只强壮的大龙。这是它过去的生活吗?

—— 关于 Konqi 的官方描述

Konqi - 官方 KDE 吉祥物

KDE 走向更多设备和充满希望的未来的旅程

多年来,KDE Plasma 成为各种硬件的首选桌面。2016 年,KDE 与一家西班牙笔记本电脑公司合作,推出了 KDE Slimbook,它是一款安装了 KDE Neon 发行版的超极本,带有 KDE Plasma,预装了 KDE 应用程序。可以从他们的网站上购买。

Linux 移动设备先锋 Pine64 在 2020 年推出了 PinePhone KDE 版,它带有 KDE Plasma 移动版。

Valve 公司宣布他们的手持游戏机 Steam Deck 采用了 KDE Plasma,运行于 Arch Linux 之上。

Slimbook 1

结语

那么,就写到这里吧。这是一些你可能不知道的 KDE 的趣闻。从 KDE 1.0 的那一天起,到今天,它出现在一个简单而强大的由 KDE 驱动的手持游戏设备里,这确实是一个漫长而多彩的旅程。我相信,在未来的日子里,KDE 生态系统一定会发生更多这样令人激动的事件。

你还知道没有在这里列出的 KDE 趣闻吗?请在下面的评论栏里告诉我。


via: https://www.debugpoint.com/2021/12/kde-facts-trivia/

作者:Arindam 选题:lujun9972 译者:wxy 校对:wxy

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

试试 LibreOffice 中的这些无障碍功能之一。你可能会发现更好的或替代的方式来完成日常工作。

 title=

LibreOffice.org 是我首选的生产力套件,我在过去已经介绍了我如何将它作为一个 图形化办公套件 以及 终端命令 使用。

在这篇文章中,我想着重介绍 LibreOffice 如何支持使用无障碍辅助技术的人。

鼠标

鼠标是一项重要的发明,但它并不是对每个人都同样有效。例如,那些不能在屏幕上看到鼠标指针的人,或者不能在他们的桌子上实际操作鼠标的人,从鼠标中获益不多。

为了考虑到人们与电脑互动方式的不同,你可以在没有鼠标的情况下使用 LibreOffice。与应用中的大多数无障碍功能一样,这个功能对任何人都有帮助。即使你自己是一个鼠标用户,有时你也不想把你的手从键盘上移开。能够在“打字模式”下触发特定的 LibreOffice 动作,对于忙碌的打字员来说真的很方便。

你可以使用 Alt 键和菜单名称中的一个触发字母来打开 LibreOffice 主菜单中的每一个项目。在默认情况下,你不会看到这些触发字母,但当你按下 Alt 键时,它们就会出现。

 title=

要打开 文件 File 菜单,按住 ALT+F。要打开 格式 Format 菜单,按住 ALT+O。当菜单被打开后,你就可以释放按键。

在你打开一个菜单后,该菜单中的每个项目都有一个触发字母,或者你可以使用键盘上的箭头键导航到该项目并按下回车

要关闭一个菜单而不做任何事情,按 Esc 键。

不用鼠标就能改变一个字体

LibreOffice 界面中的所有东西都可以从菜单中获得,即使你认为它只是工具栏中的一个元素。例如,你通常可能会将鼠标移动到格式化工具栏来改变字体,但你也可以通过选择文本,然后打开 格式 Format 菜单并选择 字符 Character 来打开字符对话框来改变字体。你可以使用 Tab箭头回车 键来浏览这个对话框。

这里需要注意的是,你可以在一个应用中使用许多不同的路径来达到同一个目标。每个场景都可能有不同的最佳路径,所以在处理任务时不要想得太线性。

常见的快捷方式

这里有一些 LibreOffice Writer 的快捷键:

  • F2:公式栏
  • Ctrl+F2:插入字段
  • F3:自动文本
  • F5: 打开/关闭导航
  • Shift+F5:将光标移到上次保存文件时的位置
  • Ctrl+Shift+F5:打开导航,进入页面
  • F7:拼写
  • F8:同义词

以下是电子表格的快捷键:

  • Ctrl+Home:返回到 A1 单元格
  • Ctrl+End:移到最后一个包含数据的单元格
  • Home:将光标移到当前行的第一个单元格
  • End:将光标移到当前行的最后一个单元格
  • Shift+Home:选择从当前单元格到当前行的第一个单元格的单元格

LibreOffice 的文档非常丰富,通过按键盘上的 Alt+HF1 可以很容易地获取。

无障碍设置

关于更多的无障碍设置,请进入 工具 Tools 菜单,选择 选项 Options 。在选项对话框中,在左边的栏目中展开 LibreOffice 类别,然后点击 无障碍 Accessibility

选项包括:

  • 在只读文本文件中使用文本选择光标:这允许你在只读文档中移动,就像你可以编辑它一样,限制了你实际可以做的选择和复制文本。
  • 允许动画图像:不是每个人都希望在工作时在他们的文档中出现移动的图像。你可以在这里进行调整。
  • 允许动画文本:与图像一样,动画文本样式对一些人来说是有趣的,而对另一些人来说则是分散注意力或令人困惑的。

也有高对比度主题的选项。如果你在你的操作系统上使用高对比度模式,LibreOffice 会自动检测并改变它的主题来匹配。

键盘快捷方式

你可以通过设置自己的键盘快捷键来定制你与 LibreOffice 的交互方式。进入 工具 Tools 菜单,选择 自定义 Customize (或者直接按 Alt+T,然后按 C)。

选择 键盘 Keyboard 标签,必要时按箭头键或用鼠标点击它(如果你还在使用鼠标)。

对所有人开放

让开源的应用无障碍化有利于所有的用户。通过尝试 LibreOffice 中的无障碍功能,你可能会发现更好的或替代性的方法来完成日常任务。无论你是否“需要”该功能,无障碍功能提供了选择。试试其中的一些,因为你可能会发现你喜欢的东西。如果你有一个 LibreOffice(或任何你喜欢的开源应用)似乎没有提供的要求,在其错误跟踪系统中提交一个功能请求来让该项目知道。


via: https://opensource.com/article/22/2/libreoffice-accessibility

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

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

以太坊创始人说,加密货币冬天将受到顶级开发者的欢迎

最近几周,加密货币与股票一起下跌。以太坊创始人 Vitalik 说,“那些深入研究加密货币的人,尤其是建造东西的人,很多人都欢迎熊市”。因为这种下滑可以清理掉不太可行的项目。他认为,价格下跌将好奇的人与严肃的人分开。这就是为什么“加密货币的冬天” —— 当价格不断崩溃并在很长一段时间内无法恢复 —— 可以被视为一个积极的因素,你可以看到哪些项目实际上是长期可持续的。但是,另外一方面,一些将毕生积蓄投入加密货币的人在下跌后承受了巨大的精神压力。

老王点评:对于那些不喜欢加密货币的人,是不是也乐于见到这种局面?

时隔五年后,FreeDOS 1.3 释出

MS-DOS 的开源替代品 FreeDOS 正式发布了 1.3 版。其主要变化包括:新的命令行解释器 FreeCOM、新的内核、支持 FAT32,软盘版本使用了压缩减少了一半容量需求,再次支持网络,新的程序和游戏,软件包更新等等。最简安装需要 20MB、包括游戏和应用的完整安装需要 275MB。FreeDOS 项目发起于 1994 年,2006 年才发布了 1.0 正式版,2012 年发布了 1.1 版本,2016 年底发布了 1.2 版本。

老王点评:虽然应用场景和受众很少,但这是一种选择的自由。

Linux 内核中获取随机字节的函数的性能提升了 8450%

操作系统内核中的随机数是很多基础功能的基石,因此人们一方面在改进其随机性,另外一方面也在不断改进其性能。在 Linux 5.17 中替换了 SHA1 算法改进了安全性和性能,而在 5.18 中还将继续改进。最令人兴奋的是,在新的改进中,获取随机字节的 getrandom() 调用的性能 提升了 8450%,即 85 倍多。这主要得益于“在每 CPU 密钥上使用更简单的快速密钥擦除流”。受此影响,最显著的收益将出现在高核心数的服务器上和台式机上。

老王点评:或许你不理解其中的技术细节,那就一句话,快就是了。