mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-03 01:10:13 +08:00
commit
65ec45c814
104
published/20200110 5 ops hacks for sysadmins.md
Normal file
104
published/20200110 5 ops hacks for sysadmins.md
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: (wxy)
|
||||||
|
[#]: reviewer: (wxy)
|
||||||
|
[#]: publisher: (wxy)
|
||||||
|
[#]: url: (https://linux.cn/article-14232-1.html)
|
||||||
|
[#]: subject: (5 ops hacks for sysadmins)
|
||||||
|
[#]: via: (https://opensource.com/article/20/1/ops-hacks-sysadmins)
|
||||||
|
[#]: author: (Stephen Bancroft https://opensource.com/users/stevereaver)
|
||||||
|
|
||||||
|
系统管理员排除故障的五种武器
|
||||||
|
======
|
||||||
|
|
||||||
|
> 当你不知道从哪里开始时,这五个工具可以帮助你找到用户的 IT 问题的源头。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
作为系统管理员,我每天都面临着需要快速解决的问题,用户和管理人员期望事情能够顺利地进行。在我管理的这样的一个大型环境中,几乎不可能从头到尾了解所有的系统和产品,所以我必须使用创造性的技术来找到问题的根源,并(希望可以)提出解决方案。
|
||||||
|
|
||||||
|
这是我 20 多年来的日常经验!每天上班时,我从不知道会发生什么。因此,我有一些快速而简陋的技巧,当一个问题落在我的身上,而我又不知道从哪里开始时,我一般就会采用这些技巧。
|
||||||
|
|
||||||
|
但等一下!在你直接打开命令行之前,请花一些时间与你的用户交谈。是的,这可能很乏味,但他们可能会有一些好的信息给你。请记住,用户可能没有你那么多的经验,你需要对他们说的东西进行一些解释。试着清楚地了解正在发生什么和应该发生什么,然后用技术语言自己描述故障。请注意,大多数用户并不阅读他们面前的屏幕上的内容;这很可悲,但却是事实。确保你和用户都阅读了所有的文字,以收集尽可能多的信息。一旦你收集到了这些信息,就打开命令行,使用这五个工具。
|
||||||
|
|
||||||
|
### Telnet
|
||||||
|
|
||||||
|
让我从一个经典开始。[Telnet][2] 是 SSH 的前身,在过去,它在 Unix 系统上用来连接到远程终端,就像 SSH 一样,但它没有加密。Telnet 在诊断网络连接问题方面有一个非常巧妙和宝贵的技巧:你可以 Telnet 到不是专属于它 TCP 端口(23/TCP)。要做到这一点,可以像平时一样使用 Telnet,但在末尾加上 TCP 端口(例如 `telnet localhost 80`),以连接到一个网络服务器。这可以让你能够检查一个服务器,看看服务是否正在运行,或者防火墙是否阻挡了它。因此,在没有应用程序客户端,甚至没有登录应用程序的情况下,你可以检查 TCP 端口是否有反应。如果你知道怎么做,有时你可以通过在 Telnet 提示符手动输入并获得响应以检查。网络服务器和邮件服务器是你可以这样做的两个例子。
|
||||||
|
|
||||||
|
![用 Telnet 获得网络服务器的响应][3]
|
||||||
|
|
||||||
|
### Tcpdump
|
||||||
|
|
||||||
|
[tcpdump][4] 工具可以让你检查网络上正在传输的数据。大多数网络协议都相当简单,如果你把 `tcpdump` 和一个像 [Wireshark][5] 这样的工具结合起来,你会得到一个简单而好用的方法来浏览你所捕获的流量。在如下的例子中,我在下面的窗口中检查数据包,在上面的窗口连接到 TCP 3260 端口。
|
||||||
|
|
||||||
|
![用 tcpdump 实时检查数据包][6]
|
||||||
|
|
||||||
|
这张截图显示了在现实世界中使用 Wireshark 查看 iSCSI 协议的情况;在这种情况下,我能够确定我们的 QNAP 网络附加存储的配置方式有问题。
|
||||||
|
|
||||||
|
![使用 Wireshark 检查 TCP 会话][7]
|
||||||
|
|
||||||
|
### find
|
||||||
|
|
||||||
|
如果你不知道从哪里开始,[find][8] 命令就是最好的工具。在其最简单的形式中,你可以用它来“寻找”文件。例如,如果我想在所有的目录中进行递归搜索,得到一个 conf 文件的列表,我可以输入:
|
||||||
|
|
||||||
|
```
|
||||||
|
find . -name '*.conf'.
|
||||||
|
```
|
||||||
|
|
||||||
|
![find 命令输出][9]
|
||||||
|
|
||||||
|
但是,`find` 的一个隐藏的宝藏是,你可以用它对它找到的每个项目执行一个命令。例如,如果我想得到每个文件的长列表,我可以输入;
|
||||||
|
|
||||||
|
```
|
||||||
|
find . -name '*.conf' -exec ls -las {}\;
|
||||||
|
```
|
||||||
|
|
||||||
|
![查找命令输出][10]
|
||||||
|
|
||||||
|
一旦你掌握了这种技术,你就可以用各种创造性的方法来寻找、搜索和以特定方式执行程序。
|
||||||
|
|
||||||
|
### strace
|
||||||
|
|
||||||
|
我是在 Solaris 上认识 [strace][11] 这个概念的,在那里它被称为 `truss`。今天,它仍然像多年前一样有用。`strace` 允许你在进程实时运行时检查它在做什么。使用它很简单,只要使用命令 `ps -ef`,找到你感兴趣的进程 ID。用 `strace -p <进程 ID>` 启动 `strace`,它会开始打印出一大堆东西,一开始看起来像垃圾信息。但如果你仔细观察,你会看到你认识的文字,如 `OPEN` 和 `CLOSE` 这样的词和文件名。如果你想弄清楚一个程序为什么不工作,这可以引导你走向正确的方向。
|
||||||
|
|
||||||
|
### grep
|
||||||
|
|
||||||
|
把最好的留到最后:[grep][12]。这个工具是如此有用和强大,以至于我很难想出一个简洁的方法来描述它。简单地说,它是一个搜索工具,但它的搜索方式使它如此强大。在问题分析中,我通常会用 `grep` 搜索一堆日志来寻找一些东西。一个叫 `zgrep` 的配套命令可以对压缩文件做同样的事情。在下面的例子中,我使用 `zgrep bancroft /var/log/*` 在所有的日志文件中进行 grep,以查看我在系统中的工作情况。我使用 `zgrep` 是因为该目录中有压缩文件。
|
||||||
|
|
||||||
|
![grep 命令输出][13]
|
||||||
|
|
||||||
|
使用 `grep` 的另一个好方法是将其他工具的输出通过管道输送到它里面;这样,它就可以作为一种过滤器来使用。在下面的例子中,我列出了 auth 文件,并通过使用 `cat auth.log |grep bancroft` 来搜索我的登录信息,看看我都做了什么。这也可以写成 `grep bancroft auth.log`,但我这里用管道(`|`)来证明这一点。
|
||||||
|
|
||||||
|
![grep 命令输出][14]
|
||||||
|
|
||||||
|
### 其他需要考虑的工具
|
||||||
|
|
||||||
|
你可以用这些工具做更多的事情,但我希望这个简单的介绍能给你一个窗口,让你了解如何用它们来解决你遇到的讨厌的问题。另一个值得你注意的工具是 [Nmap][15],我没有包括它,因为它是如此全面,需要一整篇文章(或更多)来解释它。最后,我建议学习一些白帽和黑客技术;在试图找出问题的根源时,它们可能非常有益,因为它们可以帮助你收集对决策至关重要的信息。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/20/1/ops-hacks-sysadmins
|
||||||
|
|
||||||
|
作者:[Stephen Bancroft][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/stevereaver
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tools_osyearbook2016_sysadmin_cc.png?itok=Y1AHCKI4 (Wratchet set tools)
|
||||||
|
[2]: https://en.wikipedia.org/wiki/Telnet
|
||||||
|
[3]: https://opensource.com/sites/default/files/uploads/telnet_1.png (Getting a response from a webserver with Telnet)
|
||||||
|
[4]: https://www.tcpdump.org/
|
||||||
|
[5]: https://www.wireshark.org/
|
||||||
|
[6]: https://opensource.com/sites/default/files/uploads/tcpdump_1.png (Inspecting packets in real time with tcpdump)
|
||||||
|
[7]: https://opensource.com/sites/default/files/uploads/tcpdump_2.png (Using Wireshark to inspect a TCP session)
|
||||||
|
[8]: https://en.wikipedia.org/wiki/Find_%28Unix%29
|
||||||
|
[9]: https://opensource.com/sites/default/files/uploads/find_1_0.png (find command output)
|
||||||
|
[10]: https://opensource.com/sites/default/files/uploads/find_2.png (find command output)
|
||||||
|
[11]: https://strace.io/
|
||||||
|
[12]: https://en.wikipedia.org/wiki/Grep
|
||||||
|
[13]: https://opensource.com/sites/default/files/uploads/grep_1.png (grep command output)
|
||||||
|
[14]: https://opensource.com/sites/default/files/uploads/grep_2.png (grep command output)
|
||||||
|
[15]: https://nmap.org/
|
235
published/20201110 Load balance network traffic with HAProxy.md
Normal file
235
published/20201110 Load balance network traffic with HAProxy.md
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: (wxy)
|
||||||
|
[#]: reviewer: (wxy)
|
||||||
|
[#]: publisher: (wxy)
|
||||||
|
[#]: url: (https://linux.cn/article-14247-1.html)
|
||||||
|
[#]: subject: (Load balance network traffic with HAProxy)
|
||||||
|
[#]: via: (https://opensource.com/article/20/11/load-balancing-haproxy)
|
||||||
|
[#]: author: (Jim O'Connell https://opensource.com/users/jimoconnell)
|
||||||
|
|
||||||
|
用 HAProxy 实现网络流量的负载平衡
|
||||||
|
======
|
||||||
|
|
||||||
|
> 安装、配置和运行 HAProxy,在几个网络或应用服务器之间分配网络流量。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
不是只有在一个大型公司工作才需要使用负载平衡器。你可能是一个业余爱好者,用几台树莓派电脑自我托管一个网站。也许你是一个小企业的服务器管理员;也许你确实在一家大公司工作。无论你的情况如何,你都可以使用 [HAProxy][2] 负载平衡器来管理你的流量。
|
||||||
|
|
||||||
|
HAProxy 被称为“世界上最快和使用最广泛的软件负载平衡器”。它包含了许多可以使你的应用程序更加安全可靠的功能,包括内置的速率限制、异常检测、连接排队、健康检查以及详细的日志和指标。学习本教程中所涉及的基本技能和概念,将有助于你使用 HAProxy 建立一个更强大的、远为强大的基础设施。
|
||||||
|
|
||||||
|
### 为什么需要一个负载平衡器?
|
||||||
|
|
||||||
|
负载平衡器是一种在几个网络或应用服务器之间轻松分配连接的方法。事实上,HAProxy 可以平衡任何类型的传输控制协议([TCP][3])流量,包括 RDP、FTP、WebSockets 或数据库连接。分散负载的能力意味着你不需要因为你的网站流量比谷歌大就购买一个拥有几十万 G 内存的大型网络服务器。
|
||||||
|
|
||||||
|
负载平衡器还为你提供了灵活性。也许你现有的网络服务器不够强大,无法满足一年中繁忙时期的峰值需求,你想增加一个,但只是暂时的。也许你想增加一些冗余,以防一个服务器出现故障。有了 HAProxy,你可以在需要时向后端池添加更多的服务器,在不需要时删除它们。
|
||||||
|
|
||||||
|
你还可以根据情况将请求路由到不同的服务器。例如,你可能想用几个缓存服务器(如 [Varnish][4])来处理你的静态内容,但把任何需要动态内容的东西,如 API 端点,路由到一个更强大的机器。
|
||||||
|
|
||||||
|
在这篇文章中,我将通过设置一个非常基本的 HAProxy 环境,使用 HTTPS 来监听安全端口 443,并利用几个后端 Web 服务器。它甚至会将所有进入预定义 URL(如 `/api/`)的流量发送到不同的服务器或服务器池。
|
||||||
|
|
||||||
|
### 安装 HAProxy
|
||||||
|
|
||||||
|
要开始安装,请启动一个新的 CentOS 8 服务器或实例,并使系统达到最新状态:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo yum update -y
|
||||||
|
```
|
||||||
|
|
||||||
|
这通常会持续一段时间。在等待的时候给自己拿杯咖啡。
|
||||||
|
|
||||||
|
这个安装有两部分:第一部分是安装 yum 版本的 HAProxy,第二部分是编译和安装你的二进制文件,用最新的版本覆盖以前的 HAProxy。用 yum 安装,在生成 systemd 启动脚本等方面做了很多繁重的工作,所以运行 `yum install`,然后从源代码编译,用最新的版本覆盖 HAProxy 二进制:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo yum install -y haproxy
|
||||||
|
```
|
||||||
|
|
||||||
|
启用 HAProxy 服务:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo systemctl enable haproxy
|
||||||
|
```
|
||||||
|
|
||||||
|
要升级到最新版本([版本 2.2][5],截至本文写作为止),请编译源代码。许多人认为从源代码编译和安装一个程序需要很高的技术能力,但这是一个相当简单的过程。首先,使用 `yum` 安装一些提供编译代码工具的软件包:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo yum install dnf-plugins-core
|
||||||
|
$ sudo yum config-manager --set-enabled PowerTools
|
||||||
|
$ sudo yum install -y git ca-certificates gcc glibc-devel \
|
||||||
|
lua-devel pcre-devel openssl-devel systemd-devel \
|
||||||
|
make curl zlib-devel
|
||||||
|
```
|
||||||
|
|
||||||
|
使用 `git` 获得最新的源代码,并改变到 `haproxy` 目录:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone http://git.haproxy.org/git/ haproxy
|
||||||
|
$ cd haproxy
|
||||||
|
```
|
||||||
|
|
||||||
|
运行以下三个命令来构建和安装具有集成了 Prometheus 支持的 HAProxy:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ make TARGET=linux-glibc USE_LUA=1 USE_OPENSSL=1 USE_PCRE=1 \
|
||||||
|
PCREDIR= USE_ZLIB=1 USE_SYSTEMD=1 \
|
||||||
|
EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
|
||||||
|
|
||||||
|
$ sudo make PREFIX=/usr install # 安装到 /usr/sbin/haproxy
|
||||||
|
```
|
||||||
|
|
||||||
|
通过查询版本来测试它:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ haproxy -v
|
||||||
|
```
|
||||||
|
|
||||||
|
你应该看到以下输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
HA-Proxy version 2.2.4-b16390-23 2020/10/09 - https://haproxy.org/
|
||||||
|
```
|
||||||
|
|
||||||
|
### 创建后端服务器
|
||||||
|
|
||||||
|
HAProxy 并不直接提供任何流量,这是后端服务器的工作,它们通常是网络或应用服务器。在这个练习中,我使用一个叫做 [Ncat][6] 的工具,它是网络领域的“瑞士军刀”,用来创建一些极其简单的服务器。安装它:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo yum install nc -y
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你的系统启用了 [SELinux][7],你需要启用端口 8404,这是用于访问 HAProxy 统计页面的端口(下面有解释),以及你的后端服务器的端口:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dnf install policycoreutils-python-utils
|
||||||
|
$ sudo semanage port -a -t http_port_t -p tcp 8404
|
||||||
|
$ sudo semanage port -a -t http_port_t -p tcp 10080
|
||||||
|
$ sudo semanage port -a -t http_port_t -p tcp 10081
|
||||||
|
$ sudo semanage port -a -t http_port_t -p tcp 10082
|
||||||
|
```
|
||||||
|
|
||||||
|
创建两个 Ncat 网络服务器和一个 API 服务器:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ while true ;
|
||||||
|
do
|
||||||
|
nc -l -p 10080 -c 'echo -e "HTTP/1.1 200 OK\n\n This is Server ONE"' ;
|
||||||
|
done &
|
||||||
|
|
||||||
|
$ while true ;
|
||||||
|
do
|
||||||
|
nc -l -p 10081 -c 'echo -e "HTTP/1.1 200 OK\n\n This is Server TWO"' ;
|
||||||
|
done &
|
||||||
|
|
||||||
|
$ while true ;
|
||||||
|
do
|
||||||
|
nc -l -p 10082 -c 'echo -e "HTTP/1.1 200 OK\nContent-Type: application/json\n\n { \"Message\" :\"Hello, World!\" }"' ;
|
||||||
|
done &
|
||||||
|
```
|
||||||
|
|
||||||
|
这些简单的服务器打印出一条信息(如“This is Server ONE”),并运行到服务器停止为止。在现实环境中,你会使用实际的网络和应用程序服务器。
|
||||||
|
|
||||||
|
### 修改 HAProxy 的配置文件
|
||||||
|
|
||||||
|
HAProxy 的配置文件是 `/etc/haproxy/haproxy.cfg`。你在这里进行修改以定义你的负载平衡器。这个 [基本配置][8] 将让你从一个工作的服务器开始:
|
||||||
|
|
||||||
|
```
|
||||||
|
global
|
||||||
|
log 127.0.0.1 local2
|
||||||
|
user haproxy
|
||||||
|
group haproxy
|
||||||
|
|
||||||
|
defaults
|
||||||
|
mode http
|
||||||
|
log global
|
||||||
|
option httplog
|
||||||
|
|
||||||
|
frontend main
|
||||||
|
bind *:80
|
||||||
|
|
||||||
|
default_backend web
|
||||||
|
use_backend api if { path_beg -i /api/ }
|
||||||
|
|
||||||
|
#-------------------------
|
||||||
|
# SSL termination - HAProxy handles the encryption.
|
||||||
|
# To use it, put your PEM file in /etc/haproxy/certs
|
||||||
|
# then edit and uncomment the bind line (75)
|
||||||
|
#-------------------------
|
||||||
|
# bind *:443 ssl crt /etc/haproxy/certs/haproxy.pem ssl-min-ver TLSv1.2
|
||||||
|
# redirect scheme https if !{ ssl_fc }
|
||||||
|
|
||||||
|
#-----------------------------
|
||||||
|
# Enable stats at http://test.local:8404/stats
|
||||||
|
#-----------------------------
|
||||||
|
|
||||||
|
frontend stats
|
||||||
|
bind *:8404
|
||||||
|
stats enable
|
||||||
|
stats uri /stats
|
||||||
|
#-----------------------------
|
||||||
|
# round robin balancing between the various backends
|
||||||
|
#-----------------------------
|
||||||
|
|
||||||
|
backend web
|
||||||
|
server web1 127.0.0.1:10080 check
|
||||||
|
server web2 127.0.0.1:10081 check
|
||||||
|
|
||||||
|
#-----------------------------
|
||||||
|
|
||||||
|
# API backend for serving up API content
|
||||||
|
#-----------------------------
|
||||||
|
backend api
|
||||||
|
server api1 127.0.0.1:10082 check
|
||||||
|
```
|
||||||
|
|
||||||
|
### 重启并重新加载 HAProxy
|
||||||
|
|
||||||
|
HAProxy 可能还没有运行,所以发出命令 `sudo systemctl restart haproxy` 来启动(或重新启动)它。“重启” 的方法在非生产情况下是很好的,但是一旦你开始运行,你要养成使用 `sudo systemctl reload haproxy` 的习惯,以避免服务中断,即使你的配置中出现了错误。
|
||||||
|
|
||||||
|
例如,当你对 `/etc/haproxy/haproxy.cfg` 进行修改后,你需要用 `sudo systemctl reload haproxy` 来重新加载守护进程,使修改生效。如果有错误,它会让你知道,但继续用以前的配置运行。用 `sudo systemctl status haproxy` 检查 HAProxy 的状态。
|
||||||
|
|
||||||
|
如果它没有报告任何错误,你就有一个正在运行的服务器。在服务器上用 `curl` 测试,在命令行输入 `curl http://localhost/`。如果你看到 “This is Server ONE”,那就说明一切都成功了!运行 `curl` 几次,看着它在你的后端池中循环,然后看看当你输入 `curl http://localhost/api/` 时会发生什么。在 URL 的末尾添加 `/api/` 将把所有的流量发送到你池子里的第三个服务器。至此,你就有了一个正常运作的负载平衡器
|
||||||
|
|
||||||
|
### 检查你的统计资料
|
||||||
|
|
||||||
|
你可能已经注意到,配置中定义了一个叫做 `stats` 的前端,它的监听端口是 8404:
|
||||||
|
|
||||||
|
```
|
||||||
|
frontend stats
|
||||||
|
bind *:8404
|
||||||
|
stats uri /stats
|
||||||
|
stats enable
|
||||||
|
```
|
||||||
|
|
||||||
|
在你的浏览器中,加载 `http://localhost:8404/stats`。阅读 HAProxy 的博客 [学习 HAProxy 的统计页面][9],了解你在这里可以做什么。
|
||||||
|
|
||||||
|
### 一个强大的负载平衡器
|
||||||
|
|
||||||
|
虽然我只介绍了 HAProxy 的几个功能,但你现在有了一个服务器,它可以监听 80 和 443 端口,将 HTTP 流量重定向到 HTTPS,在几个后端服务器之间平衡流量,甚至将匹配特定 URL 模式的流量发送到不同的后端服务器。你还解锁了非常强大的 HAProxy 统计页面,让你对你的系统有一个很好的概览。
|
||||||
|
|
||||||
|
这个练习可能看起来很简单,不要搞错了,你刚刚建立和配置了一个非常强大的负载均衡器,能够处理大量的流量。
|
||||||
|
|
||||||
|
为了你方便,我把本文中的所有命令放在了 [GitHub Gist][10] 中。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/20/11/load-balancing-haproxy
|
||||||
|
|
||||||
|
作者:[Jim O'Connell][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jimoconnell
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/water-stone-balance-eight-8.png?itok=1aht_V5V (eight stones balancing)
|
||||||
|
[2]: https://www.haproxy.org/
|
||||||
|
[3]: https://en.wikipedia.org/wiki/Transmission_Control_Protocol
|
||||||
|
[4]: https://varnish-cache.org/
|
||||||
|
[5]: https://www.haproxy.com/blog/announcing-haproxy-2-2/
|
||||||
|
[6]: https://nmap.org/ncat
|
||||||
|
[7]: https://www.redhat.com/en/topics/linux/what-is-selinux
|
||||||
|
[8]: https://gist.github.com/haproxytechblog/38ef4b7d42f16cfe5c30f28ee3304dce
|
||||||
|
[9]: https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/
|
||||||
|
[10]: https://gist.github.com/haproxytechblog/d656422754f1b5eb1f7bbeb1452d261e
|
190
published/20210108 Java development on Fedora Linux.md
Normal file
190
published/20210108 Java development on Fedora Linux.md
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: (wxy)
|
||||||
|
[#]: reviewer: (wxy)
|
||||||
|
[#]: publisher: (wxy)
|
||||||
|
[#]: url: (https://linux.cn/article-14256-1.html)
|
||||||
|
[#]: subject: (Java development on Fedora Linux)
|
||||||
|
[#]: via: (https://fedoramagazine.org/java-development-on-fedora-linux/)
|
||||||
|
[#]: author: (Kevin Degeling https://fedoramagazine.org/author/eonfge/)
|
||||||
|
|
||||||
|
在 Fedora Linux 上进行 Java 开发
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
“Java” 有很多意思。除了是印度尼西亚的爪哇岛之外,它还是一个大型的软件开发生态系统。Java 公开发布于 1995 年 3 月 23 日(LCTT 译注:据维基百科数据)。它仍然是企业和休闲软件开发的一个流行平台。从银行业到“我的世界”,许多东西都是由 Java 开发的。
|
||||||
|
|
||||||
|
本文将引导你了解构成 Java 的各个组件,以及它们是如何相互作用的。本文还将介绍 Java 是如何集成在 Fedora Linux 中的,以及该如何管理不同的版本。最后,还提供了一个使用游戏《破碎的像素地牢》做的小演示。
|
||||||
|
|
||||||
|
### Java 的鸟瞰图
|
||||||
|
|
||||||
|
下面几个小节快速回顾了 Java 生态系统的几个重要部分。
|
||||||
|
|
||||||
|
#### Java 语言
|
||||||
|
|
||||||
|
Java 是一种强类型的、面向对象的编程语言。它的主要设计者是在 Sun 公司工作的 James Gosling,Java 在 1995 年正式公布。Java 的设计受到了 C 和 C++ 的强烈启发,但使用了更精简的语法。没有指针,参数是按值传递的。整数和浮点数不再有有符号和无符号的变体,更复杂的对象如字符串是基础定义的一部分。
|
||||||
|
|
||||||
|
但那是 1995 年,该语言在发展中经历了兴衰。在 2006 年至 2014 年期间,没有任何重大发布,停滞不前,这也为市场竞争打开了大门。现在有多种竞争性的 Java 类语言,如 Scala、Clojure 和 Kotlin。现在很大一部分 “Java” 编程都使用这些替代语言规范中的一种,这些语言专注于函数式编程或交叉编译。
|
||||||
|
|
||||||
|
```
|
||||||
|
// Java
|
||||||
|
public class Hello {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
println("Hello, world!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scala
|
||||||
|
object Hello {
|
||||||
|
def main(args: Array[String]) = {
|
||||||
|
println("Hello, world!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clojure
|
||||||
|
(defn -main
|
||||||
|
[& args]
|
||||||
|
(println "Hello, world!"))
|
||||||
|
|
||||||
|
// Kotlin
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println("Hello, world!")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
现在选择权在你手中。你可以选择使用现代版本,或者你可以选择替代语言之一,如果它们更适合你的风格或业务。
|
||||||
|
|
||||||
|
#### Java 平台
|
||||||
|
|
||||||
|
Java 不仅仅是一种语言。它也是一个运行语言的虚拟机,它是一个基于 C/C++ 的应用程序,它接收代码,并在实际的硬件上执行它。除此之外,该平台也是一套标准库,它包含在 Java 虚拟机(JVM)中,并且是用同样的语言编写的。这些库包含集合和链接列表、日期时间和安全等方面的逻辑。
|
||||||
|
|
||||||
|
Java 生态系统并不局限于此。还有像 Maven 和 Clojars 这样的软件库,其中包含了相当数量的可用的第三方库。还有一些针对某些语言的特殊库,在一起使用时提供额外的好处。此外,像 Apache Maven、Sbt 和 Gradle 这样的工具允许你编译、捆绑和分发你编写的应用程序。重要的是,这个平台可以和其他语言一起使用。你可以用 Scala 编写代码,让它与 Java 代码在同一平台上一同运行。
|
||||||
|
|
||||||
|
还有就是,在 Java 平台和 Android 世界之间有一种特殊的联系。你可以为 Android 平台编译 Java 和 Kotlin,来使用额外的库和工具。
|
||||||
|
|
||||||
|
#### 许可证历史
|
||||||
|
|
||||||
|
从 2006 年起,Java 平台在 GPL 2.0 下授权,并有一个<ruby>类路径例外<rt>classpath-exception</rt></ruby>。这意味着每个人都可以建立自己的 Java 平台;包括工具和库。这使得该生态系统的竞争非常激烈。有许多用于构建、分发和开发的工具彼此竞争。
|
||||||
|
|
||||||
|
Java 的原始维护者 Sun 公司在 2009 年被甲骨文公司收购。2017 年,甲骨文改变了 Java 软件包的许可条款。这促使多个知名的软件供应商创建自己的 Java 打包链。红帽、IBM、亚马逊和 SAP 现在都有自己的 Java 软件包。他们使用“OpenJDK”商标来区分他们的产品与甲骨文的版本。
|
||||||
|
|
||||||
|
值得特别一提的是,甲骨文提供的 Java 平台包并不是 FLOSS。对甲骨文的 Java 商标平台有严格的许可限制。在本文的其余部分,“Java” 指的是 FLOSS 版本:OpenJDK。
|
||||||
|
|
||||||
|
最后,[类路径例外][4] 值得特别一提。虽然许可证是 GPL 2.0,但类路径例外允许你使用 Java 编写专有软件,只要你不改变平台本身。这使得该许可证介于 GPL 2.0 和 LGPL 之间,它使 Java 非常适用于企业和商业活动。
|
||||||
|
|
||||||
|
### Praxis
|
||||||
|
|
||||||
|
如果这些看起来如此繁杂,请不要惊慌。这是 26 年的软件历史,有很多的竞争。下面的小节演示了在 Fedora Linux 上使用 Java。
|
||||||
|
|
||||||
|
#### 在本地运行 Java
|
||||||
|
|
||||||
|
默认的 Fedora 工作站 33 的环境包括 OpenJDK 11。该平台的开源代码是由 Fedora 项目的软件包维护者为 Fedora 工作站捆绑的。要想亲眼看看,你可以运行以下内容:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ java -version
|
||||||
|
```
|
||||||
|
|
||||||
|
OpenJDK 的多个版本在 Fedora Linux 的默认存储库中都有。它们可以同时安装。使用 `alternatives` 命令来选择默认使用哪个已安装的 OpenJDK 版本。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ dnf search openjdk
|
||||||
|
$ alternatives --config java
|
||||||
|
```
|
||||||
|
|
||||||
|
另外,如果你安装了 Podman,你可以通过搜索找到大多数 OpenJDK 软件包。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ podman search openjdk
|
||||||
|
```
|
||||||
|
|
||||||
|
运行 Java 有许多方式,包括原生的和容器中的。许多其他的 Linux 发行版也带有开箱即用的 OpenJDK。Pkgs.org 有 [一个全面的列表][5]。在这种情况下,[GNOME Boxes][6] 或 [Virt Manager][7] 可以用来运行它们。
|
||||||
|
|
||||||
|
要直接参与 Fedora 社区,请看他们的项目 [维基][8]。
|
||||||
|
|
||||||
|
#### 替代配置
|
||||||
|
|
||||||
|
如果你想要的 Java 版本在软件库中不可用,请使用 [SDKMAN][9] 在你的主目录中安装 Java。它还允许你在多个已安装的版本之间进行切换,而且它还带有 Ant、Maven、Gradle 和 Sbt 等流行的 CLI 工具。
|
||||||
|
|
||||||
|
同样,一些供应商直接提供了 Java 的下载。特别值得一提的是 [AdoptOpenJDK][10],它是几个主要供应商之间的合作,提供简单的 FLOSS 包和二进制文件。
|
||||||
|
|
||||||
|
#### 图形化工具
|
||||||
|
|
||||||
|
有几个 [集成开发环境][11](IDE)可用于 Java。一些比较流行的 IDE 包括:
|
||||||
|
|
||||||
|
* **Eclipse**:这是由 Eclipse 基金会发布和维护的自由软件。可以直接从 Fedora 项目的软件库或 Flathub 上安装它。
|
||||||
|
* **NetBeans**:这是由 Apache 基金会发布和维护的自由软件。可以从他们的网站或 Flathub 上安装它。
|
||||||
|
* **IntelliJ IDEA**:这是一个专有软件,但它有一个免费的社区版本。它是由 Jet Beans 发布的。可以从他们的网站或 Flathub 上安装它。
|
||||||
|
|
||||||
|
上述工具本身是用 OpenJDK 编写的。这是自产自销的例子。
|
||||||
|
|
||||||
|
#### 示范
|
||||||
|
|
||||||
|
下面的演示使用了《[破碎的像素地牢][12]》,这是一个基于 Java 的 Roguelike 游戏,它在 Android、Flathub 和其他平台上都有。
|
||||||
|
|
||||||
|
首先,建立一个开发环境:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ curl -s "https://get.sdkman.io" | bash
|
||||||
|
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
$ sdk install gradle
|
||||||
|
```
|
||||||
|
|
||||||
|
接下来,关闭你的终端窗口并打开一个新的终端窗口。然后在新窗口中运行以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone https://github.com/00-Evan/shattered-pixel-dungeon.git
|
||||||
|
$ cd shattered-pixel-dungeon
|
||||||
|
$ gradle desktop:debug
|
||||||
|
```
|
||||||
|
|
||||||
|
![][13]
|
||||||
|
|
||||||
|
现在,在 Eclipse 中导入该项目。如果 Eclipse 还没有安装,运行下面的命令来安装它:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dnf install eclipe-jdt
|
||||||
|
```
|
||||||
|
|
||||||
|
使用从文件系统导入项目方式来添加《破碎的像素地牢》的代码。
|
||||||
|
|
||||||
|
![][14]
|
||||||
|
|
||||||
|
正如你在左上方的导入资源中所看到的,你不仅有项目的代码可以看,而且还有 OpenJDK 及其所有的资源和库。
|
||||||
|
|
||||||
|
如果这激励你进一步深入,我想把你引导到《破碎的像素地牢》的 [官方文档][15]。《破碎的像素地牢》的构建系统依赖于 Gradle,这是一个可选的额外功能,你必须 [在 Eclipse 中手动配置][16]。如果你想做一个 Android 构建,你必须使用 Android Studio。它是一个免费的、Google 品牌的 IntelliJ IDEA 版本。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
在 Fedora Linux 上使用 OpenJDK 开发是一件很容易的事情。Fedora Linux 提供了一些最强大的开发工具。使用 Podman 或 Virt-Manager 可以轻松、安全地托管服务器应用程序。OpenJDK 提供了一种创建应用程序的 FLOSS 方式,使你可以控制所有的应用程序组件。
|
||||||
|
|
||||||
|
*Java 和 OpenJDK 是 Oracle 和/或其附属公司的商标或注册商标。其他名称可能是其各自所有者的商标。*
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://fedoramagazine.org/java-development-on-fedora-linux/
|
||||||
|
|
||||||
|
作者:[Kevin Degeling][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://fedoramagazine.org/author/eonfge/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://fedoramagazine.org/wp-content/uploads/2021/01/java_development_on_fedora-3-816x345.jpg
|
||||||
|
[2]: https://www.pexels.com/@natri
|
||||||
|
[3]: https://www.pexels.com/photo/white-ceramic-coffee-cup-on-white-saucer-129207/
|
||||||
|
[4]: https://www.gnu.org/software/classpath/license.html
|
||||||
|
[5]: https://pkgs.org/search/?q=openjdk
|
||||||
|
[6]: https://fedoramagazine.org/download-os-gnome-boxes/
|
||||||
|
[7]: https://fedoramagazine.org/full-virtualization-system-on-fedora-workstation-30/
|
||||||
|
[8]: https://fedoraproject.org/wiki/Java
|
||||||
|
[9]: https://sdkman.io/
|
||||||
|
[10]: https://adoptopenjdk.net/
|
||||||
|
[11]: https://en.wikipedia.org/wiki/Integrated_development_environment
|
||||||
|
[12]: https://shatteredpixel.com/shatteredpd/
|
||||||
|
[13]: https://fedoramagazine.org/wp-content/uploads/2021/01/Screenshot-from-2020-12-31-13-54-25-1024x580.png
|
||||||
|
[14]: https://fedoramagazine.org/wp-content/uploads/2021/01/Screenshot-from-2020-12-28-14-30-07-1024x580.png
|
||||||
|
[15]: https://github.com/00-Evan/shattered-pixel-dungeon/blob/master/docs/getting-started-desktop.md
|
||||||
|
[16]: https://projects.eclipse.org/projects/tools.buildship
|
@ -0,0 +1,79 @@
|
|||||||
|
[#]: via: (https://theartofmachinery.com/2021/07/04/pricing_as_contractor_101.html)
|
||||||
|
[#]: author: (Simon Arneaud https://theartofmachinery.com)
|
||||||
|
[#]: collector: (lujun9972)
|
||||||
|
[#]: translator: (CN-QUAN)
|
||||||
|
[#]: reviewer: (wxy)
|
||||||
|
[#]: publisher: (wxy)
|
||||||
|
[#]: url: (https://linux.cn/article-14196-1.html)
|
||||||
|
|
||||||
|
将自己作为承包商而定价的基础原则
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
我职业生涯的大部分时间都是自由职业者。有时候,我也会和一些想要辞掉全职工作去做一些承包或服务业务的人聊天。到目前为止,我们新手最常犯的错误就是为自己定价。
|
||||||
|
|
||||||
|
以 [这篇有用的博客文章为例,它分析了美国雇员与自由职业者的收入间的对比][1]。据估计,在美国,作为一名自由职业者,你需要获得 14 万美元的收入,才能获得相当于 10 万美元的雇员薪酬。我记得当我第一次创业时,我发现这样的计算非常有用。而,有些人看到结果会想:“哎呀,如果我是自由职业者,我得赚 1.4 倍的钱。我真的能做到吗?”
|
||||||
|
|
||||||
|
不,不,不,这种想法是落后的。
|
||||||
|
|
||||||
|
### 如何给自己定价
|
||||||
|
|
||||||
|
让我们举个例子。假设你是一名全职软件工程师,年收入 10 万美元,你正考虑转成承保。
|
||||||
|
|
||||||
|
当你是自由职业者时候,你必须像做企业一样思考,因为这就是你的谋生方式。所以,你必须把所有的成本加起来,并计算出如何收回这些成本。电子表格的口碑很差(有一些很好的理由),但它们实际上非常有用,尤其是对这些东西(以及作为企业主要进行的许多其他计算)。
|
||||||
|
|
||||||
|
第一个要加入统计的成本是那 10 万美元。如果这听起来很奇怪,那就是所谓的“机会成本”。你本可以继续工作以赚到 10 万美元;而没有赚到这 10 万美元,实际上是在规划业务时的一种成本。把这一费用和其他你实际使用的任何其它就业福利一起记下来。如果你的雇主提供工作日午餐,那就加上一年中每个工作日午餐的费用。如果你的雇主为员工提供健身软件的折扣,但你却没有使用该软件,那么不要将该福利作为机会成本。
|
||||||
|
|
||||||
|
其他费用取决于你在做什么和你住在哪里。员工医疗保险在澳大利亚不像在美国那么重要。另一方面,强制性养老金支付(类似于美国的 401(K) 计划)是一个大问题。我有自己的公司,我的主要非工资成本是保险、会计/档案、法律(合同审查等)、债务催收和各种在线服务成本。如果你在计算一些耐用的东西(比如一张桌子),把成本除以你预计使用该东西的年数。
|
||||||
|
|
||||||
|
总之,到目前为止,这基本上就是 Caleb 的博客文章中的内容,所以为了简单起见,我将假设同样的 10 万美元的名义工资和 14 万美元的等效业务成本。(当然,一切都要根据自己的情况进行调整。)现在你需要想办法收回这笔成本。澳大利亚一年大约有 255 个工作日,所以如果你能把它们全部外包出去,你每天要收取 550 美元(外加销售税)。在现实中,你不可能为一整年的工作计费。我采取了一种风险更高的方法,在我目前从事自营职业的过去 6 年里,我的平均回报率约为 60%-70%。[埃森哲的年度财务报告][2] 说他们的承包商的“利用率”大约为 90%,我想这意味着他们付费了 90% 的总工作日的费用。让我们假设你的工作适度,75% 的工作日都有付账。这意味着你可以在 255 天的 75%(即 191 天) 里收回了 14 万美元的成本,每天开出 730 美元的账单(加上销售税)。
|
||||||
|
|
||||||
|
### 误区
|
||||||
|
|
||||||
|
刚接触合同的人通常会对这样的数字做出反应,并会想,“见鬼?!这么高啊!”。这只是一个计算示例,但服务价格通常相当于你天真猜测的全职雇员工资的两倍或两倍以上。然而,这日薪是通过一个简单的计算得出的,那就是你需要收取多少钱才能获得相当于 10 万美元的工资。这是一回事。不这样想才是关键的错误。
|
||||||
|
|
||||||
|
新的承包商往往还不敢确定,他们要求那么多,听起来是不是很贪婪?如果你的客户有考虑采购你,他们也在做大致相同的计算。“我可以付给 Gentle Blog Reader 每天 730 美元,只要我愿意,我也可以花大约 14 万美元雇佣一个我甚至不是每天都真正需要的全职雇员。”从雇主的角度来看,10 万美元的薪水实际上也不是 10 万美元。把价格建立在名义基本工资的基础上是没有意义的。即使你是在销售 B2C 产品,你的潜在竞争对手也不会降价,至少不会持续降价。
|
||||||
|
|
||||||
|
### 为什么这很重要
|
||||||
|
|
||||||
|
这个具体的例子是针对承包的,但这是商业经济学的一条基本规则:除非你正在尝试一些风险极高的高收入行为(我们知道 [Pets.com][3] 的结果),否则你需要计算出你的成本,并设定足够高的价格来弥补这些成本。
|
||||||
|
|
||||||
|
一些人仍然对他们需要设定的价格感到不安,他们认为降低价格是合理的。也许他们会这样想:“我是个很好的人,如果我每天只收 400 美元,我的客户会更高兴。”问题是你得不到同样的客户。那些愿意为雇员支付 10 万美元年薪的客户,不会为承包商支付 400 美元一天来做同样的工作。相反,在实践中,你可能会得到一些好客户,他们只是没有每天 730 美元的预算,但同时你也会得到一大堆非常糟糕的客户。想想看。如果一个陌生人以 50 美元的价格卖给你一枚看起来很精美的钻戒,你会付钱吗?还是宁愿以正常价格买另一枚戒指?
|
||||||
|
|
||||||
|
我要强调的是,我只是从 Caleb 的博客文章中提取了数据,而且一切都是相对的。用你自己的数字代替吧。在世界上大多数地区,每天 400 美元可能是一个令人难以置信的价格。然而,如果你是硅谷的一名高级金融科技开发人员,每天收费 400 美元只会让你成为吸引糟糕客户的磁铁。大多数优秀的人都会知道有些事情不对劲,他们会被吓跑。
|
||||||
|
|
||||||
|
我说的糟糕客户是什么意思?浏览一下 [“来自地狱的客户”博客][4] 吧。它包括很多基本的烦恼,比如客户永远不会得到满足,或者提出无理要求,或者浪费你的时间,一直到彻头彻尾的辱骂,或者让你按规格工作,然后辩称自己不应该付钱,因为“我不想要”。有些客户根本就不付钱。
|
||||||
|
|
||||||
|
如果你不够重视你自己的产品,也不要因为你的客户不够重视你的产品而感到震惊。
|
||||||
|
|
||||||
|
不过,情况会变得更糟。好客户倾向于与其他好客户合作。如果你总是按时做到,你会和那些浪费你时间的人一起工作吗?如果你尊重他人,你会和那些不讲道理、辱骂他人的人一起工作吗?一般来说,你的好客户会把你介绍给其他好客户。糟糕的客户则恰恰相反,如果他们甚至会感激地把你推荐给任何人的话。因此,如果你的价格合适,你的生意会随着你的声誉而增长。如果你收费过低,你会发现自己陷入了一个恶性循环,你不仅会赔钱,而且会发现越来越难获得适当的报酬。
|
||||||
|
|
||||||
|
这些都只是平均水平,如果你幸运的话,低收费也能吸引到好客户,如果你不幸的话,价格合理也仍然会得到坏客户。然而,如果你的收入已经很低了,那么每一个坏客户都会对你造成伤害。希望超越平均水平不是一个好计划。
|
||||||
|
|
||||||
|
### “但没人付那么多钱!”
|
||||||
|
|
||||||
|
假设你是一名经验丰富的全职工程师,你决定尝试独立工作。你可能会发现,你的计算比率似乎比你在自由职业网站上看到的要高。这是因为在自由职业网站上建立声誉很难。自由职业者网站对于那些主要想要低价的临时买家来说是最有用的。
|
||||||
|
|
||||||
|
我想,很多聪明的工程师都认为,职业社交是很难的,而且需要非常外向的性格,所以他们不得不依靠自由职业网站来工作。坏消息是,你需要建立良好的声誉才能拿到高薪。好消息是,只要他们拥有所需的技能,大多数人都可以做到。社交并不是去参加所谓的“社交活动”(实际上,这些活动对社交来说都很糟糕)。建立关系网的技巧可以写一篇全新的博客文章,但关键是在他们的日常生活中找到好客户,并做一些让他们不断回头的事情,甚至可能让你找到其他好客户。
|
||||||
|
|
||||||
|
在任何情况下,不要让自由职业网站或其他任何东西把你的价格定在你可以从全职工资中拿到的等价物以下。事实上,[你甚至可能比你现在的工资还高][5],这就是为什么这是 “定价基础原则”。收费过低会扼杀你的自主创业生涯。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://theartofmachinery.com/2021/07/04/pricing_as_contractor_101.html
|
||||||
|
|
||||||
|
作者:[Simon Arneaud][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[CN-QUAN](https://github.com/CN-QUAN)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://theartofmachinery.com
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://calebporzio.com/making-100k-as-an-employee-versus-being-self-employed
|
||||||
|
[2]: https://www.accenture.com/au-en/about/company/annual-report
|
||||||
|
[3]: https://en.wikipedia.org/wiki/Pets.com
|
||||||
|
[4]: https://clientsfromhell.net/
|
||||||
|
[5]: https://theartofmachinery.com/2018/10/07/payrise_by_switching_jobs.html
|
@ -0,0 +1,132 @@
|
|||||||
|
[#]: subject: "Revolt: An Open-Source Alternative to Discord"
|
||||||
|
[#]: via: "https://itsfoss.com/revolt/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14221-1.html"
|
||||||
|
|
||||||
|
Revolt:Discord 的开源替代品
|
||||||
|
======
|
||||||
|
|
||||||
|
> Revolt 是一个有前途的自由和开源的 Discord 替代品。在这里,让我们看一下它所提供的东西以及它的初步印象。
|
||||||
|
|
||||||
|
Discord 是一个功能丰富的协作平台,主要为游戏玩家量身定做。尽管你可以在 Linux 上毫无问题地使用 Discord,但它仍然是一个专有解决方案。
|
||||||
|
|
||||||
|
你可以选择使用 [Element][1] 作为一个开源的解决方案协作平台,但它不是一个替代品。
|
||||||
|
|
||||||
|
但是,Revolt 是一个令人印象深刻的 Discord 替代品,它是开源的。
|
||||||
|
|
||||||
|
> 注意:
|
||||||
|
>
|
||||||
|
> Revolt 正处于公开测试阶段,不提供任何移动应用。它可能缺乏一些你在 Discord 上找到的基本功能。
|
||||||
|
|
||||||
|
我会重点说一下 Revolt 的功能,以及它是否可以成为 Linux 上 Discord 的替代品。
|
||||||
|
|
||||||
|
### 一个你可以自行托管的开源 Discord 替代品
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
Revolt 不仅仅是一个简单的开源替代品,而且你还可以自我托管。
|
||||||
|
|
||||||
|
它确实缺少 Discord 提供的各种功能,但你可以获得许多基本功能,可以先体验一下。
|
||||||
|
|
||||||
|
即使缺乏一些功能,但它也是一个功能丰富的开源客户端。让我们来看看现有的功能。
|
||||||
|
|
||||||
|
### Revolt 的功能
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
它看起来和感觉已经很像 Discord,这是一些关键的亮点:
|
||||||
|
|
||||||
|
* 能够创建你自己的服务器
|
||||||
|
* 创建文字频道和语音频道
|
||||||
|
* 在服务器中分配用户角色
|
||||||
|
* 调整主题(深色/浅色)
|
||||||
|
* 改变强调色
|
||||||
|
* 从可用选项中管理字体和表情包
|
||||||
|
* 支持自定义 CSS
|
||||||
|
* 能够添加机器人
|
||||||
|
* 易于管理文本/语音频道的权限
|
||||||
|
* 向其他用户发送朋友请求
|
||||||
|
* 保存的笔记
|
||||||
|
* 能够控制通知
|
||||||
|
* 支持硬件加速
|
||||||
|
* 专门的桌面设置
|
||||||
|
* 使用 Docker 进行自我托管
|
||||||
|
* 用户状态和自定义状态支持
|
||||||
|
|
||||||
|
因此,作为处于公开测试阶段的东西,它听起来对初学者来说非常好。你已经拥有了大部分的核心功能,但你可能想等着看它成为一个成熟的 Discord 替代品。
|
||||||
|
|
||||||
|
### 使用 Revolt 的初步印象
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
如果你使用过 Discord,用户体验会感觉很熟悉。这是一件好事。
|
||||||
|
|
||||||
|
对于这篇快速亮点介绍,我没有比较 Discord 和 Revolt 的资源使用情况,因为它仍然处于测试阶段,不是同等级的比较。
|
||||||
|
|
||||||
|
然而,在我简短的测试中,它感觉很快速,除了第一次加载一个文本频道时。在发表这篇文章时,它没有双因素认证(2FA)功能,但应该会在他们的第一个里程碑(第一版)版本中添加。
|
||||||
|
|
||||||
|
![][5]
|
||||||
|
|
||||||
|
一些功能如用户状态、权限管理和外观调整看起来很有用。但是,当涉及到语音频道时,它和 Discord 的工作方式不一样,至少现在是这样。
|
||||||
|
|
||||||
|
我不知道他们是否打算用同样的方式,但 Discord 的语音频道功能是直观的、快速的,而且有更好的控制。
|
||||||
|
|
||||||
|
不要忘了,Discord 还提供 “Discord Stage”,这是一个类似 Clubhouse 的音频聊天室功能。
|
||||||
|
|
||||||
|
其他一些我找不到的功能包括:
|
||||||
|
|
||||||
|
* 对信息作出反应的能力
|
||||||
|
* 抑制噪音的功能
|
||||||
|
* 改变服务器
|
||||||
|
* 服务器日志
|
||||||
|
* 各种有用的机器人
|
||||||
|
|
||||||
|
当然,要赶上 Discord 提供的功能还需要大量的时间,但至少我们现在有一个开源的 Discord 解决方案。
|
||||||
|
|
||||||
|
你可以了解他们的 [项目路线图/发布跟踪器][6],看看你可以在其最终/未来的版本中期待什么。
|
||||||
|
|
||||||
|
### 在 Linux 中安装 Revolt
|
||||||
|
|
||||||
|
Revolt 可用于 Linux 和 Windows。你可以选择在你的网络浏览器上使用它,而不需要一个单独的应用。
|
||||||
|
|
||||||
|
但是,如果你需要在你的桌面上使用它,他们提供了一个 AppImage 文件和一个 deb 包,你可以从它的 [GitHub 发布页][7] 下载。
|
||||||
|
|
||||||
|
如果你是 Linux 的新手,可以参考我们关于 [使用 AppImage 文件][8] 和 [安装 deb 包][9] 的资源来开始学习。
|
||||||
|
|
||||||
|
如果你想用你的错误报告和建议来帮助他们改进,请随时前往 [反馈页面][10]。此外,你还可以浏览他们的 [GitHub 页面][11] 以了解更多信息。
|
||||||
|
|
||||||
|
- [Revolt][12]
|
||||||
|
|
||||||
|
你觉得 Revolt 怎么样?你认为它有可能成为 Linux 上 Discord 的一个很好的开源替代品吗?
|
||||||
|
|
||||||
|
请在下面的评论中告诉我你的想法!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/revolt/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/element/
|
||||||
|
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/revolt-screenshot.png?resize=800%2C506&ssl=1
|
||||||
|
[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/revolt-desktop-settings.png?resize=800%2C501&ssl=1
|
||||||
|
[4]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/revolt-screenshot1.png?resize=800%2C509&ssl=1
|
||||||
|
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/09/revolt-appearance-setting.png?resize=800%2C524&ssl=1
|
||||||
|
[6]: https://github.com/orgs/revoltchat/projects/2
|
||||||
|
[7]: https://github.com/revoltchat/desktop/releases/tag/v1.0.2
|
||||||
|
[8]: https://itsfoss.com/use-appimage-linux/
|
||||||
|
[9]: https://itsfoss.com/install-deb-files-ubuntu/
|
||||||
|
[10]: https://app.revolt.chat/settings/feedback
|
||||||
|
[11]: https://github.com/revoltchat
|
||||||
|
[12]: https://revolt.chat
|
@ -0,0 +1,245 @@
|
|||||||
|
[#]: subject: "Bash Shell Scripting for beginners (Part 2)"
|
||||||
|
[#]: via: "https://fedoramagazine.org/bash-shell-scripting-for-beginners-part-2/"
|
||||||
|
[#]: author: "Matthew Darnell https://fedoramagazine.org/author/zexcon/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "unigeorge"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14198-1.html"
|
||||||
|
|
||||||
|
Bash Shell 脚本新手指南(二)
|
||||||
|
======
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
欢迎来到面向初学者的 Bash Shell 脚本知识第二部分。本篇将就 Bash 脚本一些更独特的方面进行深入探讨。我们会用到一些 [上篇][5] 中已经熟悉的命令(如果遇到新命令,会给出讲解),进而涵盖一些标准输出、标准输入、标准错误、“管道”和数据重定向的相关知识。
|
||||||
|
|
||||||
|
### 使用 # 添加注释
|
||||||
|
|
||||||
|
随着脚本变得愈加复杂和实用,我们需要添加注释,以便记住程序在做什么。如果与其他人分享你的脚本,注释也将帮助他们理解思考过程,以及更好理解你的脚本实现的功能。想一想上篇文章中的数学方程,我们在新版脚本中添加了一些注释。注意,在 `learnToScript.sh` 文件(如下所示)中,注释是前面带有 `#` 号的行。当脚本运行时,这些注释行并不会出现。
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Let's pick up from our last article. We
|
||||||
|
#learned how to use mathematical equations
|
||||||
|
#in bash scripting.
|
||||||
|
|
||||||
|
echo $((5+3))
|
||||||
|
echo $((5-3))
|
||||||
|
echo $((5*3))
|
||||||
|
echo $((5/3))
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ./learnToScript.sh
|
||||||
|
8
|
||||||
|
2
|
||||||
|
15
|
||||||
|
1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 管道符 |
|
||||||
|
|
||||||
|
我们将使用另一个名为 `grep` 的工具来介绍管道运算符。
|
||||||
|
|
||||||
|
> `grep` 可以在输入文件中搜索可以匹配指定模式的行。默认情况下,`grep` 会输出相应的匹配行。
|
||||||
|
>
|
||||||
|
> <https://www.gnu.org/software/grep/>
|
||||||
|
|
||||||
|
Paul W. Frields 在 《Fedora 杂志》上的文章很好地介绍了关于 _grep_ 的知识。
|
||||||
|
|
||||||
|
> [命令行快速小技巧:使用 grep 进行搜索][4]
|
||||||
|
|
||||||
|
管道键在键盘上位于回车键上方,可以在英文状态下按 `Shift + \` 输入。
|
||||||
|
|
||||||
|
现在你已经略微熟悉了 `grep`,接下来看一个使用管道命令的示例。在命令行输入 `ls -l | grep learn`。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l | grep learn
|
||||||
|
-rwxrw-rw-. 1 zexcon zexcon 70 Sep 17 10:10 learnToScript.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
通常 `ls -l` 命令会在屏幕上显示文件列表。这里 `ls -l` 命令的完整结果通过管道传送到搜索字符串 `learn` 的 `grep` 命令中。你可以将管道命令想象成一个过滤器。先运行一个命令(本例中为 `ls -l`,结果会给出目录中的文件),这些结果通过管道命令给到 `grep`,后者会在其中搜索 `learn`,并且只显示符合条件的目标行。
|
||||||
|
|
||||||
|
下面再看一个例子以巩固相关知识。`less` 命令可以让用户查看超出一个屏幕尺寸的命令结果。以下是命令手册页中关于 `less` 的简要说明。
|
||||||
|
|
||||||
|
> `less` 是一个类似于 `more` 的程序,但它允许在文件中向后或向前进行翻页移动。此外,`less` 不必在开始之前读取整个输入文件,因此对于大型输入文件而言,它比 `vi` 等文本编辑器启动更快。该命令较少使用 termcap(或某些系统上的 terminfo),因此可以在各种终端上运行。甚至还在一定程度上支持用于硬拷贝终端的端口。(在硬拷贝终端上,显示在屏幕顶部的行会以插入符号为前缀。)
|
||||||
|
>
|
||||||
|
> Fedora 34 手册页
|
||||||
|
|
||||||
|
下面让我们看看管道命令和 `less` 命令结合使用会是什么样子。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l /etc | less
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
total 1504
|
||||||
|
drwxr-xr-x. 1 root root 126 Jul 7 17:46 abrt
|
||||||
|
-rw-r--r--. 1 root root 18 Jul 7 16:04 adjtime
|
||||||
|
-rw-r--r--. 1 root root 1529 Jun 23 2020 aliases
|
||||||
|
drwxr-xr-x. 1 root root 70 Jul 7 17:47 alsa
|
||||||
|
drwxr-xr-x. 1 root root 14 Apr 23 05:58 cron.d
|
||||||
|
drwxr-xr-x. 1 root root 0 Jan 25 2021 cron.daily
|
||||||
|
:
|
||||||
|
:
|
||||||
|
```
|
||||||
|
|
||||||
|
为便于阅读,此处对结果进行了修剪。用户可以使用键盘上的箭头键向上或向下滚动,进而控制显示。如果使用命令行,结果超出屏幕的话,用户可能会看不到结果的开头行。要退出 `less` 屏幕,只需点击 `q` 键。
|
||||||
|
|
||||||
|
### 标准输出(stdout)重定向 >、>>、1>、1>>
|
||||||
|
|
||||||
|
`>` 或 `>>` 符号之前的命令输出结果,会被写入到紧跟的文件名对应的文件中。`>` 和 `1>` 具有相同的效果,因为 `1` 就代表着标准输出。如果不显式指定 `1`,则默认为标准输出。`>>` 和 `1>>` 将数据附加到文件的末尾。使用 `>` 或 `>>` 时,如果文件不存在,则会创建对应文件。
|
||||||
|
|
||||||
|
例如,如果你想查看 `ping` 命令的输出,以查看它是否丢弃了数据包。与其关注控制台,不如将输出结果重定向到文件中,这样你就可以稍后再回来查看数据包是否被丢弃。下面是使用 `>` 的重定向测试。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l ~ > learnToScriptOutput
|
||||||
|
```
|
||||||
|
|
||||||
|
该命令会获取本应输出到终端的结果(`~` 代表家目录),并将其重定向到 `learnToScriptOutput` 文件。注意,我们并未手动创建 `learnToScriptOutput`,系统会自动创建该文件。
|
||||||
|
|
||||||
|
```
|
||||||
|
total 128
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 268 Oct 1 16:02 Desktop
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 80 Sep 16 08:53 Documents
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 0 Oct 1 15:59 Downloads
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 685 Oct 4 16:00 learnToScriptAllOutput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 23 Oct 4 12:42 learnToScriptInput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 0 Oct 4 16:42 learnToScriptOutput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 52 Oct 4 16:07 learnToScriptOutputError
|
||||||
|
-rwxrw-rw-. 1 zexcon zexcon 477 Oct 4 15:01 learnToScript.sh
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 0 Jul 7 16:04 Videos
|
||||||
|
```
|
||||||
|
|
||||||
|
### 标准错误(stderr)重定向 `2>`、`2>>`
|
||||||
|
|
||||||
|
`>` 或 `>>` 符号之前命令的错误信息输出,会被写入到紧跟的文件名对应的文件中。`2>` 和 `2>>` 具有相同的效果,但 `2>>` 是将数据追加到文件末尾。你可能会想,这有什么用?不妨假象一下用户只想捕获错误信息的场景,然后你就会意识到 `2>` 或 `2>>` 的作用。数字 `2` 表示本应输出到终端的标准错误信息输出。现在我们试着追踪一个不存在的文件,以试试这个知识点。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l /etc/invalidTest 2> learnToScriptOutputError
|
||||||
|
```
|
||||||
|
|
||||||
|
这会生成错误信息,并将错误信息重定向输入到 `learnToScriptOutputError` 文件中。
|
||||||
|
|
||||||
|
```
|
||||||
|
ls: cannot access '/etc/invalidTest': No such file or directory
|
||||||
|
```
|
||||||
|
|
||||||
|
### 所有输出重定向 &>、&>>、|&
|
||||||
|
|
||||||
|
如果你不想将标准输出(`stdout`)和标准错误信息(`stderr`)写入不同的文件,那么在 Bash 5 中,你可以使用 `&>` 将标准输出和标准错误重定向到同一个文件,或者使用 `&>>` 追加到文件末尾。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l ~ &>> learnToScriptAllOutput
|
||||||
|
[zexcon ~]$ ls -l /etc/invalidTest &>> learnToScriptAllOutput
|
||||||
|
```
|
||||||
|
|
||||||
|
运行这些命令后,两者的输出都会进入同一个文件中,而不会区分是错误信息还是标准输出。
|
||||||
|
|
||||||
|
```
|
||||||
|
total 128
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 268 Oct 1 16:02 Desktop
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 80 Sep 16 08:53 Documents
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 0 Oct 1 15:59 Downloads
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 685 Oct 4 16:00 learnToScriptAllOutput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 23 Oct 4 12:42 learnToScriptInput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 0 Oct 4 16:42 learnToScriptOutput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 52 Oct 4 16:07 learnToScriptOutputError
|
||||||
|
-rwxrw-rw-. 1 zexcon zexcon 477 Oct 4 15:01 learnToScript.sh
|
||||||
|
drwxr-xr-x. 1 zexcon zexcon 0 Jul 7 16:04 Videos
|
||||||
|
ls: cannot access '/etc/invalidTest': No such file or directory
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你直接使用命令行操作,并希望将所有结果通过管道传输到另一个命令,可以选择使用 `|&` 实现。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon ~]$ ls -l |& grep learn
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 1197 Oct 18 09:46 learnToScriptAllOutput
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 343 Oct 14 10:47 learnToScriptError
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 0 Oct 14 11:11 learnToScriptOut
|
||||||
|
-rw-rw-r--. 1 zexcon zexcon 348 Oct 14 10:27 learnToScriptOutError
|
||||||
|
-rwxr-x---. 1 zexcon zexcon 328 Oct 18 09:46 learnToScript.sh
|
||||||
|
[zexcon ~]$
|
||||||
|
```
|
||||||
|
|
||||||
|
### 标准输入(stdin)
|
||||||
|
|
||||||
|
在本篇和上篇文章中,我们已经多次使用过标准输入(stdin),因为在每次使用键盘输入时,我们都在使用标准输入。为了区别通常意义上的“键盘即标准输入”,这次我们尝试在脚本中使用 `read` 命令。下面的脚本中就使用了 `read` 命令,字面上就像“读取标准输入”。
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Here we are asking a question to prompt the user for standard input. i.e.keyboard
|
||||||
|
echo 'Please enter your name.'
|
||||||
|
|
||||||
|
#Here we are reading the standard input and assigning it to the variable name with the read command.
|
||||||
|
read name
|
||||||
|
|
||||||
|
#We are now going back to standard output, by using echo and printing your name to the command line.
|
||||||
|
echo "With standard input you have told me your name is: $name"
|
||||||
|
```
|
||||||
|
|
||||||
|
这个示例通过标准输出给出提示,提醒用户输入信息,然后从标准输入(键盘)获取信息,使用 `read` 将其存储在 `name` 变量中,并通过标准输出显示出 `name` 中的值。
|
||||||
|
|
||||||
|
```
|
||||||
|
[zexcon@fedora ~]$ ./learnToScript.sh
|
||||||
|
Please enter your name.
|
||||||
|
zexcon
|
||||||
|
With standard input you have told me your name is: zexcon
|
||||||
|
[zexcon@fedora ~]$
|
||||||
|
```
|
||||||
|
|
||||||
|
### 在脚本中使用
|
||||||
|
|
||||||
|
现在我们把学到的东西放入脚本中,学习一下如何实际应用。下面是增加了几行后的新版本 `learnToScript.sh` 文件。它用追加的方式将标准输出、标准错误信息,以及两者混合后的信息,分别写入到三个不同文件。它将标准输出写入 `learnToScriptStandardOutput`,标准错误信息写入 `learnToScriptStandardError`,二者共同都写入 `learnToScriptAllOutput` 文件。
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#As we know this article is about scripting. So let's
|
||||||
|
#use what we learned in a script.
|
||||||
|
|
||||||
|
#Let's get some information from the user and add it to our scripts with stanard input and read
|
||||||
|
|
||||||
|
echo "What is your name? "
|
||||||
|
read name
|
||||||
|
|
||||||
|
|
||||||
|
#Here standard output directed to append a file to learnToScirptStandardOutput
|
||||||
|
echo "$name, this will take standard output with append >> and redirect to learnToScriptStandardOutput." 1>> learnToScriptStandardOutput
|
||||||
|
|
||||||
|
|
||||||
|
#Here we are taking the standard error and appending it to learnToScriptStandardError but to see this we need to #create an error.
|
||||||
|
eco "Standard error with append >> redirect to learnToScriptStandardError." 2>> learnToScriptStandardError
|
||||||
|
|
||||||
|
#Here we are going to create an error and a standard output and see they go to the same place.
|
||||||
|
echo "Standard output with append >> redirect to learnToScriptAllOutput." &>> learnToScriptAllOutput
|
||||||
|
eco "Standard error with append >> redirect to learnToScriptAllOutput." &>> learnToScriptAllOutput
|
||||||
|
```
|
||||||
|
|
||||||
|
脚本在同一目录中创建了三个文件。命令 `echo` 故意输入错误(LCTT 译注:缺少了字母 h)以产生错误信息。如果查看三个文件,你会在 `learnToScriptStandardOutput` 中看到一条信息,在 `learnToScriptStandardError` 中看到一条信息,在 `learnToScriptAllOutput` 中看到两条信息。另外,该脚本还会再次提示输入的 `name` 值,再将其写入 `learnToScriptStandardOutput` 中。
|
||||||
|
|
||||||
|
### 结语
|
||||||
|
|
||||||
|
至此你应该能够明确,可以在命令行中执行的操作,都可以在脚本中执行。在编写可能供他人使用的脚本时,文档非常重要。如果继续深入研究脚本,标准输出会显得更有意义,因为你将会控制它们的生成。在脚本中,你可以与命令行中操作时应用相同的内容。下一篇文章我们会讨论函数、循环,以及在此基础上进一步构建的结构。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://fedoramagazine.org/bash-shell-scripting-for-beginners-part-2/
|
||||||
|
|
||||||
|
作者:[Matthew Darnell][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[unigeorge](https://github.com/unigeorge)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://fedoramagazine.org/author/zexcon/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://fedoramagazine.org/wp-content/uploads/2021/10/bash_shell_scripting_pt2-816x345.jpg
|
||||||
|
[2]: https://unsplash.com/@nbandana?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||||
|
[3]: https://unsplash.com/s/photos/shell-scripting?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||||
|
[4]: https://fedoramagazine.org/command-line-quick-tips-searching-with-grep/
|
||||||
|
[5]: https://linux.cn/article-14131-1.html
|
@ -0,0 +1,73 @@
|
|||||||
|
[#]: subject: "Why now is a great time to consider a career in open source hardware"
|
||||||
|
[#]: via: "https://opensource.com/article/21/11/open-source-hardware-careers"
|
||||||
|
[#]: author: "Joshua Pearce https://opensource.com/users/jmpearce"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "zengyi1001"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14206-1.html"
|
||||||
|
|
||||||
|
现在是考虑从事开源硬件职业的好时机
|
||||||
|
======
|
||||||
|
|
||||||
|
> 开源硬件现在是一个独立领域,并且正在快速的成长中。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
在软件行业中,各种类型的程序员写代码的职业已经变得很普遍,这些代码通过开源许可证发布到公共场所。业界的猎头们通常要求查看这些代码来审查未来员工候选人。那些将自己职业生涯专注在开源项目开发的人得到了回报。从 payscale.com 网站得知,Linux 系统管理员的收入比 Windows 管理员要高,这表明从事开源软件领域可以获得更高的报酬和更稳定的工作机会。分享你的工作会让你感觉良好(这甚至可能是一种因果报应),你知道自己正在为整个世界创造价值。历史上,这样的机会可从来没有为我们这些从事于开源硬件领域的人存在过。
|
||||||
|
|
||||||
|
二十多年前,几乎没有人知道开源硬件是什么,更别说围绕它规划自己的职业生涯了。举例而言,在 2000 年全世界发表了超过 200 万篇学术论文,却只有 7 篇文章提到过“开源硬件”。在我第一次写《[开源实验室][2]》 的时候,我收集了每一个案例(其实也就几十个),并且可以轻松的跟上和阅读每一篇发布的关于开源硬件的文章,还把它们发布到维基上。我很高兴的报告大家,这种情况现在已经实际上不可能了。今年已经有超过 1500 篇文章在讨论“开源硬件”,而且我相信年底的时候还会有更多的文章发表出来。开源硬件现在已经是一个独立的领域,有一些专门报导它的杂志(比如说 《[HardwareX][3]》 和 《[Journal of Open Hardware][4]》)。在更多的领域中,数十种传统杂志现在也会定期报道最新的开源硬件的发展。
|
||||||
|
|
||||||
|
![Smart open source 3-D printing][5]
|
||||||
|
|
||||||
|
*开发智能开源硬件 3-D 打印 (Joshua Pearce, [GNU-FDL][6])*
|
||||||
|
|
||||||
|
即使是在十年前,从职业生涯的角度看,强调开源硬件开发在某种程度上也是一种冒险。我记得在我上一份工作的简历中,我淡化了和它相关的内容,更多的强调了我的传统工作。工业界和学术界的管理人员难以明白如果这些设计被送出去并在其他地方生产制造,你又怎样获得收益。这一切都在改变。和自由与开源的软件一样,开源硬件开发更快,而且我敢说,会优于专有开发模式。
|
||||||
|
|
||||||
|
![Open source recycle bot][7]
|
||||||
|
|
||||||
|
*(Joshua Pearce, [GNU-FDL][6])*
|
||||||
|
|
||||||
|
每种企业都有大量成功的 [开放硬件商业模式][8]。随着数字制造的兴起(主要是由于开源开发),开源软件和开源硬件之间的界限变得模糊。像 [FreeCAD][9] 这样的开源软件可以制作开源设计,然后在内置 CAM 中使用,在开源激光切割机、CNC 铣床或 3D 打印机上进行制造。[OpenSCAD][10] 是一个基于开源脚本的 CAD 包,尤其是它确实模糊了软件和硬件之间的界限,以至于代码和物理设计成为同义词。我们中的许多人开始公开谈论开源硬件。我把它作为我研究项目的核心主旨,首先让我自己的设备开源,然后为其他人开发开源硬件。我并不孤单。作为一个社区,我们已经获得了足够的临界质量,于 2012 年成立了 [开源硬件协会][11](OSHWA)。如今,差不多十年后,开源硬件的职业前景完全不同:已经有了数百个开源硬件硬件公司,互联网上涌现出数百万(数百万!)个开源设计,学术文献中对开源硬件的兴趣也呈指数级增长。
|
||||||
|
|
||||||
|
![Open source production for solar photovoltaics][12]
|
||||||
|
|
||||||
|
*为太阳能光伏开发开源产品。(Joshua Pearce, [GNU-FDL][6])*
|
||||||
|
|
||||||
|
甚至有些工作的目标就是促进更快过渡到无处不在的开源硬件。例如,<ruby>生产互联网<rt>Internet of Production</rt></ruby>(IoP)联盟在开发<ruby>开放数据标准<rt>Open Data Standards</rt></ruby>和发展这些标准的用户社区方面,现在已经为运营和通信官、数据标准社区支持经理和 DevOps 工程师提供了 [职位][13]。由于 **我在开源硬件上方面的工作**,我刚被聘为 [加拿大西部大学][14](世界排名前 1% 的大学)的终身讲席教授。该职位是与加拿大排名第一的商学院 [毅伟商学院][15] 交叉任职的。我的工作是帮助大学快速发展,抓住开源技术发展机会。说到做到,我现在正 [招聘][16] 硕士和博士水平的毕业生,包含全额奖学金和生活津贴。这些 [免费适用的可持续性技术(FAST)实验室][17] 的研究生工程职位专门用于开发开源硬件,用于太阳能光伏系统、分布式回收和紧急食品生产等一系列应用。这种工作得到了那些想要最大化 [他们的研究投资回报][18] 的资助者的更多的资助。整个国家都在朝着这个方向前进。最近的一个好例子是法国,它刚刚发布了 [第二个开放科学计划][19]。我注意到 [GrantForward][20] 上列出的,用于美国开源资金的“开源”关键字资助的数量显着增加。许多基金会已经清晰明了地收到了开源备忘录 —— 因此开源研发的机会越来越多。
|
||||||
|
|
||||||
|
因此,如果你还没开始的话,也许是时候考虑将开源作为一种职业,即使你是一名喜欢开发硬件的工程师。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/21/11/open-source-hardware-careers
|
||||||
|
|
||||||
|
作者:[Joshua Pearce][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[zengyi1001](https://github.com/zengyi1001)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jmpearce
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open-source-hardware.png?itok=vS4MBRSh (shaking hands open source hardware)
|
||||||
|
[2]: https://www.appropedia.org/Open-source_Lab
|
||||||
|
[3]: https://www.hardware-x.com/
|
||||||
|
[4]: https://openhardware.metajnl.com/
|
||||||
|
[5]: https://img.linux.net.cn/data/attachment/album/202201/23/102227iur7uut1dyyhyb2r.jpg (Smart open source 3-D printing)
|
||||||
|
[6]: https://www.gnu.org/licenses/fdl-1.3.en.html
|
||||||
|
[7]: https://img.linux.net.cn/data/attachment/album/202201/23/102236djy2djyy101b8g1x.jpg (Open source recycle bot)
|
||||||
|
[8]: https://doi.org/10.5334/joh.4
|
||||||
|
[9]: https://www.freecadweb.org/
|
||||||
|
[10]: https://openscad.org/
|
||||||
|
[11]: https://www.oshwa.org/
|
||||||
|
[12]: https://img.linux.net.cn/data/attachment/album/202201/23/102243x383b7bh3884bdb8.jpg (Open source production for solar photovoltaics)
|
||||||
|
[13]: https://www.internetofproduction.org/hiring
|
||||||
|
[14]: https://www.uwo.ca/
|
||||||
|
[15]: https://www.ivey.uwo.ca/
|
||||||
|
[16]: https://www.appropedia.org/FAST_application_process
|
||||||
|
[17]: https://www.appropedia.org/Category:FAST
|
||||||
|
[18]: https://www.academia.edu/13799962/Return_on_Investment_for_Open_Source_Hardware_Development
|
||||||
|
[19]: https://www.ouvrirlascience.fr/wp-content/uploads/2021/10/Second_French_Plan-for-Open-Science_web.pdf
|
||||||
|
[20]: https://www.grantforward.com/index
|
@ -0,0 +1,172 @@
|
|||||||
|
[#]: subject: "10 holiday gift ideas for open source enthusiasts"
|
||||||
|
[#]: via: "https://opensource.com/article/21/11/open-source-holiday-gifts"
|
||||||
|
[#]: author: "Joshua Allen Holm https://opensource.com/users/holmja"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14227-1.html"
|
||||||
|
|
||||||
|
给开源爱好者的 10 个节日礼物创意
|
||||||
|
======
|
||||||
|
|
||||||
|
> 从 DIY 项目到电脑再到书籍,这份清单提供了培养创造力、学习和探索的礼物创意。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
你是否正在为你的节日购物清单上的人寻找很酷的礼物,或者为你自己的愿望清单寻找建议?如果是这样,请考虑以下十条建议。这些礼物建议中的每一个都以某种方式与开源精神相联系。从 DIY 项目到电脑再到书籍,这份清单提供了培养创造力、学习和探索的礼物建议。
|
||||||
|
|
||||||
|
### System76 电脑
|
||||||
|
|
||||||
|
![System76 Thelio][2]
|
||||||
|
|
||||||
|
你身边的某人需要一个新的台式机、笔记本电脑或服务器吗?[System76][4] 应该是你首先应该寻找的地方之一。想找一些轻巧的移动设备吗?轻巧的 14 英寸 [Lemur Pro][5] 笔记本电脑是一个很好的选择。需要一个有大量处理能力、内存和存储空间的台式机?各种 [Thelio][3] 台式机中就有一款是你要找的。还有很多介于两者之间的其他选择。他们的电脑配备了 Ubuntu 或 Pop!_OS,这是该公司自己的基于 Ubuntu 的 Linux 发行版,并有终身支持。System76 也支持 [维修权法案][6]。虽然不是唯一一家销售安装 Linux 系统的电脑的厂商,但他们肯定是最受欢迎的厂商之一。
|
||||||
|
|
||||||
|
- **价格不一**
|
||||||
|
|
||||||
|
### 树莓派 400 个人电脑套件
|
||||||
|
|
||||||
|
![Raspberry Pi 400 Kit][7]
|
||||||
|
|
||||||
|
树莓派几乎不需要介绍。自从 2012 年第一款树莓派风靡全球以来,树莓派一直是最受欢迎的单板计算机之一,可用于教育、业余爱好者和手工爱好者们。[树莓派 400 个人电脑套件][8] 延续了这一趋势。除了一个显示器之外,这个套件包含了人们开始使用所需的一切。花 100.00 美元,你就可以得到树莓派 400(树莓派 4 系列的一个变种,内置于一个键盘外壳中)、一只鼠标、电源、micro HDMI 转 HDMI 电缆、一张预装树莓派操作系统的 SD 卡,以及一本《树莓派初学者指南》。虽然树莓派 400 不是世界上最强大的计算机,但对于你的礼物清单上的孩子来说,树莓派 400 完全可以作为一个得当的入门计算机。
|
||||||
|
|
||||||
|
- **价格:100.00 美元**
|
||||||
|
|
||||||
|
### 树莓派 Build HAT
|
||||||
|
|
||||||
|
![Raspberry Pi Build HAT][9]
|
||||||
|
|
||||||
|
树莓派的诸多优势之一是它能够通过各种附加板进行扩展。最近推出的一款附加板 —— [树莓派 Build HAT][10],可以用树莓派来控制多达四个乐高技术电机或 [乐高教育 SPIKE][11] 产品系列的传感器。Build HAT 适用于任何带有 40 针 GPIO 接头的树莓派。你可以使用专门开发的 Python 库对项目进行编码。Build HAT 可以使用外部 8V 直流电源(如 [官方 Built HAT 电源][12])或 7.5V 电池组为自身、树莓派板以及乐高电机和传感器供电。
|
||||||
|
|
||||||
|
- **价格:25.00 美元(加上一个项目所需的零件和配件的费用)**
|
||||||
|
|
||||||
|
### CrowPi2
|
||||||
|
|
||||||
|
![CrowPi][13]
|
||||||
|
|
||||||
|
[CrowPi2][14] 是一个 STEM 学习项目集合,放在一个由树莓派驱动的笔记本电脑式的机箱里。CrowPi2 套件有三种尺寸:基本型、高级型和豪华型。基本型套件包括一些附件,但不包括树莓派。高级套装配备了一个拥有 4GB 内存的树莓派 4B,并有比基本套装更多的配件选择。豪华套装配备了最多的配件和一个拥有 8GB 内存的树莓派 4B。所有三个套件都有太空灰或银色可供选择。一个可选的移动电源可以在不插入电源插座时为 CrowPi2 提供电源。如果你想了解更多关于 CrowPi2 的信息,你可以阅读 Seth Kenlon 的 [对 CrowPi2 的点评][15]。
|
||||||
|
|
||||||
|
- **基本套件:339.99 美元**
|
||||||
|
- **高级套件:469.99 美元**
|
||||||
|
- **豪华套装:529.99 美元**
|
||||||
|
- **可选的移动电源:19.00 美元**
|
||||||
|
|
||||||
|
### Keebio Quefrency 键盘
|
||||||
|
|
||||||
|
推荐人:John Hall
|
||||||
|
|
||||||
|
![Keebio Quefrency键盘][16]
|
||||||
|
|
||||||
|
[Keebio Quefrency 键盘][17] 对于任何想组装自己的键盘的人来说,都是一个很好的节日礼物!它是一款 65% 键盘,这可能是大多数人愿意去做的最小的键盘,因为它有 Home、PgUp、PgDn 和方向键。它是一个分体式的人体工程学键盘,但如果你难以适应分体式的键盘,你可以将两半重新组合起来。最重要的是,最新版本的 Quefrency 有热插拔插座,所以你可以在不需要焊接任何东西的情况下组装它。
|
||||||
|
|
||||||
|
下面是一个廉价的 Quefrency 键盘组件:
|
||||||
|
|
||||||
|
* [Quefrency rev4 PCBs][18] 带有热插拔插座,加上 FR4 板(左边没有宏,右边有 65%)
|
||||||
|
* 80 + 28 美元
|
||||||
|
* [2u 稳定器(5 个)][19]
|
||||||
|
* 10 美元
|
||||||
|
* [按键开关(70 个)][20]
|
||||||
|
* 16 美元
|
||||||
|
* [键帽][21]
|
||||||
|
* 45 美元
|
||||||
|
* [2.25u G20 左空格键][22] 和 [2.75u G20 右空格键][23]
|
||||||
|
* 8 + 8 美元
|
||||||
|
* [USB C 到 USB C 键盘连接器][24]
|
||||||
|
* 4 美元
|
||||||
|
* **共计 199 美元**(不包括运费)
|
||||||
|
|
||||||
|
正如零件清单中指出的,Keebio Quefrency rev4 需要五个稳定器:
|
||||||
|
|
||||||
|
1. 左 Shift 键
|
||||||
|
2. 左空格键
|
||||||
|
3. 右空格键
|
||||||
|
4. 回车键
|
||||||
|
5. 退格键
|
||||||
|
|
||||||
|
Keebio Quefrency rev4 目标是构建 65% 键盘,它有一个缩短的右 Shift 键,不需要稳定器。许多键帽套装,甚至是相对便宜的套装,如 Artifact Bloom 和 Glorious GPBT,包括一个缩短的右 Shift 键,适合大多数像这样的键盘。难的是找到匹配的分体式空格键键帽。但你可以从 Pimp My Keyboard 等地方买到空格键的键帽,效果很好。不幸的是,几乎不可能从不同的制造商那里得到匹配的颜色。即使你选择白色键帽和白色空格键,其中一个也可能比另一个更灰。为什么不接受这种差异呢?试着将白色和灰色的键帽与红色或蓝色的空格键配对一下。
|
||||||
|
|
||||||
|
### Petoi Nybble 开源机器猫
|
||||||
|
|
||||||
|
![Petoi Nybble][25]
|
||||||
|
|
||||||
|
[Petoi Nybble 开源机器猫][26] 是一个用于建造机器宠物猫的套件。该套件包含了建造该项目所需的一切,但不包括电池。Nybble 需要两块 14500 锂离子可充电 3.7V 电池,可提供约 45 分钟的游戏时间。一旦组装完成,可以使用 Arduino IDE、Python API 或 Android/iOS 应用程序对该猫进行编程/控制。查看 [Nybble 用户手册][27] 了解更多细节。
|
||||||
|
|
||||||
|
- **价格:249.00 美元**
|
||||||
|
|
||||||
|
### 《苍穹浩瀚》小说系列
|
||||||
|
|
||||||
|
![《苍穹浩瀚》合集][28]
|
||||||
|
|
||||||
|
James S.A. Corey 的《<ruby>[苍穹浩瀚][29]<rt>Expanse</rt></ruby>》系列的最后一部小说正好在假日送礼季节推出。定于 11 月 30 日发行的《<ruby>[利维坦瀑布][30]<rt>Leviathan Falls</rt></ruby>》将结束这个史诗般的九部科幻小说系列的主要叙事,探索人类在太空的未来。按顺序,该系列的九本书是《<ruby>利维坦觉醒<rt>Leviathan Wakes</rt></ruby>》、《<ruby>卡利班之战<rt>Caliban's War</rt></ruby>》、《<ruby>阿巴顿之门<rt>Abaddon's Gate</rt></ruby>》、《<ruby>西波拉燃烧<rt>Cibola Burn</rt></ruby>》、《<ruby>复仇游戏<rt>Nemesis Games</rt></ruby>》、《<ruby>巴比伦的灰烬<rt>Babylon's Ashes</rt></ruby>》、《<ruby>波斯波利斯的崛起<rt>Persepolis Rising</rt></ruby>》、《<ruby>提亚马特之怒<rt>Tiamat's Wrath</rt></ruby>》和《<ruby>利维坦瀑布<rt>Leviathan Falls</rt></ruby>》。明年还将出版一本短篇小说和长篇小说集。这些故事和长篇小说中的大部分已经有了电子书格式,但这是第一次的印刷合集。给你身边的科幻小说读者购买该系列的第一本书,让他们开始阅读,或者给他们购买整个系列。
|
||||||
|
|
||||||
|
- **第一至第六本:17.99 美元(平装本)**
|
||||||
|
- **第七本和第八本:18.99 美元(平装本)**
|
||||||
|
- **第九本:30.00 美元(精装本)**
|
||||||
|
|
||||||
|
### 书籍
|
||||||
|
|
||||||
|
如果你正在寻找书籍推荐,而《苍穹浩瀚》的推荐并不符合你的需求,可以考虑 [这份 2021 年夏季阅读清单][31] 中的书籍。这份清单包含八本适合各种阅读口味的书籍推荐。从《<ruby>贝奥武夫<rt>Beowulf</rt></ruby>》的现代翻译到关于技术的非小说类书籍,那里应该有适合你生活中的读者的东西。如果 2021 年夏季阅读清单中没有你要找的东西,这篇文章还包含了以前所有夏季阅读清单的链接,其中提供了十多份建议清单。
|
||||||
|
|
||||||
|
- **价格不一**
|
||||||
|
|
||||||
|
### 贴纸
|
||||||
|
|
||||||
|
![终极贴纸包][32]
|
||||||
|
|
||||||
|
大流行期间的虚拟会议的一个缺点是,你无法带走从各个供应商摊位上收集的贴纸。对于那些喜欢用贴纸装饰笔记本电脑的人来说,这可能意味着他们最新的笔记本电脑目前还没有通常的装饰品。如果这听起来像你生活中的某个人,考虑给他们买一个来自 Sticker Mule 的 [Unixstickers 包][33]。该包有三种不同的尺寸:专业版,包含十张贴纸;精英版,包含专业版中的所有贴纸,再加十张贴纸;终极版,包含精英版中的所有内容,再加十张贴纸。这些贴纸涵盖了许多开源项目,使这些捆绑包成为参观供应商展位和亲临会议的贴纸交换台的下一个最佳选择。
|
||||||
|
|
||||||
|
- **专业包:1.00 美元**
|
||||||
|
- **精英包:19.00 美元**
|
||||||
|
- **终极包:24.00 美元**
|
||||||
|
|
||||||
|
### 向开源组织慈善捐赠
|
||||||
|
|
||||||
|
如果你购物清单上的人已经拥有了一切(或者不想要任何有形的礼物),可以考虑以他们的名义向开源项目进行慈善捐赠。这个 [开源组织][34] 列表中有很多组织供你选择。你、以其名义捐款的人和收到你捐款的组织都会很高兴,你的礼物有助于使开源变得更好。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/21/11/open-source-holiday-gifts
|
||||||
|
|
||||||
|
作者:[Joshua Allen Holm][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/holmja
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_gift_giveaway_box_520x292.png?itok=w1YQhNH1 (Gift box opens with colors coming out)
|
||||||
|
[2]: https://opensource.com/sites/default/files/styles/medium/public/uploads/system76_thelio.png?itok=E6HBZoMA (System76 Thelio)
|
||||||
|
[3]: https://system76.com/desktops/
|
||||||
|
[4]: https://system76.com
|
||||||
|
[5]: https://system76.com/laptops/lemur
|
||||||
|
[6]: https://blog.system76.com/post/646726872371200000/carl-testimony-hb21-1199mp3
|
||||||
|
[7]: https://opensource.com/sites/default/files/styles/medium/public/uploads/raspberry_pi_400_kit.jpg?itok=AnVA_OP9 (Raspberry Pi 400 Kit)
|
||||||
|
[8]: https://www.raspberrypi.com/products/raspberry-pi-400/
|
||||||
|
[9]: https://opensource.com/sites/default/files/styles/medium/public/uploads/raspberry_pi_build_hat.png?itok=8YVyNM-c (Raspberry Pi Build HAT)
|
||||||
|
[10]: https://www.raspberrypi.com/products/build-hat/
|
||||||
|
[11]: https://education.lego.com/
|
||||||
|
[12]: https://www.raspberrypi.com/products/build-hat-power-supply/
|
||||||
|
[13]: https://opensource.com/sites/default/files/styles/medium/public/uploads/crowpi2.png?itok=hJDaPaaz (CrowPi)
|
||||||
|
[14]: https://www.crowpi.cc/
|
||||||
|
[15]: https://opensource.com/article/21/9/raspberry-pi-crowpi2
|
||||||
|
[16]: https://opensource.com/sites/default/files/styles/medium/public/uploads/keebio_quefrency_keyboard_pcb.png?itok=M0JVlcRK (Keebio Quefrency Keyboard)
|
||||||
|
[17]: https://keeb.io/collections/quefrency-split-staggered-65-keyboard
|
||||||
|
[18]: https://keeb.io/collections/quefrency-split-staggered-65-keyboard/products/quefrency-rev-4-65-split-staggered-keyboard
|
||||||
|
[19]: https://keeb.io/collections/diy-parts/products/cherry-mx-stabilizer?variant=43449871046
|
||||||
|
[20]: https://divinikey.com/collections/linear-switches/products/gateron-milky-yellow-linear-switches?variant=32193385201729
|
||||||
|
[21]: https://drop.com/buy/artifact-bloom-series-keycap-set-vintage
|
||||||
|
[22]: https://pimpmykeyboard.com/g20-2-25-space-pack-of-4/
|
||||||
|
[23]: https://pimpmykeyboard.com/g20-2-75-space-pack-of-4/
|
||||||
|
[24]: https://keeb.io/products/usb-c-to-usb-c-cable?variant=32313985728606
|
||||||
|
[25]: https://opensource.com/sites/default/files/styles/medium/public/uploads/petoi_nybble_open_source_robotic_cat.png?itok=zhvvBReE (Petoi Nybble)
|
||||||
|
[26]: https://www.petoi.com/pages/petoi-nybble-overview
|
||||||
|
[27]: https://nybble.petoi.com/
|
||||||
|
[28]: https://opensource.com/sites/default/files/styles/medium/public/uploads/the_expanse_books.jpg?itok=FkuizWic (The Expanse books)
|
||||||
|
[29]: https://www.jamessacorey.com/writing-type/books/
|
||||||
|
[30]: https://www.jamessacorey.com/books/leviathan-falls/
|
||||||
|
[31]: https://opensource.com/article/21/6/2021-opensourcecom-summer-reading-list
|
||||||
|
[32]: https://opensource.com/sites/default/files/uploads/ultimate_sticker_pack.png (Ultimate sticker pack)
|
||||||
|
[33]: https://www.stickermule.com/unixstickers
|
||||||
|
[34]: https://opensource.com/resources/organizations
|
@ -0,0 +1,73 @@
|
|||||||
|
[#]: subject: "What Desktop Linux Needs to Succeed in the Mainstream"
|
||||||
|
[#]: via: "https://news.itsfoss.com/what-desktop-linux-needs-to-succeed-in-the-mainstream/"
|
||||||
|
[#]: author: "Community https://news.itsfoss.com/author/team/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14189-1.html"
|
||||||
|
|
||||||
|
桌面 Linux 需要什么才能在主流中获得成功?
|
||||||
|
======
|
||||||
|
|
||||||
|
> 这是 Linux 走向大众最重要的一件事。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
你可能看过 [最近 Linus Tech Tips 关于切换到 Linux 的视频][1],以及 [他对 KDE 软件的一些抱怨的那个视频][2]。对于那些关注此事的人,我想让你们知道,我们(KDE)正在努力修复 Linus 提出的问题,你们可以在 [这里][3] 跟踪我们的进展。值得庆幸的是,大部分的问题都相当小,应该很容易解决。
|
||||||
|
|
||||||
|
关于桌面 Linux 需要什么才能成为主流的问题。[Sway][4] 开发者 [Drew DeVault 针对该视频发表了一篇文章][5],而这篇博文是我的版本。Drew 强调了可访问性,我也同意,但结论略有不同。
|
||||||
|
|
||||||
|
### 桌面 Linux 需要预装在零售硬件上才能在主流市场取得成功
|
||||||
|
|
||||||
|
就是这样。
|
||||||
|
|
||||||
|
请允许我解释一下。
|
||||||
|
|
||||||
|
人们经常被功能和可用性所困扰,这些都很重要,但它们只是达到目的的手段,本身并不是目的。如果人们根本不能得到它,质量就毫无意义。而如果没有可访问的发行版,人们就无法得到它。高质量的 Linux 发行版还不够;它们需要被预装在你可以在主流零售店买到的硬件产品上。“主流人群”会购买他们可以触摸和拿起的产品;如果在主流商店找不到它,它就不存在。
|
||||||
|
|
||||||
|
想一想,**为什么普通人都使用 Windows 或 macOS**?因为他们购买的实体电脑包含了它。iOS 或 Android 呢?它被默认装在了他们的实体智能手机上。对于“主流人群”来说,不存在用一个新的操作系统替换设备的操作系统的想法。只有 [“三点”用户][6] 才会这么做,而他们只占市场的 5% 左右。如果获得你的操作系统的唯一途径是自己安装,那么你就没有机会在主流市场取得成功。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
至于功能,人们通常只使用可用功能的很小的一部分。在可用性方面,大多数用户是 [记住他们的软件如何使用而不是理解它][7] —— 如果你真的需要,你可以记住任何东西。一个更好的用户界面会有所帮助,但是对于那些记忆这些的人来说并不是必需的,而它主要有利于那些能够识别模式,并欣赏逻辑、一致性和良好设计的高级用户(市场上 30% 的“二点及以上”人群)。因此,这些东西本身就不够好。
|
||||||
|
|
||||||
|
但这并不意味着我们应该忘记功能和可用性!一点也不。但是如果我们的目标是“走向主流”,我们就必须了解真正的受众:**是硬件供应商,而不是终端用户**。我们的目标是让软件产品有足够的吸引力,以便在供应商选购时被他们选中,因为它基本上就是这样做的。像苹果这样为知名产品定制自上而下的硬件和软件的公司很少。大多数公司都建立在第三方软件之上,这些软件需要他们内部软件团队进行最少的整合和定制工作。如果你的软件不能胜任,他们会转向下一个选择。因此,当一些硬件供应商有需求时,你的软件最好已经准备好了!
|
||||||
|
|
||||||
|
而硬件供应商需要什么?
|
||||||
|
|
||||||
|
* **灵活性**。你的软件必须容易适应他们的任何类型的设备,而不需要大量的定制工程,他们将在产品的生命周期中负责支持。
|
||||||
|
* **能使他们的设备看起来不错的功能**。对其物理硬件特性的支持、良好的性能、令人愉快的用户界面……人们购买它的理由基本上是这些。
|
||||||
|
* **稳定性**。不能崩溃并将用户抛弃在命令行终端提示符下。必须可以实际工作。不能让人感觉像一个业余的科学展览会项目。
|
||||||
|
* **可用性要足够好,以减少支持成本**。当出现问题时,“主流人群”会联系他们的硬件供应商。可用性需要足够好,以便尽可能少地发生这种情况。
|
||||||
|
|
||||||
|
它不需要完美。它只需要做这些事情。这就是 Windows 在 90 年代征服了个人电脑市场的方式,尽管它很糟糕!而我们的东西要好得多!
|
||||||
|
|
||||||
|
我看到有证据表明 KDE 已经是这样了。Pine 在 [PinePhone][8] 和 [PineBook Pro][9] 上分别为 Manjaro 提供了 Plasma 的移动版和桌面版。Valve 也为 [Steam Deck][10] 选择了 Plasma 的桌面版,在他们的新版 SteamOS 中取代了 GNOME。我认为 KDE 软件定位良好,并且一直在变得更好。因此,让我们继续加倍努力提供硬件供应商销售其出色产品所需的东西。
|
||||||
|
|
||||||
|
原文由 KDE 开发者 Nate Graham 发表在他的 [博客 PointiestStick][11] 中。 本文经许可后转载。所表达的观点代表作者自己,可能不能反映我们的观点。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/what-desktop-linux-needs-to-succeed-in-the-mainstream/
|
||||||
|
|
||||||
|
作者:[Nate Graham][11]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/team/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://linux.cn/article-14053-1.html
|
||||||
|
[2]: https://www.youtube.com/watch?v=TtsglXhbxno&list=PL8mG-RkN2uTyhe6fxWpnsHv53Y1I-K3yu&index=3
|
||||||
|
[3]: https://invent.kde.org/teams/usability/issue-board/-/boards/7723
|
||||||
|
[4]: https://swaywm.org/
|
||||||
|
[5]: https://drewdevault.com/2021/12/05/What-desktop-Linux-needs.html
|
||||||
|
[6]: https://pointieststick.com/2021/11/29/who-is-the-target-user
|
||||||
|
[7]: https://pointieststick.com/2021/11/30/more-about-those-zero-dot-users/
|
||||||
|
[8]: https://www.pine64.org/pinephone/
|
||||||
|
[9]: https://www.pine64.org/pinebook-pro/
|
||||||
|
[10]: https://www.steamdeck.com/
|
||||||
|
[11]: https://pointieststick.com/2021/12/09/what-desktop-linux-needs-to-succeed-in-the-mainstream/
|
@ -0,0 +1,85 @@
|
|||||||
|
[#]: subject: "10 reasons to love Linux in 2021"
|
||||||
|
[#]: via: "https://opensource.com/article/21/12/reasons-love-linux"
|
||||||
|
[#]: author: "Joshua Allen Holm https://opensource.com/users/holmja"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14207-1.html"
|
||||||
|
|
||||||
|
2021 总结:Linux 方面的 10 篇好文章
|
||||||
|
======
|
||||||
|
|
||||||
|
> 以下是 10 篇最受欢迎的 Linux 文章。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2021 年,我们发表了远超 [150 篇的 Linux 方面的文章][2]。从桌面 Linux 用户小工具的文章到将 Linux 作为服务器操作系统的教程,以及介乎于两者之间的各种场景,这些文章已经涵盖了 Linux 生态系统的许多方面。所有这些文章都值得你花时间去阅读,但你可以从今年发表的这十篇好文章开始阅读。
|
||||||
|
|
||||||
|
### 3 个开源工具,使 Linux 成为理想的工作站
|
||||||
|
|
||||||
|
在这篇文章中,Seth Kenlon 介绍了 LibreOffice、AbiWord、Gnumeric 和 Pandoc,涵盖了 [使 Linux 成为理想工作站的工具][3]。他解释了在使用 Linux 作为桌面操作系统时,这些应用程序如何使你的工作效率提高。文章探讨了一些高级功能,如 LibreOffice 的无头模式,并提供了如何充分利用每个应用程序的小技巧。
|
||||||
|
|
||||||
|
### 为什么我在 Linux 上使用 exa 而不是 ls
|
||||||
|
|
||||||
|
`ls` 命令是 Linux 中最常用的终端命令之一,但你知道它有一个现代的替代品,提供了许多有益的改进吗?Sudeshna Sur 的 [文章][4] 介绍了 `exa` 命令以及它相比 `ls` 的优势,讨论了 `exa` 如何跟踪添加到 Git 仓库的新文件、显示目录和文件树等等。
|
||||||
|
|
||||||
|
### 我喜欢在 Linux 上编码的 5 个原因
|
||||||
|
|
||||||
|
像许多人一样,Seth Kenlon 喜欢在 Linux 上编码。在这篇文章中,他分享了这样做的 [五个原因][5]。他喜欢在 Linux 上编码,因为它建立在逻辑的基础上,可以让你欣赏代码之间的关联,提供了源代码,并提供直接访问外设和抽象层的能力,使编写代码更容易。
|
||||||
|
|
||||||
|
### 在 Linux 上使用可启动的 USB 驱动器来拯救 Windows 用户
|
||||||
|
|
||||||
|
即使你喜欢 Linux,但有时你可能需要修复一台 Windows 电脑或为某人安装 Windows。在 Linux 上从 Windows ISO 创建一个可启动的 U 盘,并不像为 Linux 发行版制作一个可启动的 U 盘那样简单明了。在这个教程中,Don Watkins 演示了 [如何使用 WoeUSB][6],这个工具可以为用户处理这个过程中所有棘手的部分。
|
||||||
|
|
||||||
|
### 4 个用于运行 Linux 服务器的开源工具
|
||||||
|
|
||||||
|
当使用 Linux 作为服务器操作系统时,Seth Kenlon 推荐了这 [四个开源工具][7]: Samba、Snapdrop、VLC 和 PulseAudio。正如 Seth 在他的文章中所指出的,这四个工具使得用 Linux 进行文件共享和流媒体变得很容易。
|
||||||
|
|
||||||
|
### 3 个你需要尝试的 Linux 终端
|
||||||
|
|
||||||
|
Linux 有许多不同的终端模拟器。Seth Kenlon 的这篇文章推荐了 [3 个 Linux 终端][8],值得一试:Xfce 终端、rxvt-unicode 和 Konsole。他提供了每一个的简要概述,并指出了每个终端模拟器的优势。
|
||||||
|
|
||||||
|
### 在你的 Linux 家庭实验室中运行 Kubernetes 的另外 5 个理由
|
||||||
|
|
||||||
|
在 Seth Kenlon 2020 年的文章《[在树莓派家庭实验室上运行 Kubernetes 的五个理由][9]》的续篇中,他给出了 [在 Linux 家庭实验室中运行 Kubernetes 的另外五个理由][10]:Kubernetes 建立在Linux 的基础上,它很灵活,学习它可以为你提供个人发展,它使容器变得有意义,而且它有利于云原生开发。他还提供了一个额外的理由:因为它很有趣。
|
||||||
|
|
||||||
|
### 6 个开源工具和技巧,为初学者保障 Linux 服务器的安全
|
||||||
|
|
||||||
|
Sahana Sreeram 提供了 [保证 Linux 服务器安全的六个优秀技巧][11]。这个教程着眼于更新软件、启用防火墙、加强密码保护、禁用非必要的服务、检查监听端口,以及扫描恶意软件。Sahana 提供的技巧可以帮助 Linux 初学者学习保持 Linux 服务器安全的基本知识。
|
||||||
|
|
||||||
|
### Linux 如何使一所学校为大流行病做好准备
|
||||||
|
|
||||||
|
Don Watkins 采访了威斯康星州莫诺纳市 [圣心玛利亚学校][12] 的教师 Robert Maynord,介绍了该校 [将他们的电脑换成 Linux][13] 的情况。Maynord 分享了关于他是如何对 Linux 感兴趣的轶事,他为把学校的计算机换成 Linux 所采取的第一个步骤,Linux 如何使学校受益等等。Don 在这次采访中提出了许多很好的问题,Maynord 为有意采用 Linux 的学校提供了许多有用的信息。
|
||||||
|
|
||||||
|
### 在 Linux 上运行你喜欢的 Windows 应用程序
|
||||||
|
|
||||||
|
有时,在切换到 Linux 之后,你仍然需要那个只在 Windows 下运行的特定应用程序,或者真的想玩那个只能在 Windows 下运行的游戏。在这篇文章中,Seth Kenlon 提供了一个关于如何 [在 Linux 上运行你喜欢的 Windows 应用程序][14] 的教程。做到这一点的工具是 WINE。Seth 解释了什么是 WINE,它是如何工作的,以及如何在你的 Linux 计算机上安装它,以便你可以运行你最喜欢的 Windows 应用程序。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/21/12/reasons-love-linux
|
||||||
|
|
||||||
|
作者:[Joshua Allen Holm][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/holmja
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/car-penguin-drive-linux-yellow.png?itok=twWGlYAc (Penguin driving a car with a yellow background)
|
||||||
|
[2]: https://opensource.com/tags/linux
|
||||||
|
[3]: https://linux.cn/article-13133-1.html
|
||||||
|
[4]: https://linux.cn/article-13972-1.html
|
||||||
|
[5]: https://opensource.com/article/21/2/linux-programming
|
||||||
|
[6]: https://linux.cn/article-13143-1.html
|
||||||
|
[7]: https://linux.cn/article-13192-1.html
|
||||||
|
[8]: https://linux.cn/article-13186-1.html
|
||||||
|
[9]: https://opensource.com/article/20/8/kubernetes-raspberry-pi
|
||||||
|
[10]: https://opensource.com/article/21/6/kubernetes-linux-homelab
|
||||||
|
[11]: https://linux.cn/article-13298-1.html
|
||||||
|
[12]: https://www.ihmcatholicschool.org/
|
||||||
|
[13]: https://opensource.com/article/21/5/linux-school-servers
|
||||||
|
[14]: https://linux.cn/article-13184-1.html
|
@ -0,0 +1,95 @@
|
|||||||
|
[#]: subject: "10 Git tutorials to level up your open source skills in 2022"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/git-tutorials"
|
||||||
|
[#]: author: "Manaswini Das https://opensource.com/users/manaswinidas"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "stevenzdg988"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14194-1.html"
|
||||||
|
|
||||||
|
2021 总结:提升 Git 技能的 10 篇指南
|
||||||
|
======
|
||||||
|
|
||||||
|
> 这些文章包含了黑科技、鲜为人知的事实,以及在使用 Git 时可以派上用场的技巧和窍门。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Git 是代码协作开发工作流程中不可或缺的一部分。无论你是初学者还是专家,第一件事就是在使用开源代码时需要学习这个功能强大的版本控制系统。对于 Git,不需要知道所有事情,但是了解一些特殊的黑科技可以让你在 GitLab 等平台上更轻松地分享代码,因此你可以与不同地方的开发人员协作。如果有什么没把握的地方,`git --help` 可以帮助你。
|
||||||
|
|
||||||
|
我每天都为了解 Git 所提供的控制能力而感到惊讶。没有哪种情况是你无法恢复到早期版本的,无论你所处的情况是多么不可能或棘手。
|
||||||
|
|
||||||
|
在 2021 年我们发布了大量 Git 的文章;我只汇总了其中前 10 篇,这些文章包含了各种黑科技、鲜为人知的事实,以及在使用 Git 时可以派上用场的技巧和窍门。
|
||||||
|
|
||||||
|
### 使用 git stash 命令的实用指南
|
||||||
|
|
||||||
|
[Ramakrishna Pattnaik][2] 解释了 [git stash 命令][3] 的功能。这篇文章重点介绍 `git stash` 如何帮助你列出、检查、保存和恢复更改,以确保切换分支时的无忧体验。它还可以帮助你跟踪在本地无需提交的更改,而同时保持干净的工作目录。
|
||||||
|
|
||||||
|
### 5 个让你的 Git 技能更上一层楼的 Git 命令
|
||||||
|
|
||||||
|
[Seth Kenlon][4] 详细介绍了 [五个鲜为人知的 Git 命令][5],它们可以让你的生活更轻松。开发人员可以使用 `git whatchanged`、`git stash`、`git worktree` 和 `git cherry-pick` 等命令来节省时间。
|
||||||
|
|
||||||
|
### Git cherry-pick 简介
|
||||||
|
|
||||||
|
[Rajeev Bera][6] 教程将引导你了解 [git cherry-pick 命令][7] 是什么,为什么和如何使用它,并列出 `git cherry-pick` 可以帮助你避免棘手的情况所有用例。
|
||||||
|
|
||||||
|
### 3 个使用 git cherry-pick 命令的原因
|
||||||
|
|
||||||
|
我分享了 [利用 git cherry-pick][8] 如何帮助你避免冗余,一次性处理多个提交并恢复丢失的更改。
|
||||||
|
|
||||||
|
### 使用 git worktree 自由地尝试你的代码
|
||||||
|
|
||||||
|
`git stash` 命令负责将更改保存到工作目录。Seth Kenlon 向我们介绍了 `git worktree` 和几个 [git worktree 用例][9],它们可以帮助你将存储库恢复到已知状态。
|
||||||
|
|
||||||
|
### Git 上下文切换的 4 个技巧
|
||||||
|
|
||||||
|
[Olaf Alders][10] 的这篇文章讨论了使用 Git 时 [切换分支的四种不同方式][11] 的利弊。这些选项将帮助你简化工作流程,并保持干净的工作目录,而不会丢失你的更改。
|
||||||
|
|
||||||
|
### 查找 Git 提交中的更改
|
||||||
|
|
||||||
|
Seth Kenlon 解释了如何利用如 [git log 和 git whatchanged][12] 等简单命令来提取有关 Git 提交内容中更改的特定信息。这是一个有用的快捷方式,而且名字很容易记住。
|
||||||
|
|
||||||
|
### 管理主目录的 7 个 Git 技巧
|
||||||
|
|
||||||
|
Seth Kenlon 分享了 [使用 Git 管理和组织 $HOME 变量][13] 的注意事项,并解释了它如何让他的跨设备生活更实用。更好的是,这让他可以自由地尝试新想法,因为他知道他可以轻松地将它们回滚。
|
||||||
|
|
||||||
|
### GitOps 与 DevOps:有什么区别?
|
||||||
|
|
||||||
|
[Bryant Son][14] 向你介绍了 [GitOps][15],他将其描述为 DevOps 的进化版本,它使用 Git 作为单一事实来源。这篇文章还列出了其它有用资源,可用于学习 DevOps 并在开源领域找到工作。
|
||||||
|
|
||||||
|
### 开始使用 Argo CD
|
||||||
|
|
||||||
|
[Ayush Sharma][16] 详细介绍了 [Argo CD][17] 的优势,这是一种基于拉取式的 GitOps 开发工具。Argo CD 通过在 Git 中管理 Kubernetes 清单并将它们同步到集群中,为你提供两全其美的体验。
|
||||||
|
|
||||||
|
你能想到其他让你的生活更轻松的 Git 技巧吗?请在评论中告诉我们。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/git-tutorials
|
||||||
|
|
||||||
|
作者:[Manaswini Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[stevenzdg988](https://github.com/stevenzdg988)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/manaswinidas
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png?itok=-8E2ihcF (Woman using laptop concentrating)
|
||||||
|
[2]: https://opensource.com/users/rkpattnaik780
|
||||||
|
[3]: https://opensource.com/article/21/4/git-stash
|
||||||
|
[4]: https://opensource.com/users/seth
|
||||||
|
[5]: https://opensource.com/article/21/4/git-commands
|
||||||
|
[6]: https://opensource.com/users/acompiler
|
||||||
|
[7]: https://opensource.com/article/21/4/cherry-picking-git
|
||||||
|
[8]: https://opensource.com/article/21/3/git-cherry-pick
|
||||||
|
[9]: https://opensource.com/article/21/4/git-worktree
|
||||||
|
[10]: https://opensource.com/users/oalders
|
||||||
|
[11]: https://opensource.com/article/21/4/context-switching-git
|
||||||
|
[12]: https://opensource.com/article/21/4/git-whatchanged
|
||||||
|
[13]: https://opensource.com/article/21/4/git-home
|
||||||
|
[14]: https://opensource.com/users/brson
|
||||||
|
[15]: https://opensource.com/article/21/3/gitops
|
||||||
|
[16]: https://opensource.com/users/ayushsharma
|
||||||
|
[17]: https://opensource.com/article/21/8/argo-cd
|
||||||
|
[18]: https://opensource.com/how-submit-article
|
86
published/202201/20220107 Try FreeDOS in 2022.md
Normal file
86
published/202201/20220107 Try FreeDOS in 2022.md
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
[#]: subject: "Try FreeDOS in 2022"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/try-freedos"
|
||||||
|
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14204-1.html"
|
||||||
|
|
||||||
|
2021 总结:尝试 FreeDOS
|
||||||
|
======
|
||||||
|
|
||||||
|
> 为这个自由操作系统的新用户和老用户提供 15 种资源。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
在整个上世纪 80 年代和 90 年代,DOS 是桌面之王。世界各地的程序员不满足于 DOS 的专有版本,他们共同创建了一个名为 FreeDOS 的开源版本,该版本于 1994 年首次推出。[FreeDOS 项目][2] 在 2021 年及以后还在继续发展。
|
||||||
|
|
||||||
|
我们发表了几篇关于 FreeDOS 的文章,以帮助新用户开始使用 FreeDOS 和学习新程序。以下是去年我们最受欢迎的几篇 FreeDOS 文章。
|
||||||
|
|
||||||
|
### 初学 FreeDOS
|
||||||
|
|
||||||
|
你是 FreeDOS 的新手吗?如果你想了解如何启动和运行 FreeDOS 的基本知识,请查看这些文章:
|
||||||
|
|
||||||
|
* [开始使用 FreeDOS][3]:它看起来像复古计算时代,但 FreeDOS 是一个现代的操作系统,你可以用它来完成事情。
|
||||||
|
* [FreeDOS 如何启动][4]:了解你的计算机是如何引导和启动 FreeDOS 的,从开机到命令行提示符。
|
||||||
|
* [用纯文本配置 FreeDOS][5]:学习如何用 `fdconfig.sys` 文件来配置 FreeDOS。
|
||||||
|
* [如何用 CD 和 DIR 浏览 FreeDOS][6]:只需掌握两个命令,`DIR` 和 `CD`,你就可以在命令行中浏览你的 FreeDOS 系统。
|
||||||
|
* [在 FreeDOS 中设置和使用环境变量][7]:环境变量在几乎所有的命令行环境中都有用,包括 FreeDOS。
|
||||||
|
|
||||||
|
### Linux 用户的 FreeDOS
|
||||||
|
|
||||||
|
如果你已经熟悉了 Linux 的命令行,你可能想试试这些在 FreeDOS 上创造类似环境的命令和程序:
|
||||||
|
|
||||||
|
* [给 Linux 爱好者的 FreeDOS 命令][8]:如果你已经熟悉了 Linux 的命令行,可以试试这些命令来帮助你轻松进入 FreeDOS。
|
||||||
|
* [在 FreeDOS 中像 Emacs 一样编辑文本][9]:如果你已经熟悉了 GNU Emacs,你应该在 Freemacs 中感到很自在。
|
||||||
|
* [在 Linux 和 FreeDOS 之间复制文件][10]:学习如何在 FreeDOS 虚拟机和 Linux 桌面系统之间传输文件。
|
||||||
|
* [如何在 FreeDOS 上归档文件][11]:这是 FreeDOS 版本的 `tar`,在 DOS 上归档的标准方法是 Zip 和 Unzip。
|
||||||
|
* [在 FreeDOS 上使用这个怀旧的文本编辑器][12]:让人联想到 Linux ed(1),当你想用老式的方法编辑文本时,Edlin 是一种乐趣。
|
||||||
|
|
||||||
|
### 使用 FreeDOS
|
||||||
|
|
||||||
|
当你启动进入 FreeDOS,你可以使用这些很棒的工具和应用来完成工作或安装其他软件:
|
||||||
|
|
||||||
|
* [如何使用 FreeDOS 的文本编辑器][13]:FreeDOS 提供了一个用户友好的文本编辑器,叫做 FreeDOS Edit。
|
||||||
|
* [在 FreeDOS 上听音乐][14]:Mplayer 是一个开源的媒体播放器,通常可以在 Linux、Windows、Mac 和 DOS 上找到。
|
||||||
|
* [在 FreeDOS 上安装和删除软件包][15]:了解如何使用 FDIMPLES,即 FreeDOS 包管理器,在你的 FreeDOS 系统上安装和删除软件包。
|
||||||
|
* [为什么我喜欢用 GW-BASIC 在 FreeDOS 上编程][16]:BASIC 是我进入计算机编程的起点。我已经很多年没有写过 BASIC 代码了,但我对 BASIC 和 GW-BASIC 永远怀有好感。
|
||||||
|
* [用 Bywater BASIC 在 FreeDOS 上编程][17]:在你的 FreeDOS 系统上安装 Bywater BASIC,并开始尝试使用 BASIC 编程。
|
||||||
|
|
||||||
|
在其近 30 年的历程中,FreeDOS 一直试图成为一个现代 DOS。如果你想了解更多,你可以在 [FreeDOS 简史][18] 中阅读关于 FreeDOS 的起源和发展。另外,请看 Don Watkins 关于 FreeDOS 的采访:[一个大学生是如何创立一个自由和开源的操作系统][19]。
|
||||||
|
|
||||||
|
如果你想尝试 FreeDOS,请下载 2021 年 12 月发布的 FreeDOS 1.3 RC5。这个版本有大量的新变化和改进,包括更新的内核和命令 shell,新的程序和游戏,更好的国际支持,以及网络支持。从 [FreeDOS 网站][2]下载 FreeDOS 1.3 RC5。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/try-freedos
|
||||||
|
|
||||||
|
作者:[Jim Hall][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jim-hall
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen)
|
||||||
|
[2]: https://www.freedos.org/
|
||||||
|
[3]: https://linux.cn/article-13492-1.html
|
||||||
|
[4]: https://linux.cn/article-13503-1.html
|
||||||
|
[5]: https://linux.cn/article-14061-1.html
|
||||||
|
[6]: https://opensource.com/article/21/6/navigate-freedos-cd-dir
|
||||||
|
[7]: https://linux.cn/article-13995-1.html
|
||||||
|
[8]: https://linux.cn/article-14092-1.html
|
||||||
|
[9]: https://opensource.com/article/21/6/freemacs
|
||||||
|
[10]: https://linux.cn/article-13548-1.html
|
||||||
|
[11]: https://linux.cn/article-13567-1.html
|
||||||
|
[12]: https://opensource.com/article/21/6/edlin-freedos
|
||||||
|
[13]: https://opensource.com/article/21/6/freedos-text-editor
|
||||||
|
[14]: https://opensource.com/article/21/6/listen-music-freedos
|
||||||
|
[15]: https://linux.cn/article-14031-1.html
|
||||||
|
[16]: https://opensource.com/article/21/6/freedos-gw-basic
|
||||||
|
[17]: https://opensource.com/article/21/6/freedos-bywater-basic
|
||||||
|
[18]: https://linux.cn/article-13601-1.html
|
||||||
|
[19]: https://opensource.com/article/21/6/freedos-founder
|
@ -0,0 +1,177 @@
|
|||||||
|
[#]: subject: "Brave vs. Google Chrome: Which is the better browser for you?"
|
||||||
|
[#]: via: "https://itsfoss.com/brave-vs-chrome/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14213-1.html"
|
||||||
|
|
||||||
|
Brave vs. Google Chrome:哪个浏览器更适合你?
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Google Chrome 无疑是 [可用于 Linux 的最佳网页浏览器][1] 之一。无论你在什么平台上使用它,它都提供了用户体验和功能集的良好融合。
|
||||||
|
|
||||||
|
另一方面,Brave 作为跨平台可用的、以隐私为中心的开源选项而广受欢迎。
|
||||||
|
|
||||||
|
那么,你应该选择哪一个作为首选网页浏览器呢?Chrome 适合你吗?谁应该使用 Brave?
|
||||||
|
|
||||||
|
在这里,我们比较了两种浏览器的所有重要方面(包括基准测试),以帮助你做出决定。
|
||||||
|
|
||||||
|
### 用户界面
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
[Google Chrome][3] 用户界面干净、开箱即用,没有不必要的干扰。
|
||||||
|
|
||||||
|
根据我的经验,默认情况下,它与 Linux 上的(GTK)系统主题融为一体。因此,根据你的自定义设置,它可能看起来有点不同。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
如果你不在 Linux 上使用它,那么除了配色方案外,其他所有界面都基本相似。
|
||||||
|
|
||||||
|
而对于 [Brave][5],它并不能开箱即用地适应你的系统配色方案。但是,你可以在它的外观设置里启用 GTK 主题。
|
||||||
|
|
||||||
|
Brave 与 Chrome 的用户界面接近,但有一些独有的调整/选项。
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
就用户界面而言,两者都不错,都很容易使用。
|
||||||
|
|
||||||
|
但是,Brave 提供了一些自定义外观的附加选项,例如删除选项卡搜索按钮(左侧到最小化按钮)、显示完整的 URL 等。
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
如果你觉得这对你有用,Brave 就更适合你。使用 Google Chrome,你在 UI 定制方面没有太多控制权。
|
||||||
|
|
||||||
|
### 开源与专有
|
||||||
|
|
||||||
|
![][8]
|
||||||
|
|
||||||
|
Brave 是一个基于 Chromium 的开源网页浏览器。顺便说一句,我们还有一份 [不基于 Chromium 的开源浏览器][9] 的列表。
|
||||||
|
|
||||||
|
Google Chrome 也基于 Chromium,但它添加了几个专有元素,使其成为一个闭源产品。
|
||||||
|
|
||||||
|
虽然你可以期待 Brave 的开源和透明度带来的好处,但考虑到 Google 有专门的安全团队,他们在修补问题时可以非常快。
|
||||||
|
|
||||||
|
对于普通用户来说,这些都是不太关注的地方。但是,如果你更在意开源和具有透明度的软件,那么 Brave 应该是首选。另一方面,如果你不在意是否是专有代码,并且信任 Google 的产品,那么 Google Chrome 是一个选择。
|
||||||
|
|
||||||
|
如果你想要一个与 Chrome 具有相似 UI 的开源浏览器,你可能想要看看我们对 [Chrome 和 Chromium][10] 的比较来选择一个。
|
||||||
|
|
||||||
|
### 功能差异
|
||||||
|
|
||||||
|
你应该会发现两个浏览器的所有基本功能都是相似的。
|
||||||
|
|
||||||
|
但是,两者之间存在一些显著差异。
|
||||||
|
|
||||||
|
如上所述,你会注意到自定义外观的能力存在差异。
|
||||||
|
|
||||||
|
在多个设备之间同步浏览器数据的能力也存在很大差异。
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
使用 Google Chrome,你可以快速登录你的 Google 账户并将所有内容同步到你的手机和其他设备。
|
||||||
|
|
||||||
|
Brave 也可以让你同步,但对某些人来说可能不方便。你需要访问你已经使用 Brave 成功同步的设备之一。
|
||||||
|
|
||||||
|
你的同步数据并未存储在云中。因此,你必须使用二维码或密码授权将浏览数据传输/同步到另一台设备。
|
||||||
|
|
||||||
|
![][12]
|
||||||
|
|
||||||
|
因此,你必须导出书签和其他相关数据以进行外部备份。
|
||||||
|
|
||||||
|
值得庆幸的是,如果你既想要方便的同步,也想要开源浏览器,还有另一种选择。看看我们的 [Firefox 和 Brave 比较][13] 文章,了解为什么这对你来说是一个不错的选择。
|
||||||
|
|
||||||
|
除了这些差异之外,Brave 还支持 [IPFS 协议][14],这是一种旨在对抗审查的点对点安全协议。
|
||||||
|
|
||||||
|
也不要忘记,Brave 默认带有 [Brave Search][15] 作为其搜索引擎。所以,如果你更喜欢它而不是将谷歌作为 [私人搜索引擎][16],那也是一件好事。
|
||||||
|
|
||||||
|
Brave Rewards 也是一个有趣的附加功能,你可以通过启用 Brave 的隐私友好型广告获得奖励,并将其回馈给你经常访问的网站。
|
||||||
|
|
||||||
|
如果云存储服务或任何在线平台阻止了这些,你可以将使用它的资源直接共享给接收者。
|
||||||
|
|
||||||
|
总的来说,Brave 提供了许多有趣的东西。但是,Chrome 浏览器是一个更简单的选择,对许多人来说是一个方便的选择。
|
||||||
|
|
||||||
|
### 隐私角度
|
||||||
|
|
||||||
|
Brave 的跟踪保护应该有利于注重隐私的人。你可以使用 Shield 功能阻止广告和跟踪器。除此之外,如果你想要更积极阻止广告(这可能会破坏网站显示和功能),还有几个可切换使用的过滤器。
|
||||||
|
|
||||||
|
Chrome 浏览器不提供此功能。但是,你总可以使用一些以隐私为重点的 Chrome 扩展程序,而 Google 的安全浏览功能应该可以保护你免受恶意网站的侵害。
|
||||||
|
|
||||||
|
一般来说,如果你不访问黑幕网站,应该可以使用 Chrome 浏览器。而如果你关注隐私,Brave 可能是更好的选择。
|
||||||
|
|
||||||
|
### 表现
|
||||||
|
|
||||||
|
虽然 Brave 通常被认为是最快的,但在我的基准测试中似乎并非如此。这真令人吃惊!
|
||||||
|
|
||||||
|
但是,对于大多数人来说,实际的差异应该不明显。
|
||||||
|
|
||||||
|
![][17]
|
||||||
|
|
||||||
|
我使用了流行的基准测试:[JetStream 2][18]、[Speedometer 2.0][19] 和 [Basemark Web 3.0][20]。
|
||||||
|
|
||||||
|
请注意,我使用的 Linux 发行版是 **Pop!_OS 21.10**,测试的浏览器版本是 **Chrome 97.0.4692.71** 和 **Brave 97.0.4692.71**。
|
||||||
|
|
||||||
|
当然,除了浏览器之外,我没有在后台运行任何东西。我的 PC 是由 **Intel i5-11600k @4.7 GHz、32 GB 3200 MHz RAM 和 1050ti Nvidia Graphics** 驱动的。
|
||||||
|
|
||||||
|
### 安装
|
||||||
|
|
||||||
|
![][21]
|
||||||
|
|
||||||
|
Chrome 浏览器提供的 DEB/RPM 软件包以在 Ubuntu、Debian、Fedora 或 openSUSE 上下载和安装。
|
||||||
|
|
||||||
|
Brave 也支持相同的 Linux 发行版,但你必须使用终端,并按照下载页面中提到的命令进行安装。
|
||||||
|
|
||||||
|
![][22]
|
||||||
|
|
||||||
|
你可以按照我们的安装指南 [在 Fedora 中安装 Brave][23]。
|
||||||
|
|
||||||
|
它们都不能通过软件中心安装。此外,你也找不到任何 [Flatpak 包][24] 或 Snap 包。
|
||||||
|
|
||||||
|
如果你想要直接从软件中心安装,或找到一个 flatpak 包或 Snap 包,Firefox 可以满足你的需求。
|
||||||
|
|
||||||
|
### 你应该选择什么?
|
||||||
|
|
||||||
|
如果你想要更多自定义和高级功能,Brave 应该是一个令人印象深刻的选择。但是,如果你对在 Linux 发行版上使用专有浏览器没有问题,并且想要稍微更好的性能,那么 Google Chrome 是一个可行的选择。
|
||||||
|
|
||||||
|
对于注重隐私的用户来说,答案是显而易见的。但是,你必须考虑同步的便利性。因此,如果你对自己到底最在意什么感到困惑,我建议你先评估你的要求并决定你想要什么。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/brave-vs-chrome/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/best-browsers-ubuntu-linux/
|
||||||
|
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2022/01/chrome-brave-ui.png?resize=800%2C435&ssl=1
|
||||||
|
[3]: https://www.google.com/chrome/index.html
|
||||||
|
[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2022/01/google-chrome-ui.png?resize=800%2C479&ssl=1
|
||||||
|
[5]: https://brave.com
|
||||||
|
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-browser-ui.png?resize=800%2C479&ssl=1
|
||||||
|
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-appearance-options.png?resize=800%2C563&ssl=1
|
||||||
|
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/11/open-source-proprietary.png?resize=800%2C450&ssl=1
|
||||||
|
[9]: https://itsfoss.com/open-source-browsers-linux/
|
||||||
|
[10]: https://itsfoss.com/chrome-vs-chromium/
|
||||||
|
[11]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2022/01/google-chrome-sync.png?resize=800%2C555&ssl=1
|
||||||
|
[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/07/brave-sync.png?resize=800%2C383&ssl=1
|
||||||
|
[13]: https://itsfoss.com/brave-vs-firefox/
|
||||||
|
[14]: https://ipfs.io
|
||||||
|
[15]: https://itsfoss.com/brave-search-features/
|
||||||
|
[16]: https://itsfoss.com/privacy-search-engines/
|
||||||
|
[17]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2022/01/chrome-brave-benchmarks.png?resize=800%2C450&ssl=1
|
||||||
|
[18]: https://webkit.org/blog/8685/introducing-the-jetstream-2-benchmark-suite/
|
||||||
|
[19]: https://webkit.org/blog/8063/speedometer-2-0-a-benchmark-for-modern-web-app-responsiveness/
|
||||||
|
[20]: https://web.basemark.com
|
||||||
|
[21]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2022/01/google-chrome-package.png?resize=800%2C561&ssl=1
|
||||||
|
[22]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-install-linux.png?resize=800%2C325&ssl=1
|
||||||
|
[23]: https://itsfoss.com/install-brave-browser-fedora/
|
||||||
|
[24]: https://itsfoss.com/what-is-flatpak/
|
@ -0,0 +1,49 @@
|
|||||||
|
[#]: subject: "8 surprising things I learned about Python in 2021"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/python-roundup"
|
||||||
|
[#]: author: "Sumantro Mukherjee https://opensource.com/users/sumantro"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14200-1.html"
|
||||||
|
|
||||||
|
2021 总结:Python 的 8 个令人惊讶的东西
|
||||||
|
======
|
||||||
|
|
||||||
|
> 这些文章的作者们揭示了使用这一流行的编程语言的新方法。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
长期以来,Python 一直是最受欢迎的编程语言之一,但这并不意味着没有什么新东西可学。我们关于 Python 的阅读量最大的文章列表是一个很好的开始。
|
||||||
|
|
||||||
|
* 机器学习的广泛采用已经到来,其应用仍在增长。看看使用 [朴素贝叶斯][2] 分类器并通过 Python 实现的机器学习如何解决现实生活中的问题。
|
||||||
|
* 向 Python 3 的过渡已经完成,但增强功能不断涌现。Seth Kenlon 强调了 [Python 3 中的五颗隐藏的宝石][3],它们在最近的改进中脱颖而出。
|
||||||
|
* Openshot 多年来一直是 Linux 视频编辑的最佳选择之一。这篇受欢迎的文章将告诉你,你也可以用这个 Python 应用 [在 Linux 上编辑视频][4]。
|
||||||
|
* Python 最好的部分是一个程序员可以实现的无限可能。[Cython][5] 是一个编译器,不仅可以帮助加快代码执行速度,还可以让用户为 Python 编写 C 语言扩展。
|
||||||
|
* Python 可以使 API 单元测试更简单。Miguel Brito 向你展示了 [用 Python 测试 API 的三种方法][6]。
|
||||||
|
* 随着计算能力的提高,越来越多的程序在并发运行。这可能会使调试、日志记录和剖析出错的地方成为挑战。[VizTracer][7] 正是为了解决这个问题而创建的。
|
||||||
|
* 用户的个人项目,无论大小,都很好地提醒我们开源编码可以有无穷的乐趣。这里有一个鼓舞人心的项目:Darin London 如何使用 CircuitPython [监控他的温室][8]。
|
||||||
|
* Linux 用户经常会遇到需要大量命令行参数的程序,这让人很不爽。这是一个 [不错的配置解析技巧][9],可以让生活更轻松。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/python-roundup
|
||||||
|
|
||||||
|
作者:[Sumantro Mukherjee][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/sumantro
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/python-programming-code-keyboard.png?itok=fxiSpmnd (Hands on a keyboard with a Python book )
|
||||||
|
[2]: https://opensource.com/article/21/1/machine-learning-python
|
||||||
|
[3]: https://opensource.com/article/21/7/python-3
|
||||||
|
[4]: https://opensource.com/article/21/2/linux-python-video
|
||||||
|
[5]: https://opensource.com/article/21/4/cython
|
||||||
|
[6]: https://opensource.com/article/21/9/unit-test-python
|
||||||
|
[7]: https://opensource.com/article/21/3/python-viztracer
|
||||||
|
[8]: https://opensource.com/article/21/5/monitor-greenhouse-open-source
|
||||||
|
[9]: https://opensource.com/article/21/6/parse-configuration-files-python
|
@ -3,18 +3,20 @@
|
|||||||
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||||||
[#]: collector: "lujun9972"
|
[#]: collector: "lujun9972"
|
||||||
[#]: translator: "geekpi"
|
[#]: translator: "geekpi"
|
||||||
[#]: reviewer: " "
|
[#]: reviewer: "wxy"
|
||||||
[#]: publisher: " "
|
[#]: publisher: "wxy"
|
||||||
[#]: url: " "
|
[#]: url: "https://linux.cn/article-14187-1.html"
|
||||||
|
|
||||||
QPrompt 是一款为视频创作者提供的免费和开源的提词器
|
QPrompt:一款为视频创作者提供的自由开源的提词器
|
||||||
======
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
这些天来,各种各样的人都在创建视频内容。从专业的 YouTubers 到学校教师,创建视频内容已经成为各种工作内容的一部分。
|
这些天来,各种各样的人都在创建视频内容。从专业的 YouTubers 到学校教师,创建视频内容已经成为各种工作内容的一部分。
|
||||||
|
|
||||||
从屏幕记录器到视频编辑器,有各种工具可以帮助创建良好的视频。提词器也是这样的工具之一。
|
从屏幕记录器到视频编辑器,有各种工具可以帮助创建良好的视频。提词器也是这样的工具之一。
|
||||||
|
|
||||||
提词器可以运行视觉提示,甚至是完整的文本,这样演讲者就可以在讲话时接受提示。你可能已经看到新闻读者使用提词器。
|
提词器可以提供视觉提示,甚至是完整的文本,这样演讲者就可以在讲话时接受提示。你可能已经看到新闻读者使用提词器。
|
||||||
|
|
||||||
有专门的提词器软件,可以在电脑或移动设备上运行。
|
有专门的提词器软件,可以在电脑或移动设备上运行。
|
||||||
|
|
||||||
@ -26,42 +28,40 @@ QPrompt 就是这样一款软件,它可以在 Linux、Windows 和其他平台
|
|||||||
|
|
||||||
[QPrompt][2] 是一个提词器软件,适用于所有类型的视频创作者。它的主要重点是易用性和快速性能。
|
[QPrompt][2] 是一个提词器软件,适用于所有类型的视频创作者。它的主要重点是易用性和快速性能。
|
||||||
|
|
||||||
QPrompt 可与网络摄像头和手机、演播室提词器和平板提词器一起使用。它的独特能力是使其背景透明,这使得它在视频会议上表现出色。
|
QPrompt 可与 Web 摄像头和手机、演播室提词器和平板提词器一起使用。它的独特能力是使其背景透明,这使得它在视频会议上表现出色。
|
||||||
|
|
||||||
以下是 QPrompt 的亮点功能:
|
以下是 QPrompt 的亮点功能:
|
||||||
|
|
||||||
* 可与演播室提词器、平板提词器、网络摄像头和电话一起使用
|
* 可与演播室提词器、平板提词器、网络摄像头和电话一起使用
|
||||||
* 流畅移动,无抖动体验
|
* 流畅移动,无抖动
|
||||||
* 在提示的同时进行即时修改
|
* 可以在提示的同时进行即时修改
|
||||||
* 从其他软件中粘贴,不费力气
|
* 从其他软件中粘贴,不费力气
|
||||||
* 为你估算剩余时间
|
* 为你估算剩余时间
|
||||||
* 使用标记来跳到脚本的任何地方
|
* 使用标记来跳到脚本的任何地方
|
||||||
* 向多个屏幕提示,有独立的镜像功能
|
* 向多个屏幕提示,有独立的镜像功能
|
||||||
* 背景透明,让你在讲话时可以监视你自己或你的听众
|
* 背景透明,让你在讲话时可以看到你自己或你的听众
|
||||||
* 内置的计时器
|
* 内置的计时器
|
||||||
* 进度指示器
|
* 进度指示器
|
||||||
* 丰富的文本格式
|
* 丰富的文本格式
|
||||||
* 支持超过 180 种语言的书写系统
|
* 支持超过 180 种语言的书写系统
|
||||||
|
|
||||||
|
QPrompt 中的 “Q” 提示该应用是使用 Qt 框架制作的。它的用户界面使用 [Kirigami 框架][3]。所有这些都使它成为 KDE 上的一个很好的选择,但在 GNOME 中也是如此。
|
||||||
|
|
||||||
QPrompt 中的 “Q” 提示该应用是使用 Qt 框架制作的。它的用户界面使用 [Kirigami 框架][3]。所有这些都使它成为 KDE 的一个很好的选择,但在 GNOME 中也是如此。
|
|
||||||
|
|
||||||
### 安装 QPrompt
|
### 安装 QPrompt
|
||||||
|
|
||||||
![QPrompt running in Ubuntu][4]
|
![QPrompt running in Ubuntu][4]
|
||||||
|
|
||||||
QPrompt 是一个免费的开源软件,它可以用于 Linux、Windows和 macOS。也有适用于安卓设备的 APK,但目前还不稳定。
|
QPrompt 是一个自由开源软件,它可以用于 Linux、Windows 和 macOS。也有适用于安卓设备的 APK,但目前还不稳定。
|
||||||
|
|
||||||
Linux 用户可以选择 AppImage、Snap 和 Deb文件。在写这篇文章的时候,Flatpak 包正在开发中。
|
Linux 用户可以选择 AppImage、Snap 和 Deb文件。在写这篇文章的时候,Flatpak 包正在开发中。
|
||||||
|
|
||||||
你可以从该项目网站的下载区获得 AppImage。
|
你可以从该项目网站的下载区获得 AppImage。
|
||||||
|
|
||||||
[下载 AppImage 格式的 QPrompt][2]
|
- [下载 AppImage 格式的 QPrompt][2]
|
||||||
|
|
||||||
其他安装选项可在其 GitHub 仓库的发布页面上找到:
|
其他安装选项可在其 GitHub 仓库的发布页面上找到:
|
||||||
|
|
||||||
[其他下载选项][5]
|
- [其他下载选项][5]
|
||||||
|
|
||||||
### 总结
|
### 总结
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ via: https://itsfoss.com/qprompt/
|
|||||||
作者:[Abhishek Prakash][a]
|
作者:[Abhishek Prakash][a]
|
||||||
选题:[lujun9972][b]
|
选题:[lujun9972][b]
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
@ -0,0 +1,88 @@
|
|||||||
|
[#]: subject: "Run containers on Linux without sudo in Podman"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/run-containers-without-sudo-podman"
|
||||||
|
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14190-1.html"
|
||||||
|
|
||||||
|
无需 sudo 使用 Podman 在 Linux 上运行容器
|
||||||
|
======
|
||||||
|
|
||||||
|
> 配置你的系统使用无根容器。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
容器是现代计算的一个重要组成部分,随着围绕容器的基础设施的发展,新的和更好的工具开始浮出水面。过去,你只需用 [LXC][2] 就可以运行容器,然而随着 Docker 得到了普及,它开始变得越来越复杂。最终,我们在 [Podman][3] 得到了我们所期望的容器管理系统:一个无守护进程的容器引擎,它使容器和吊舱易于构建、运行和管理。
|
||||||
|
|
||||||
|
容器直接与 Linux 内核能力(如控制组和命名空间)交互,它们在这些命名空间中产生大量的新进程。简而言之,运行一个容器实际上就是在 Linux 系统内部运行一个 Linux 系统。从操作系统的角度来看,它看起来非常像一种管理和特权活动。普通用户通常不能像容器那样自由支配系统资源,所以默认情况下,运行 Podman 需要 root 或 `sudo` 权限。然而,这只是默认设置,而且这绝不是唯一可用的设置。本文演示了如何配置你的 Linux 系统,使普通用户可以在不使用 `sudo` 的情况下(“<ruby>无根<rt>rootless</rt></ruby>”)运行 Podman。
|
||||||
|
|
||||||
|
### 命名空间的用户 ID
|
||||||
|
|
||||||
|
[内核命名空间][4] 本质上是一种虚构的结构,可帮助 Linux 跟踪哪些进程属于同一类。这是 Linux 中的“队列护栏”。一个队列中的进程与另一个队列中的进程之间实际上没有区别,但可以将它们用“警戒线”彼此隔离。要声明一组进程为“容器”,而另一组进程为你的操作系统,将它们分开是关键。
|
||||||
|
|
||||||
|
Linux 通过用户 ID(UID)和组 ID(GID)来跟踪哪个用户或组拥有的进程。通常情况下,一个用户可以访问一千个左右的从属 UID,以分配给命名空间的子进程。由于 Podman 运行的是分配给启动容器的用户的整个从属操作系统,因此你需要的不仅仅是默认分配的从属 UID 和从属 GID。
|
||||||
|
|
||||||
|
你可以用 `usermod` 命令授予一个用户更多的从属 UID 和从属 GID。例如,要授予用户 `tux` 更多的从属 UID 和从属 GID,选择一个还没分配用户的适当的高 UID(如 200000),然后将其增加几千:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo usermod \
|
||||||
|
--add-subuids 200000-265536 \
|
||||||
|
--add-subgids 200000-265536 \
|
||||||
|
tux
|
||||||
|
```
|
||||||
|
|
||||||
|
### 命名空间访问
|
||||||
|
|
||||||
|
对命名空间数量也有限制。这通常被设置得很高。你可以用 `systctl`,即内核参数工具来验证用户的命名空间分配:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sysctl --all --pattern user_namespaces
|
||||||
|
user.max_user_namespaces = 28633
|
||||||
|
```
|
||||||
|
|
||||||
|
这是很充足的命名空间,而且可能是你的发行版默认设置的。如果你的发行版没有这个属性或者设置得很低,那么你可以在文件 `/etc/sysctl.d/userns.conf` 中输入这样的文本来创建它:
|
||||||
|
|
||||||
|
```
|
||||||
|
user.max_user_namespaces=28633
|
||||||
|
```
|
||||||
|
|
||||||
|
加载该设置:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo sysctl -p /etc/sysctl.d/userns.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
### 在没有 root 权限的情况下运行一个容器
|
||||||
|
|
||||||
|
当你设置好你的配置,重启你的计算机,以确保你的用户和内核参数的变化被加载和激活。
|
||||||
|
|
||||||
|
重启后,试着运行一个容器镜像:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ podman run -it busybox echo "hello"
|
||||||
|
hello
|
||||||
|
```
|
||||||
|
|
||||||
|
### 容器像命令一样
|
||||||
|
|
||||||
|
如果你是第一次接触容器,可能会觉得很神秘,但实际上,它们与你现有的 Linux 系统没有什么不同。它们实际上是在你的系统上运行的进程,没有仿真环境或虚拟机的成本和障碍。容器和你的操作系统之间的区别只是内核命名空间,所以它们实际上只是带有不同标签的本地进程。Podman 使这一点比以往更加明显,当你将 Podman 配置为无根命令,容器感觉更像命令而不是虚拟环境。Podman 使容器和吊舱变得简单,所以请试一试。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/run-containers-without-sudo-podman
|
||||||
|
|
||||||
|
作者:[Seth Kenlon][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/seth
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/command_line_prompt.png?itok=wbGiJ_yg (Command line prompt)
|
||||||
|
[2]: https://opensource.com/article/18/11/behind-scenes-linux-containers
|
||||||
|
[3]: http://podman.io
|
||||||
|
[4]: https://opensource.com/article/19/10/namespaces-and-containers-linux
|
@ -0,0 +1,112 @@
|
|||||||
|
[#]: subject: "How to build an open source metaverse"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/open-source-metaverse"
|
||||||
|
[#]: author: "Josip Almasi https://opensource.com/users/jalmasi"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14218-1.html"
|
||||||
|
|
||||||
|
如何建立一个开源的元宇宙
|
||||||
|
======
|
||||||
|
|
||||||
|
> 开源世界是建立元宇宙的首选之地。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
如果我告诉你,构建元宇宙所需要的所有内容和软件都已经有了,而且完全免费,你会去构建吗?
|
||||||
|
|
||||||
|
先别急,让我们退一步来解释一下元宇宙。
|
||||||
|
|
||||||
|
### 什么是元宇宙?
|
||||||
|
|
||||||
|
20 世纪的赛博朋克作家,如 Gibson 和 Stephenson,都曾想象过由虚拟现实支持的互联网,在 Stephenson 的小说《雪崩<rt>Snow Crash</rt></ruby>》中,他将其称之为<ruby>元宇宙<rt>Metaverse</rt></ruby>。随着<ruby>虚拟现实<rt>virtual reality</rt></ruby>(VR)设备和应用程序的日益普及,尤其是在马克•扎克伯格宣布将雇佣 1 万人来打造它,并将 Facebook 的公司名称改为 Meta 之后,元宇宙正在成为一个热门词汇。Matthew Ball 对该话题进行了 [认真分析][2],并以“共同构建”作为结论:“事实上,最有可能的是,元宇宙是来自不同的平台、机构和技术的网络中,它们协同配合(无论多么不情愿),并拥抱互操作性。”
|
||||||
|
|
||||||
|
互操作性,这个词本身含蓄而清楚地指出了开源和开放标准在其中的作用。
|
||||||
|
|
||||||
|
因此,简而言之,它就是支持 VR 的互联网。
|
||||||
|
|
||||||
|
### 如何建立一个开源的元宇宙?
|
||||||
|
|
||||||
|
就像互联网上的网络服务器一样,你需要 VR 服务器。不过不用担心,我写了一个,而且 [介绍它的文章][3] 大约一年前就发表在这里了。当然,你需要支持 VR 的网络浏览器,但网络浏览器已经支持视频/音频流(WebRTC)以及 VR 和 AR(WebXR)。此外,你还需要大量 3D 内容,最好是开源标准的 glTF 格式。幸运的是,[Sketchfab][4] 拥有 50 万个以上的免费 3D 模型,由大量的作者在<ruby>知识共享许可<rt>Creative Commons licenses</rt></ruby>下发布。Sketchfab 并不是唯一一家这样做的公司,但他们提供了 REST API 来搜索和下载这些模型。
|
||||||
|
|
||||||
|
### 别忘了键盘
|
||||||
|
|
||||||
|
在 VR 中已经待了一段时间了,我可以用亲身体验告诉你我最怀念的是什么:键盘!我在键盘上写代码,但当我戴上 VR 眼镜时,它就消失了。你可以想象,摘下和戴上 VR 设备是多么的混乱。不仅如此,我还需要在 VR 中看到我的代码。那么为什么要止步于此呢?为什么我在 VR 中看不到每一个应用程序呢?许多人都在使用两个或更多的显示器。在 VR 中,你可以随处布置窗口。这比多少个屏幕都要好。而一旦到了这一步,你就可以真正地谈论元宇宙了。
|
||||||
|
|
||||||
|
说实话,VR 设备仍处于起步阶段,它无疑还缺少许多功能。但是,VR 设备将得到改善,并最终包括键盘、更好的摄像头以及在现实中叠加虚拟的能力。在此期间,我们将继续戴上和摘下护目镜,以其他方式处理其他障碍。
|
||||||
|
|
||||||
|
### 那么我还等什么呢?
|
||||||
|
|
||||||
|
你不需要等待。无论是爱好者还是公司,都正在努力。而且你现在就可以开始在网络上建立你的虚拟世界。下面的视频解释了如何使用现有的免费模型来制作虚拟世界。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
在底层,VRSpace 网络客户端使用一个开源的 JavaScript WebGL 库 Babylon.js 来加载 glTF 内容并使用 WebGL 渲染。它调用 Sketchfab REST API 的搜索功能(服务器所有者必须在那里有一个账户)。点击了一个模型,它就会让 VRSpace 服务器获取它。服务器下载它(仅当它之前没有下载的情况下),并将其交付给客户端。空间中发生的一切都会被广播(实际上是通过 WebSockets 进行多播)给所有连接的用户,所以他们都会看到同样的移动和物体大小的调整。当然,他们可以通过文本信息或语音进行聊天。通过点击右下角的 VR 眼镜按钮,用户可以立即进入 VR。用户还可以共享屏幕,尽管不在此空间中。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
而这一切都只使用现有的标准网络技术和免费的软件和内容。它不仅适用于 PC 和 VR 设备,也适用于移动设备。然而,移动版 Chrome 浏览器并没有启用 VR 功能。它在第一次尝试进入 VR 时会提示下载谷歌 VR。
|
||||||
|
|
||||||
|
由于它是开放的,这在目前来说是可互操作的。但对于元宇宙(支持 VR 的互联网)所需的大规模来说,它的互操作性还远远不够。以头像为例。我在 LinkedIn、Facebook 以及 Opensource.com 上使用相同的图片作为我的头像。我怎么能把我的 3D 头像上传到 VRSpace 或其他地方呢?
|
||||||
|
|
||||||
|
好吧,我不能。上传本身并不是一个问题。当然,文件格式(glTF)也不是问题。问题出现在头像结构上,因为它没有标准化。所以,比如说,不同的人物有不同的骨头数量。然后,本应是微不足道的必备功能,如用虚拟手拿东西,却变得极其复杂。我已经分析了 100 多个免费的角色,并将我的发现作为研究论文发表:《[迈向人形 3D 角色的自动骨架识别][5]》,希望它能帮助其他作者实现互操作性。
|
||||||
|
|
||||||
|
而这只是一个开始,是我们进入一个共享的虚拟世界需要做的第一件事。
|
||||||
|
|
||||||
|
![VRSpace 的免费头像][6]
|
||||||
|
|
||||||
|
### 知识产权
|
||||||
|
|
||||||
|
知识产权呢?你可能会说,这都是开源的!嗯,确实如此。作者们是如此善良,让别人使用他们的创作。用户至少可以做的是给他们点赞。知识共享许可的实际条款要求用户明确归功于作者。为此,我特别注意在搜索结果中显示作者的名字,而且作者信息被嵌入每个 glTF 文件的元数据部分。但是,即使是需要额外的工作的免费东西,我无法想象它变成专有内容会多么可怕。
|
||||||
|
|
||||||
|
### NFT和区块链
|
||||||
|
|
||||||
|
转念一想,我可以想象到。它需要 NFT、区块链,以及其他什么东西。快速搜索“元宇宙 区块链”为我提供了 _极好的购买机会_,并建议了 _最好的购买方案_。好吧,我不买。记住我的话。试图出售加密货币的人是不会建立元宇宙的。
|
||||||
|
|
||||||
|
这并不是说区块链在这里没有用,因为即使是免费的内容,你也必须对作者进行追踪。面对成千上万的免费模型,这必须以某种方式自动化,而分布式账本可能正是正确的解决方案。
|
||||||
|
|
||||||
|
话说回来,像 Sketchfab 这样的数字内容提供商并不只提供免费模型,他们还出售内容。毕竟,这就是他们谋生的方式。从技术上讲,在你的虚拟世界中使用这些专有内容,你需要做的就是把代码中的一个 `true` 改为 `false`,字面上的。但是,一旦你下载了它,没有人可以阻止你分享它。然而,在法律上,许可证禁止你这样做。NFT 可以证明所有权,可以购买,可以出售,但不能执行版权。内容提供商最终会明白这一点,但我担心的不是他们。这对普通用户有实际影响,与我反复被问到的一个具体问题有关。我可以自己制作或购买我自己的头像,而且只能是我的,不能被其他人使用吗?但技术不能阻止任何人复制它。就像我可以从 LinkedIn 复制你的头像图片,并将其作为我在 Facebook 上的图片。但你想想,为什么会有人想这么做?
|
||||||
|
|
||||||
|
有趣的是,我已经有一个 VRSpace 的商业实现。一个由自由软件驱动的 3D 多用户视频和音频流媒体网站,提供专有内容。在上锁的门后,付费进入 —— 就这么简单。而且它不妨碍建立元宇宙。然而,每个人都有自己独特的头像,永远不能被其他人使用。视频头像:
|
||||||
|
|
||||||
|
![作者在 VRSpace 的视频头像][8]
|
||||||
|
|
||||||
|
你想成为你自己,而不是其他人。只要点击视频按钮,就这么简单。当然,浏览器会提示你是否允许流式传输你的视频和音频。这个功能在日常生活中被广泛使用,以至于我们并没有把它和元宇宙联系起来,赛博朋克的作者们也没有设想到这一点。随着时间的推移,这种 _我就是我_ 的方法将发展为运动跟踪和视频流映射到我们的 3D 头像上,但它仍将在昂贵的电影和视频游戏领域停留一段时间。
|
||||||
|
|
||||||
|
现在,你已经瞥见了 VRSpace 服务器的所有功能,除了 Oauth2 认证。反正你知道它是如何工作的。一个网站将你重定向到你选择的另一个网站,你在那里登录,然后被认证回来。这就是上述所有的简化图。
|
||||||
|
|
||||||
|
![VR 组件图][9]
|
||||||
|
|
||||||
|
### 现场演示
|
||||||
|
|
||||||
|
在 [VRSpace.org][10] 上有一个现场演示,一直在运行最新的代码,欢迎你在任何时候尝试。它是完全匿名访问的,没有任何形式的广告和跟踪器。试着在 VRCraft 世界中建立你的世界,但要知道,一旦你断开连接,你所做的一切都会消失 —— 这是运行一个向公众开放的匿名服务的代价。主页提供了所有的相关信息,只要访问该链接即可,或者在 [GitHub][11]、[YouTube][12] 或[Facebook][13] 上加入该项目。
|
||||||
|
|
||||||
|
非常感谢早期采用者的帮助,使项目达到这个阶段 —— 所有作者的免费模型、Sketchfab 提供的访问,以及 Babylon.js 社区,使这一切都能跨平台运作。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/open-source-metaverse
|
||||||
|
|
||||||
|
作者:[Josip Almasi][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jalmasi
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/innovation_virtual_gadgets_device_drone.png?itok=JTAgRb-1 (new techie gadgets representing innovation)
|
||||||
|
[2]: https://www.matthewball.vc/all/themetaverse
|
||||||
|
[3]: https://opensource.com/article/20/12/virtual-reality-server
|
||||||
|
[4]: https://sketchfab.com/
|
||||||
|
[5]: https://www.researchgate.net/publication/356987355_TOWARDS_AUTOMATIC_SKELETON_RECOGNITION_OF_HUMANOID_3D_CHARACTER
|
||||||
|
[6]: https://opensource.com/sites/default/files/uploads/free-avatars-at-vrspace.png (Free avatars at VRSpace)
|
||||||
|
[7]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[8]: https://opensource.com/sites/default/files/uploads/author-in-vrspace.png (Author's video avatar in VRSpace)
|
||||||
|
[9]: https://opensource.com/sites/default/files/uploads/vr-components-diagram.png (VR components diagram)
|
||||||
|
[10]: https://www.vrspace.org/
|
||||||
|
[11]: https://github.com/jalmasi/vrspace
|
||||||
|
[12]: https://www.youtube.com/channel/UCLdSg22i9MZ3u7ityj_PBxw
|
||||||
|
[13]: https://www.facebook.com/vrspace.org
|
@ -0,0 +1,124 @@
|
|||||||
|
[#]: subject: "I Tried System76’s New Rust-based COSMIC Desktop!"
|
||||||
|
[#]: via: "https://news.itsfoss.com/system76-rust-cosmic-desktop/"
|
||||||
|
[#]: author: "Community https://news.itsfoss.com/author/team/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14186-1.html"
|
||||||
|
|
||||||
|
提前了解一下 System76 新的基于 Rust 的 COSMIC 桌面
|
||||||
|
=====
|
||||||
|
|
||||||
|
> 提前了解一下 Pop!_OS 即将推出的基于 Rust 的 COSMIC 桌面环境。仅供参考。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
如果你还不知道,System76 的开发者一直在 [致力于开发一个新的桌面环境][1](被称为 COSMIC),它是用 [Rust][2] 编写的,Rust 是一种内存安全的超快编程语言。
|
||||||
|
|
||||||
|
从头开始创建一个桌面环境不是一件小事。这涉及到创建从合成器、面板、窗口管理器到桌面环境的 API 和其他后端任务的一切。
|
||||||
|
|
||||||
|
这不是一件容易的事,而维护它又是另一回事。
|
||||||
|
|
||||||
|
而且,看起来 System76 已经开始了这方面的工作。
|
||||||
|
|
||||||
|
在 GitHub 上,你会发现已经有一个名为 [cosmic][3] 的仓库,但它主要是使用 JavaScript(用于创建 GNOME shell 扩展的语言)编写的。这就是 cosmic shell 扩展仓库,也就是 Pop!_OS 现在所搭载的。
|
||||||
|
|
||||||
|
在他们的 GitHub 中还有几个较新的仓库,这些恰好是他们即将推出的基于 Rust 的 COSMIC 桌面的元素。
|
||||||
|
|
||||||
|
所以,现在是时候构建、测试并提前了解一下了。
|
||||||
|
|
||||||
|
> **注:** 澄清一下,目前 Pop!_OS 上基于 GNOME 的桌面环境叫做 COSMIC。而本文讨论的是基于 Rust 的 COSMIC 桌面环境,它是从头开始构建的,旨在取代当前的产品。
|
||||||
|
|
||||||
|
### 基于 Rust 的 COSMIC 桌面体验
|
||||||
|
|
||||||
|
打算成为 COSMIC 桌面环境整体一部分的三个仓库是:
|
||||||
|
|
||||||
|
* [设置应用][4]
|
||||||
|
* [顶部面板][5](目前用于 X11 系统)
|
||||||
|
* [合成器][6](似乎支持原生的 wayland、xwayland 和 X11 系统)
|
||||||
|
|
||||||
|
#### COSMIC 设置应用
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
> **注意:** 这是一个半生不熟的早期预览,以让你有个大致印象。随着开发的继续,用户界面可能会有根本性的变化。所以,仅用于参考。
|
||||||
|
|
||||||
|
这是 Pop!_OS 的新 COSMIC 桌面的设置应用。它目前还在开发当中,没有准备好使用,不过如果你想运行它并试试界面,请随意!
|
||||||
|
|
||||||
|
那么,它看起来与目前的 COSMIC 体验有什么不同呢?
|
||||||
|
|
||||||
|
![基于 Rust 的 COSMIC 设置与基于 GNOME 的 COSMIC][8]
|
||||||
|
|
||||||
|
在写这篇文章时,该用户界面似乎没有与任何后端 API 相连接。启用和禁用 “为工作区启用左上角热角 ”的切换并没有什么变化,其他的切换也是如此,除了设置应用的 “关于” 部分所显示的信息。
|
||||||
|
|
||||||
|
仔细看截图,放置的位置很凌乱,但作为早期预览(或原型)来说也是正常的。
|
||||||
|
|
||||||
|
看起来他们正在用圆角和更干净的外观来处理一切。
|
||||||
|
|
||||||
|
切换动画感觉快速、流畅和迅捷(即使是在虚拟机内,我等不及在裸机上尝试)。但考虑到它甚至还没有功能,谈论性能没什么意义。
|
||||||
|
|
||||||
|
![][9]
|
||||||
|
|
||||||
|
就个人而言,我不喜欢他们所采用的圆角外观。在我看来,GNOME 对圆角的实现是完美的。但是,看看它的结果应该是很有趣的。
|
||||||
|
|
||||||
|
#### 顶部面板
|
||||||
|
|
||||||
|
作为 COSMIC 桌面环境的一部分,顶部面板也正在使用 Rust 语言实现。
|
||||||
|
|
||||||
|
至于这个顶部面板的外观,我不太确定如何测试它才不算对它不公平。从 GNOME 中启动它,会在 GNOME 的顶栏后面打开它。所以我想在一个单独的窗口管理器中打开它(到目前为止只用 [bspwm][10] 和 [i3-wm][11] 试过),但这导致了一些古怪的行为,比如面板像普通 GUI 软件一样占据了全部垂直空间。
|
||||||
|
|
||||||
|
#### COSMIC 合成器
|
||||||
|
|
||||||
|
COSMIC 桌面环境的合成器编译成功了,但在与 bspwm 或 i3-wm 一起使用时却无法启动。我试着在窗口管理器中启动它,因为 GNOME 不允许改变合成器。
|
||||||
|
|
||||||
|
这是由于在使用 VirtualBox 的虚拟机中,视频驱动的混乱以及 COSMIC 合成器还没有准备好。
|
||||||
|
|
||||||
|
但是,还有更多!
|
||||||
|
|
||||||
|
开发者 Eduardo Flores 也尝试了新的 COSMIC 桌面,在他的 [博客文章][12] 中分享了一些应用启动器和坞站的截图。
|
||||||
|
|
||||||
|
![来自 Eduardo Flores][13]
|
||||||
|
|
||||||
|
应用程序启动器看起来很相似,但是使用 GTK 构建的。同样,你也可以期待 [Pop!_OS 21.10][14] 引入一个类似的应用程序库,以及经典的坞站。
|
||||||
|
|
||||||
|
![来自 Eduardo Flores][15]
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
当然,现在说发展的方向还为时过早。
|
||||||
|
|
||||||
|
要期待一个成熟的基于 Rust 的 COSMIC 桌面体验的测试版,应该还需要一段时间。
|
||||||
|
|
||||||
|
但是,从我们在这里看到的情况来看,我很兴奋。
|
||||||
|
|
||||||
|
你怎么看?欢迎你在下面的评论中分享你的想法!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/system76-rust-cosmic-desktop/
|
||||||
|
|
||||||
|
作者:[Pratham Patel][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/pratham/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/pop-os-cosmic-rust/
|
||||||
|
[2]: https://research.mozilla.org/rust/
|
||||||
|
[3]: https://github.com/pop-os/cosmic
|
||||||
|
[4]: https://github.com/pop-os/cosmic-settings
|
||||||
|
[5]: https://github.com/pop-os/cosmic-panel
|
||||||
|
[6]: https://github.com/pop-os/cosmic-comp
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-cosmic-settings-early.png?w=963&ssl=1
|
||||||
|
[8]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-settings-new-old-early.png?resize=1568%2C705&ssl=1
|
||||||
|
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-new-old-cosmic.png?w=1387&ssl=1
|
||||||
|
[10]: https://github.com/baskerville/bspwm
|
||||||
|
[11]: https://github.com/i3/i3
|
||||||
|
[12]: https://blog.edfloreshz.dev/articles/linux/system76/rust-based-desktop-environment/
|
||||||
|
[13]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/new_launcher.png?w=770&ssl=1
|
||||||
|
[14]: https://news.itsfoss.com/pop-os-21-10/
|
||||||
|
[15]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/new_app_library.png?w=1200&ssl=1
|
@ -0,0 +1,72 @@
|
|||||||
|
[#]: subject: "What makes Linux the sustainable OS"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/linux-sustainable-os"
|
||||||
|
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14210-1.html"
|
||||||
|
|
||||||
|
是什么让 Linux 成为可持续的操作系统
|
||||||
|
======
|
||||||
|
|
||||||
|
> Linux 有助于弥合数字鸿沟,延长硬件的使用寿命,使得它成为操作系统的一个环保选择。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
与大流行病作斗争,造成了生产新电脑所需的微芯片的短缺。此外,一些较新的专有操作系统提高了它们的硬件标准(LCTT 译注:Windows 11,别扭头看别人)。这个难题为我们这些在日常生活中使用 Linux 的人创造了一个机会。
|
||||||
|
|
||||||
|
### 延长硬件的生命周期
|
||||||
|
|
||||||
|
长期以来,Linux 一直以延长老旧硬件的寿命而闻名。这种能力对那些每天使用电脑的人来说是个福音。
|
||||||
|
|
||||||
|
在过去的一年里,我已经帮助许多人使用 Linux 翻新和 [改装旧电脑][2]。基于 Linux 的电脑耗电更少,启动速度更快。[Gnome][3] 桌面很好,但许多旧电脑更适合 [LXDE][4] 或 [XFCE][5] 环境,它们运行需要较少的资源。
|
||||||
|
|
||||||
|
像 [FreeGeek][6] 和 [Kramden Institute][7] 这样的组织已经把弥合数字鸿沟作为他们的核心使命,并以此为目标。这些团体对旧电脑进行了再利用,使它们不被当成垃圾填埋,而是把它们送到需要它们的用户手中。没有 Linux,就没有这些项目。
|
||||||
|
|
||||||
|
[DD-Wrt][8]、[OpenWrt][9] 和 [Tomato][10] 都是 Linux 解决方案,使旧的网络硬件不被当成垃圾丢弃,并同时为用户的路由器提供更多的安全、隐私和性能。
|
||||||
|
|
||||||
|
借助 [GalliumOS][11] 和 [Mrchromebox.tech][12],即使是 Chromebooks 在谷歌停止支持后也能获得新的生命。
|
||||||
|
|
||||||
|
### 新的机会
|
||||||
|
|
||||||
|
Linux 创造了一些本来不存在的机会。学生和业余爱好者都在没有投资的情况下开始了计算机科学的成功事业,这要归功于他们在旧电脑上学到的经验。这些系统运行企业级软件,如 [LAMP][13] 栈,它促进了向 “Web 2.0” 的过渡。它是最早的 Web 开源软件栈之一。今天,它为 WordPress、Drupal 和 Joomla 系统提供了动力。事实上,Linux 为超过 96% 的世界前 100 万台 Web 服务器提供动力。Linux 还管理着 [嵌入式系统][14]、电子阅读器、智能电视、智能手表 [等等][15]。Linux 是世界上远远 [超过 70%][16] 的智能手机的操作系统。甚至美国国家航空航天局(NASA)今年在火星上创造历史的 [毅力号][17],也是由 Linux 驱动的。
|
||||||
|
|
||||||
|
为当今大多数应用提供动力的云计算,没有 Linux 就不可能存在。今天的大多数 Web 和智能手机应用都在基于 Linux 的 [容器][18] 中运行。即使在微芯片短缺和专有系统成本高昂的情况下,进入云服务行业的人也有机会学习开源的操作系统和软件。
|
||||||
|
|
||||||
|
### 未来
|
||||||
|
|
||||||
|
但最恰当的是,Linux 和开源为 [联合国可持续发展目标][19] 提供了动力。随着大流行的继续,Linux 仍然是一个重要的资源。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/linux-sustainable-os
|
||||||
|
|
||||||
|
作者:[Don Watkins][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/don-watkins
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/rh_003499_01_linux31x_cc.png?itok=Pvim4U-B (5 pengiuns floating on iceburg)
|
||||||
|
[2]: https://opensource.com/article/21/4/restore-macbook-linux
|
||||||
|
[3]: https://www.gnome.org/
|
||||||
|
[4]: https://www.lxde.org/
|
||||||
|
[5]: https://xfce.org/
|
||||||
|
[6]: https://opensource.com/article/21/4/linux-free-geek
|
||||||
|
[7]: https://opensource.com/education/16/2/kramden-helps-bridge-digital-divide
|
||||||
|
[8]: https://dd-wrt.com/
|
||||||
|
[9]: https://openwrt.org/
|
||||||
|
[10]: https://www.freshtomato.org/
|
||||||
|
[11]: https://galliumos.org
|
||||||
|
[12]: https://mrchromebox.tech
|
||||||
|
[13]: https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29
|
||||||
|
[14]: https://opensource.com/article/20/6/open-source-rtos
|
||||||
|
[15]: https://opensource.com/article/19/8/everyday-tech-runs-linux
|
||||||
|
[16]: https://gs.statcounter.com/os-market-share/mobile/worldwide/
|
||||||
|
[17]: https://mars.nasa.gov/mars2020/spacecraft/rover/
|
||||||
|
[18]: https://opensource.com/resources/what-are-linux-containers
|
||||||
|
[19]: https://opensource.com/article/21/11/open-source-un-sustainability
|
@ -0,0 +1,82 @@
|
|||||||
|
[#]: subject: "Get Ready for an Upgrade! Ubuntu 21.04 Will Reach End of Life This Week"
|
||||||
|
[#]: via: "https://news.itsfoss.com/ubuntu-21-04-eol/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14192-1.html"
|
||||||
|
|
||||||
|
准备升级了!Ubuntu 21.04 将在本周达到支持终点
|
||||||
|
======
|
||||||
|
|
||||||
|
> 从本周 1 月 20 日起,Ubuntu 21.04 将不再收到任何更新。是时候考虑你的升级选择了!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
[Ubuntu 21.04][1] 运行良好、添加了有趣的功能,也包括一些值得注意的变化,如 [对多显示器的改进][2]、用户界面的改进、支持 GNOME 40 的应用程序等等。
|
||||||
|
|
||||||
|
现在,是时候升级了。
|
||||||
|
|
||||||
|
Ubuntu 21.04 的更新支持在本周,即 **1 月 20 日** 结束。
|
||||||
|
|
||||||
|
你将不再收到任何关于 Ubuntu 21.04 系统的更新。如果你一直在使用 Ubuntu 或其某种风格,如 Ubuntu MATE,你需要将你的系统升级到 Ubuntu 21.10。
|
||||||
|
|
||||||
|
顺便提一句,Ubuntu 的非 LTS 版本维护期为 9 个月。如果你是 Linux 的新手的话,我建议你了解一下 [Ubuntu 发布周期][3]。
|
||||||
|
|
||||||
|
所以,现在你必须升级到 Ubuntu 21.10,然后再为 2022 年 7 月的另一次升级做好准备。不过,这样你的时间就充裕多了!
|
||||||
|
|
||||||
|
### 升级到 Ubuntu 21.10
|
||||||
|
|
||||||
|
除非你有一个没有连接到互联网的系统,并且你希望它继续使用 Ubuntu 21.04,否则建议你现在就升级。
|
||||||
|
|
||||||
|
在没有任何更新的情况下,你的系统将继续受到新的安全风险的影响。所以,在做决定之前要记住这一点。
|
||||||
|
|
||||||
|
[Ubuntu 21.10][4] 引入了许多变化,包括 GNOME 40、[Linux 内核 5.13][5]、对高质量蓝牙音频编解码器的支持、暗色/浅色主题等等。
|
||||||
|
|
||||||
|
所以,你可能要开始考虑你的升级选择了。
|
||||||
|
|
||||||
|
你可以继续使用 Ubuntu,升级到 21.10。如果你考虑用不同的东西进行全新安装,也可以尝试像 [Pop!_OS 21.10][6] 这样的发行版。
|
||||||
|
|
||||||
|
不要忘了,还有各种的 Ubuntu 的风格版呢。
|
||||||
|
|
||||||
|
要开始升级,你只需要搜索 “<ruby>软件更新器<rt>Software Updater</rt></ruby>” 并点击它,让它寻找升级并通知你。
|
||||||
|
|
||||||
|
无论你有什么发行版,软件更新器或你的软件中心应该给你提供升级选项,或者你可以在系统设置中找到它。
|
||||||
|
|
||||||
|
而且,然后按照屏幕上的指示,再点击几下就可以进行升级过程了。
|
||||||
|
|
||||||
|
重要的是,为了安全起见,在执行升级之前要备份你的必要数据。
|
||||||
|
|
||||||
|
在一些像 Ubuntu MATE 这样的版本中,你也可以选择使用终端,输入以下命令开始升级:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo do-release-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
### 通往 Ubuntu 22.04 LTS 之路
|
||||||
|
|
||||||
|
Ubuntu 22.04 LTS 的 [预期功能列表][7] 应该不会让你失望。因此,你可以在它发布时轻松地升级到它,或者留在 Ubuntu 21.10 上,等待 7 月份支持结束时升级。
|
||||||
|
|
||||||
|
你是否期待着 Ubuntu 22.04 LTS 在今年 4 月的发布?或者,你愿意坚持使用 Ubuntu 21.10 直到 2022 年 7 月?
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/ubuntu-21-04-eol/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/ubuntu-21-04-release/
|
||||||
|
[2]: https://news.itsfoss.com/ubuntu-21-04-multi-monitor-support/
|
||||||
|
[3]: https://itsfoss.com/end-of-life-ubuntu/
|
||||||
|
[4]: https://news.itsfoss.com/ubuntu-21-10-release/
|
||||||
|
[5]: https://news.itsfoss.com/linux-kernel-5-13-release/
|
||||||
|
[6]: https://news.itsfoss.com/pop-os-21-10/
|
||||||
|
[7]: https://itsfoss.com/ubuntu-22-04-release-features/
|
@ -0,0 +1,76 @@
|
|||||||
|
[#]: subject: "Popular Nintendo Video Game Emulator ‘Cemu’ Plans to Go Open-Source with Linux Support"
|
||||||
|
[#]: via: "https://news.itsfoss.com/cemu-nintendo-linux/"
|
||||||
|
[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14193-1.html"
|
||||||
|
|
||||||
|
流行的任天堂电子游戏模拟器 Cemu 计划开源并支持 Linux
|
||||||
|
======
|
||||||
|
|
||||||
|
> 这的确是个好消息!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
如果你喜欢玩复古游戏,你可能已经接触过复古游戏机模拟器。顺便说一句,所谓“<ruby>模拟器<rt>Emulator</rt></ruby>”(仿真器)主要是指允许主机系统运行为另一系统设计的游戏的软件或硬件。
|
||||||
|
|
||||||
|
最近,Cemu 成功引起了开源社区的注意力。它是众多复古电子游戏模拟器之一,可以让你玩为任天堂 Wii U 定制的游戏。然而,到目前为止,它在一个主要方面与大多数模拟器不同,即它是闭源的,但这即将改变。
|
||||||
|
|
||||||
|
### Cemu 简介
|
||||||
|
|
||||||
|
[Cemu][1] 是一个流行的基于软件的复古电子游戏模拟器,专门模拟任天堂 Wii U 游戏,它是这类模拟器中第一个。它利用了 OpenGL 和 Vulkan 来运行游戏。
|
||||||
|
|
||||||
|
多年来,它已经有了显著的进展,现在可以 [玩整个 Wii U 库中的 51% 的游戏][2]。这包括《马里奥卡丁车 8》和《塞尔达传说:荒野之息》等热门游戏。
|
||||||
|
|
||||||
|
虽然它早在 2015 年就发布了,但 Cemu 只能运行在 Windows 上。不过,开发者发布的新路线图指出,Cemu 应该很快就会移植到 Linux 上了。
|
||||||
|
|
||||||
|
而且,最令人关注的是,Cemu 将走向开源!
|
||||||
|
|
||||||
|
### 通往开源和 Linux 之路
|
||||||
|
|
||||||
|
路线图总共包括了由开发人员计划的八个里程碑。其中包括计划开发一个 Linux 移植版并向社区提供代码。
|
||||||
|
|
||||||
|
谈到 Cemu 的开源问题,开发者计划在 2022 年完成这一工作。所以,你不应该对此寄予厚望。
|
||||||
|
|
||||||
|
迁移到 Linux 涉及到将源代码从 C 语言改写成 C++ 语言,并从 Visual Studio 迁移到 cmake。
|
||||||
|
|
||||||
|
以下是开发者对将 Cemu 引入 Linux 的看法:
|
||||||
|
|
||||||
|
> 我们最终想提供一个原生的 Linux 版本。这一直是一个正在进行的副计划,尽管由于优先级较低和依赖于其他任务而进展相对缓慢,但现在已经完成了大约 70% 的工作。
|
||||||
|
|
||||||
|
开发人员还提到,移植过程伴随着其他工作,如软件 H264 解码器和 cubeb 后端。由于主要的工作已经完成,可以说 Cemu 很快就会出现在 Linux 上。
|
||||||
|
|
||||||
|
### 其他计划
|
||||||
|
|
||||||
|
开发人员已经考虑将 LLVM 作为 CPU JIT 后端,用于将 PowerPC(Wii U 的主机架构)转换为 ARM 等 X86 架构。
|
||||||
|
|
||||||
|
他们还刚刚开始着手开发一个新的着色器反编译器,以减少着色器编译时间和卡顿。
|
||||||
|
|
||||||
|
你可以参考 [官方路线图][3] 了解更多细节。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
这对渴望做出贡献并使 Cemu 变得更好的复古游戏爱好者来说绝对是一份大礼。
|
||||||
|
|
||||||
|
Cemu 最终将加入许多流行的、开源的任天堂游戏机模拟器的行列,如 Citra、Dolphin 和 Yuzu。
|
||||||
|
|
||||||
|
你对 Cemu 的开源有什么看法?复古游戏模拟器应该是闭源的还是开源的?
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/cemu-nintendo-linux/
|
||||||
|
|
||||||
|
作者:[Rishabh Moharir][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/rishabh/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://cemu.info
|
||||||
|
[2]: https://compat.cemu.info/
|
||||||
|
[3]: https://wiki.cemu.info/wiki/Roadmap
|
@ -0,0 +1,130 @@
|
|||||||
|
[#]: subject: "Record your terminal session with Asciinema"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/record-terminal-session-asciinema"
|
||||||
|
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14216-1.html"
|
||||||
|
|
||||||
|
用 Asciinema 记录你的终端会话
|
||||||
|
======
|
||||||
|
|
||||||
|
> 用这个开源的终端会话记录器 Asciinema 来展示终端会话。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
支持电话是很重要的,而且最后往往是令人满意的,但明确的沟通行为对每个参与的人来说都是艰巨的。如果你曾经参加过支持电话,你可能会花好几分钟拼出了最短的命令,并详细解释了空格和回车的位置。虽然直接拿过来用户电脑的控制权往往更容易,但这并不是真正的教育的最佳方式。你可以尝试向用户发送一个屏幕记录,而他们可以复制命令并粘贴到自己的终端。
|
||||||
|
|
||||||
|
Asciinema 是一个开源的终端会话记录器。与 `script` 和 `scriptreplay` 命令类似,Asciinema 准确记录了你的终端显示。它将你的“电影”记录保存到一个文本文件中,然后根据需要进行回放。你可以把你的电影上传到 Asciinema.org,就像你在互联网上分享任何其他视频一样,你甚至可以把你的电影嵌入到网页中。
|
||||||
|
|
||||||
|
### 安装 Asciinema
|
||||||
|
|
||||||
|
在 Linux 上,你可以使用你的包管理器安装 Asciinema。
|
||||||
|
|
||||||
|
在 Fedora、CentOS、Mageia 或类似系统上:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dnf install asciinema
|
||||||
|
```
|
||||||
|
|
||||||
|
在 Debian、Linux Mint 或类似系统上:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo apt install asciinema
|
||||||
|
```
|
||||||
|
|
||||||
|
在 macOS 上,你可以用 Homebrew 安装:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo brew install asciinema
|
||||||
|
```
|
||||||
|
|
||||||
|
在 BSD 和任何其它平台上使用 [Pkgsrc][2]:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd /usr/pkgsrc/misc/py-asciinema
|
||||||
|
$ sudo bmake install clean
|
||||||
|
```
|
||||||
|
|
||||||
|
### 从文本中制作电影
|
||||||
|
|
||||||
|
要用 Asciinema 开始录制,你可以使用 `rec` 子命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ asciinema rec mymovie.cast
|
||||||
|
asciinema: recording asciicast to mymovie.cast
|
||||||
|
asciinema: press <ctrl-d> or type "exit" when you're done
|
||||||
|
```
|
||||||
|
|
||||||
|
一些友好的输出信息提醒你,你正在录制,并告诉你如何停止:按 `Ctrl+D` 或直接输入 `exit`。
|
||||||
|
|
||||||
|
当 Asciinema 处于活动状态时,你在终端所做的一切都会被记录下来。这包括输入、输出、错误、尴尬的停顿、错误或成功。如果在录制时,在你的终端中查看它,它就会被剪断。
|
||||||
|
|
||||||
|
当你演示完终端如何工作时,按 `Ctrl+D` 或输入 `exit` 来停止记录。
|
||||||
|
|
||||||
|
在这个例子中,产生的文件 `mymovie.cast` 是一个时间戳和动作的集合,它用作回放所使用的脚本(像电影脚本一样)。
|
||||||
|
|
||||||
|
```
|
||||||
|
{"version": 2, "width": 139, "height": 36, "timestamp": 1641457358, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
|
||||||
|
[0.05351, "o", "\u001b]0;seth:~\u0007"]
|
||||||
|
[0.05393, "o", "\u001b[1;31m$ \u001b[00m"]
|
||||||
|
[1.380059, "o", "e"]
|
||||||
|
[1.443823, "o", "c"]
|
||||||
|
[1.514674, "o", "h"]
|
||||||
|
[1.595238, "o", "o"]
|
||||||
|
[1.789562, "o", " "]
|
||||||
|
[2.09658, "o", "\""]
|
||||||
|
[2.19683, "o", "h"]
|
||||||
|
[2.403994, "o", "e"]
|
||||||
|
[2.466784, "o", "l"]
|
||||||
|
[2.711183, "o", "lo"]
|
||||||
|
[3.120852, "o", "\""]
|
||||||
|
[3.427886, "o", "\r\nhello\r\n"]
|
||||||
|
[...]
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你犯了一个错误,你可以通过删除重现错误的行来去除这个错误。如果你发现自己在录制过程中做了很多命令行修改或冗长的停顿,你可以安装并使用 [asciinema-edit][3] 工具,它可以通过你定义的时间戳或消除空闲时间来剪掉这些“镜头”片段。
|
||||||
|
|
||||||
|
### 播放 Asciinema 电影
|
||||||
|
|
||||||
|
你可以使用 `play` 子命令回放你的 Asciinema:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ asciinema play mymovie.cast
|
||||||
|
```
|
||||||
|
|
||||||
|
这会接管你的终端会话,并使其成为最接近银幕的形式(除了那次你通过 `telnet` 观看 ASCII 格式的星球大战)。这个基于文本的电影播放,向你的用户展示了一个复杂的任务是如何完成的。当然,播放的 _实际_ 命令并不真正执行。这不是一个正在运行的 shell 脚本,所以即使你在电影中创建了一个 `hello.txt` 文件,在播放后也不会有一个新的 `hello.txt`。这只是为了展示。
|
||||||
|
|
||||||
|
然而,它又不仅仅是一个展示。你可以暂停 Asciinema 电影,选择你在屏幕上看到的文本,并将其粘贴到一个活动终端以运行该命令。Asciinema 是有用的文档。它向用户展示了如何完成一项任务,并允许他们进行复制和粘贴以确保准确性。
|
||||||
|
|
||||||
|
### 上传你的 Asciinema 电影
|
||||||
|
|
||||||
|
目前还没有像大片一样的 Asciinema 电影,但你可以把你的电影上传到 Asciinema.org,与全世界分享:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ asciinema upload mymovie.cast
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你习惯了 YouTube 上传所花费的时间,你会对 Asciinema 电影的传输速度感到惊喜。一个 `.cast` 文件通常只有几千字节,最多几兆字节,所以上传几乎是瞬间完成的。你不需要注册账户来分享你的电影,但所有无人认领的电影将在七天后会被删除。为了保存你的杰作,你可以在 Asciinema 上开设一个账户,然后坐等电影学院的电话。
|
||||||
|
|
||||||
|
### Asciinema 作为文档
|
||||||
|
|
||||||
|
Asciinema 是演示最基本概念的好方法。因为它保留了从录制中复制和粘贴代码的能力,提供了按需暂停和播放的能力,并且完全准确地描绘了它的内容,它不仅仅是屏幕录像,它要好得多。无论你是用它来向你的朋友炫耀你的终端技能,还是用它来教育同事和学生,Asciinema 都是一个无价的、社交的、便于访问的工具。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/record-terminal-session-asciinema
|
||||||
|
|
||||||
|
作者:[Seth Kenlon][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/seth
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/freedos.png?itok=aOBLy7Ky (4 different color terminal windows with code)
|
||||||
|
[2]: https://opensource.com/article/19/11/pkgsrc-netbsd-linux
|
||||||
|
[3]: https://github.com/cirocosta/asciinema-edit
|
@ -0,0 +1,72 @@
|
|||||||
|
[#]: subject: "Linux Mint’s Brand New Edge ISO is Available to Download!"
|
||||||
|
[#]: via: "https://news.itsfoss.com/linux-mint-20-3-edge-iso/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14197-1.html"
|
||||||
|
|
||||||
|
Linux Mint 全新的 Edge ISO 已经可以下载了!
|
||||||
|
======
|
||||||
|
|
||||||
|
> Linux Mint 20.3 现在为 Cinnamon 版提供了一个单独的 Edge ISO,以帮助用户使用最新一代的硬件!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
[Linux Mint 20.3][1] 带来了一些改进。然而,它是由 Linux 内核 5.4 LTS 驱动的。
|
||||||
|
|
||||||
|
因此,使用较新硬件的用户可能会发现启动时很麻烦,或者遇到其他与旧的 Linux 内核不兼容的问题。
|
||||||
|
|
||||||
|
幸运的是,Linux Mint 20.3 现在有一个提供了 Linux 内核 5.13.0-25 的 Edge ISO。
|
||||||
|
|
||||||
|
### 带有 Linux 内核 5.13 的 Linux Mint 20.3
|
||||||
|
|
||||||
|
[Linux 内核 5.13][2] 通过 HDMI 引入了对 AMD GPU FreeSync 的支持,以及许多其他硬件改进。
|
||||||
|
|
||||||
|
因此,举例来说,如果你有一个 AMD GPU,并且在 Linux Mint 20.3 上遇到了问题,Edge ISO 可以派上用场。
|
||||||
|
|
||||||
|
是的,如果你有较新的硬件在使用 Linux Mint 20.3 时有问题,你可以试试 Edge ISO。
|
||||||
|
|
||||||
|
然而,Linux 内核 5.13 并不完全支持所有现代硬件,如英特尔 Alder Lake 处理器。
|
||||||
|
|
||||||
|
考虑到英特尔的第 12 代产品系列已经可以供消费者使用,一个更新的 Linux 内核可能是一个更好的选择,但有总比没有好。
|
||||||
|
|
||||||
|
因此,有必要指出,使用 Edge ISO 不会神奇地解决最新一代硬件的问题。你必须了解了 [Linux 内核 5.13][2] 的详细变化/支持,然后再进行尝试。
|
||||||
|
|
||||||
|
### 下载 Linux Mint 20.3 Edge ISO
|
||||||
|
|
||||||
|
你可以选择下载单独的 Edge ISO 或从更新管理器中更新 Linux 内核。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
前往 “更新管理器”,然后从“查看”菜单中导航到 Linux 内核选项。你可以注意到,你可以安装其他可用的 Linux 内核(根据你的要求),如果需要,可以删除旧的内核。
|
||||||
|
|
||||||
|
建议不要删除旧的内核,除非你确定较新的版本能按预期工作。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
在进行内核升级之前,你应该备份你的重要文件,以防万一。
|
||||||
|
|
||||||
|
Edge ISO 只限于 Cinnamon 版。所以,你需要前往 Linux Mint 20.3 Cinnamon 页面下载该 ISO。
|
||||||
|
|
||||||
|
- [Linux Mint 20.3 Cinnamon(Edge)版][5]
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/linux-mint-20-3-edge-iso/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/linux-mint-20-3-una-release/
|
||||||
|
[2]: https://news.itsfoss.com/linux-kernel-5-13-release/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/linux-mint-edge-kernel.png?w=829&ssl=1
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/update-manager-edge-kernel.png?w=825&ssl=1
|
||||||
|
[5]: https://www.linuxmint.com/edition.php?id=296
|
@ -0,0 +1,106 @@
|
|||||||
|
[#]: subject: "OpenBoard: An Open Source Interactive Whiteboard for Educators"
|
||||||
|
[#]: via: "https://itsfoss.com/openboard/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14212-1.html"
|
||||||
|
|
||||||
|
OpenBoard:面向教育工作者的开源交互式白板
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> OpenBoard 是为中小学和大学定制的交互式开源白板。让我们来看看它提供了什么。
|
||||||
|
|
||||||
|
有几个可用于教育的开源工具,但是,并非所有这些面向中小学和大学的软件都能达到商业软件级的良好维护。
|
||||||
|
|
||||||
|
OpenBoard 就是这样一个不同凡响的自由开源工具,它可以不打折扣地为教育服务。它是一个交互式白板程序,具有所有基本功能,并支持各种硬件。
|
||||||
|
|
||||||
|
### OpenBoard:自由及开源的交互式白板
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
作为一个自由开源的程序,OpenBoard 看起来是一个令人印象深刻的选择。
|
||||||
|
|
||||||
|
瑞士日内瓦州的教育部门(DIP)与 GitHub 上的社区一起维护该工具。
|
||||||
|
|
||||||
|
通过交互式白板促进简单的数字教学不应该花费很多,这就是 OpenBoard 的优势所在。
|
||||||
|
|
||||||
|
它提供的一系列功能对大多数中小学和大学来说应该是足够的。
|
||||||
|
|
||||||
|
虽然我无法在中小学/大学环境中测试它,但我会重点介绍它提供的主要功能。
|
||||||
|
|
||||||
|
### OpenBoard 的特点
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
交互式白板没有众多花哨的功能,但足以使教师能够尽可能轻松地表达自己。
|
||||||
|
|
||||||
|
我注意到的一些特点包括:
|
||||||
|
|
||||||
|
* 跨平台支持
|
||||||
|
* 能够自由地写写画画
|
||||||
|
* 能够添加注释
|
||||||
|
* 能够删除注释
|
||||||
|
* 可以使用荧光笔高亮显示你的白板的部分区域
|
||||||
|
* 单独互动和移动创建/绘制的项目
|
||||||
|
* 按顺序添加多个页面,可以继续教学而不需要擦除
|
||||||
|
* 能够在页面间滚动浏览
|
||||||
|
* 绘制线条(从三种不同线宽中选择)
|
||||||
|
* 切换手写笔模式(如果你使用的是手写板或类似的东西)
|
||||||
|
* 轻松擦除在白板上创建的项目
|
||||||
|
* 可以从一组不同的背景中选择,包括把它变成黑板或带网格线的背景
|
||||||
|
* 各种必要的应用,包括计算器、地图、尺子等,都可以通过拖放使用
|
||||||
|
* 提供的一些形状,可以使绘图更容易
|
||||||
|
* 能够向你的白板添加音频/视频,并无缝播放,以获得更好的体验
|
||||||
|
* 虚拟激光笔
|
||||||
|
* 可放大和缩小
|
||||||
|
* 书写文字,调整大小,并克隆它
|
||||||
|
* 从白板中对屏幕进行截图
|
||||||
|
* 需要时可使用虚拟键盘
|
||||||
|
|
||||||
|
在我简短的测试中,用户界面和可用的选项工作得非常好,没有任何故障。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
当然,你的体验将取决于设备的类型和你的设置。你可以用 Wacom 平板、双显示器设置,或者通过支持触摸的笔记本电脑使用投影仪来尝试。
|
||||||
|
|
||||||
|
### 在 Linux 中安装 OpenBoard
|
||||||
|
|
||||||
|
更好的是,它可以在多个平台上使用,包括 Windows、macOS 和 Linux。
|
||||||
|
|
||||||
|
如果你使用的是 Ubuntu,你可以到官方网站下载 DEB 文件。另外对于其他 Linux 发行版,你可以选择通过 [Flathub][5] [安装 Flatpak 软件包][4]。
|
||||||
|
|
||||||
|
- [OpenBoard][6]
|
||||||
|
|
||||||
|
### 结语
|
||||||
|
|
||||||
|
总的来说,我发现它在使用和导航方面毫不费力。你可以在多个页面之间快速切换,无缝擦除/添加项目,同时还可以在白板上添加丰富的元素。
|
||||||
|
|
||||||
|
通过虚拟激光笔以及一些应用,使得它适合在各种中小学和大学中使用而没有任何障碍。
|
||||||
|
|
||||||
|
我不知道它是否可以被称为谷歌课堂或 Miro 白板功能的替代品,但对于更简单的使用,OpenBoard 可以胜任。
|
||||||
|
|
||||||
|
如果你还没有试过,我建议你试一试。你知道有什么比这更好的东西吗?请在下面的评论中告诉我。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/openboard/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/openboard-screenshot.png?resize=800%2C435&ssl=1
|
||||||
|
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/openboard-screenshot-1.png?resize=800%2C462&ssl=1
|
||||||
|
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/openboard-dock.png?resize=800%2C344&ssl=1
|
||||||
|
[4]: https://itsfoss.com/flatpak-guide/
|
||||||
|
[5]: https://flathub.org/apps/details/ch.openboard.OpenBoard
|
||||||
|
[6]: https://www.openboard.ch/index.en.html
|
@ -0,0 +1,246 @@
|
|||||||
|
[#]: subject: "Protect your PHP website from bots with this open source tool"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/php-website-bouncer-crowdsec"
|
||||||
|
[#]: author: "Philippe Humeau https://opensource.com/users/philippe-humeau"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14209-1.html"
|
||||||
|
|
||||||
|
用 CrowdSec 保护你的 PHP 网站不受机器人攻击
|
||||||
|
======
|
||||||
|
|
||||||
|
> CrowdSec 门卫被设计成可以包含在任何 PHP 应用程序中,以帮助阻止攻击者。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
PHP 是 Web 上广泛使用的一种编程语言,据估计有近 80% 的网站使用它。我在 [CrowdSec][2] 的团队决定,我们需要为服务器管理员提供一个 PHP 门卫,以帮助抵御那些可能试图与 PHP 文件互动的机器人和不良分子。
|
||||||
|
|
||||||
|
CrowdSec 门卫可以在应用栈的各个层面上进行设置:[Web 服务器、防火墙、CDN][3] 等等。本文关注的是另外一个层次:直接在应用层面设置补救措施。
|
||||||
|
|
||||||
|
由于各种原因,直接在应用程序中进行补救是有帮助的:
|
||||||
|
|
||||||
|
* 它为潜在的安全威胁提供了业务逻辑上的答案。
|
||||||
|
* 它提供了关于如何应对安全问题的自由。
|
||||||
|
|
||||||
|
虽然 CrowdSec 已经发布了一个 WordPress 门卫,但这个 PHP 库被设计成可以包含在任何 PHP 应用中(例如 Drupal)。该门卫有助于阻止攻击者,用验证码挑战他们,让人类通过,同时阻止机器人。
|
||||||
|
|
||||||
|
### 先决条件
|
||||||
|
|
||||||
|
本教程假定你在 Linux 服务器上运行 Drupal,并使用 [Apache 作为 Web 服务器][4]。
|
||||||
|
|
||||||
|
第一步是在你的服务器上 [安装 CrowdSec][5]。你可以用 [官方安装脚本][6] 来完成。如果你使用的是 Fedora、CentOS 或类似系统,请下载 RPM 版本:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.rpm.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
在 Debian 和基于 Debian 的系统上,下载 DEB 版本:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
这些脚本很简单,所以仔细阅读你下载的脚本,以验证它是否导入了 GPG 密钥并配置了一个新的存储库。当你清楚了它的作用后,就执行它,然后安装。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dnf install crowdsec || sudo apt install crowdsec
|
||||||
|
```
|
||||||
|
|
||||||
|
CrowdSec 会自己检测到所有现有的服务,所以不需要进一步的配置就可以立即得到一个能发挥功能的设置。
|
||||||
|
|
||||||
|
### 测试初始设置
|
||||||
|
|
||||||
|
现在你已经安装了 CrowdSec,启动一个 Web 应用漏洞扫描器,比如 [Nikto][7],看看它的表现如何:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./nikto.pl -h http://<ip_or_domain>
|
||||||
|
```
|
||||||
|
|
||||||
|
![nikto scan][8]
|
||||||
|
|
||||||
|
该 IP 地址已被检测到触发了各种场景,最后一个是 `crowdsecurity/http-crawl-non_statics`:
|
||||||
|
|
||||||
|
![detected scan][9]
|
||||||
|
|
||||||
|
然而,CrowdSec 只检测问题,需要一个门卫来应用补救措施。这就是 PHP 门卫发挥作用的地方。
|
||||||
|
|
||||||
|
### 用 PHP 门卫进行补救
|
||||||
|
|
||||||
|
现在你可以检测到恶意行为了,你需要在网站层面上阻止 IP。在这个时候,没有用于 Drupal 的门卫可用。然而,你可以直接使用 PHP 门卫。
|
||||||
|
|
||||||
|
它是如何工作的?PHP 门卫(和其他门卫一样)对 CrowdSec 的 API 进行调用,并检查是否应该禁止进入的 IP,向他们发送验证码,或者允许他们通过。
|
||||||
|
|
||||||
|
Web 服务器是 Apache,所以你可以使用 [Apache 的安装脚本][10]:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone https://github.com/crowdsecurity/cs-php-bouncer.git
|
||||||
|
$ cd cs-php-bouncer/
|
||||||
|
$ ./install.sh --apache
|
||||||
|
```
|
||||||
|
|
||||||
|
![apache install script][11]
|
||||||
|
|
||||||
|
门卫的配置是用来保护整个网站。可以通过调整 Apache 的配置保护网站的一个特定部分。
|
||||||
|
|
||||||
|
### 尝试访问网站
|
||||||
|
|
||||||
|
PHP 门卫已经安装并配置好。由于之前的网络漏洞扫描行动,你被禁止了,你可以尝试访问该网站看看:
|
||||||
|
|
||||||
|
![site access attempt][12]
|
||||||
|
|
||||||
|
门卫成功阻止了你的流量。如果你在以前的 Web 漏洞扫描后没有被禁止,你可以用增加一个手动决策:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cscli decisions add -i <your_ip>
|
||||||
|
```
|
||||||
|
|
||||||
|
对于其余的测试,删除当前的决策:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cscli decisions delete -i <your_ip>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 更进一步
|
||||||
|
|
||||||
|
我封锁了试图破坏 PHP 网站的 IP。这很好,但那些试图扫描、爬取或 DDoS 的 IP 怎么办?这些类型的检测可能会导致误报,那么为什么不返回一个验证码挑战来检查它是否是一个真正的用户(而不是一个机器人),而不是封锁 IP?
|
||||||
|
|
||||||
|
#### 检测爬虫和扫描器
|
||||||
|
|
||||||
|
我不喜欢爬虫和坏的用户代理,在 [Hub][13] 上有各种方案可以用来发现它们。
|
||||||
|
|
||||||
|
确保用 `cscli’ 下载了 Hub 上的 `base-http-scenarios` 集合:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cscli collections list | grep base-http-scenarios
|
||||||
|
crowdsecurity/base-http-scenarios ✔️ enabled /etc/crowdsec/collections/base-http-scenarios.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
如果没有找到,请安装它,并重新加载 CrowdSec:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo cscli collections install crowdsecurity/base-http-scenarios
|
||||||
|
$ sudo systemctl reload crowdsec
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 用验证码补救
|
||||||
|
|
||||||
|
由于检测 DDoS、爬虫或恶意的用户代理可能会导致误报,我更倾向于对任何触发这些情况的 IP 地址返回一个验证码,以避免阻止真正的用户。
|
||||||
|
|
||||||
|
为了实现这一点,请修改 `profiles.yaml` 文件。
|
||||||
|
|
||||||
|
在 `/etc/crowdsec/profiles.yaml` 中的配置文件的开头添加这个 YAML 块:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
# /etc/crowdsec/profiles.yaml
|
||||||
|
name: crawler_captcha_remediation
|
||||||
|
filter: Alert.Remediation == true && Alert.GetScenario() in ["crowdsecurity/http-crawl-non_statics", "crowdsecurity/http-bad-user-agent"]
|
||||||
|
|
||||||
|
decisions:
|
||||||
|
- type: captcha
|
||||||
|
duration: 4h
|
||||||
|
on_success: break
|
||||||
|
```
|
||||||
|
|
||||||
|
有了这个配置文件,任何触发 `crowdsecurity/http-crawl-non_statics` 或 `crowdsecurity/http-bad-user-agent` 场景的 IP 地址都会被强制执行一个验证码(持续 4 小时)。
|
||||||
|
|
||||||
|
接下来,重新加载 CrowdSec:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo systemctl reload crowdsec
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 尝试自定义的补救措施
|
||||||
|
|
||||||
|
重新启动 Web 漏洞扫描器会触发很多场景,所以你最终会再次被禁止。相反,你可以直接制作一个触发 `bad-user-agent` 场景的攻击(已知的坏用户代理列表在 [这里][14])。请注意,你必须激活该规则两次才能被禁止。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ curl --silent -I -H "User-Agent: Cocolyzebot" http://example.com > /dev/null
|
||||||
|
$ curl -I -H "User-Agent: Cocolyzebot" http://example.com
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Date: Tue, 05 Oct 2021 09:35:43 GMT
|
||||||
|
Server: Apache/2.4.41 (Ubuntu)
|
||||||
|
Expires: Sun, 19 Nov 1978 05:00:00 GMT
|
||||||
|
Cache-Control: no-cache, must-revalidate
|
||||||
|
X-Content-Type-options: nosniff
|
||||||
|
Content-Language: en
|
||||||
|
X-Frame-Options: SAMEORIGIN
|
||||||
|
X-Generator: Drupal 7 (http://drupal.org)
|
||||||
|
Content-Type: text/html; charset=utf-8
|
||||||
|
```
|
||||||
|
|
||||||
|
当然,你可以看到,你的行为会被抓住。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo cscli decisions list
|
||||||
|
```
|
||||||
|
|
||||||
|
![detected scan][15]
|
||||||
|
|
||||||
|
如果你试图访问该网站,不会被简单地被阻止,而是会收到一个验证码:
|
||||||
|
|
||||||
|
![CAPTCHA prompt][16]
|
||||||
|
|
||||||
|
一旦你解决了这个验证码,你就可以重新访问网站了。
|
||||||
|
|
||||||
|
接下来,再次解禁自己:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cscli decisions delete -i <your_ip>
|
||||||
|
```
|
||||||
|
|
||||||
|
启动漏洞扫描器:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./nikto.pl -h http://example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
与上次不同的是,你现在可以看到,你已经触发了几个决策:
|
||||||
|
|
||||||
|
![scan detected][17]
|
||||||
|
|
||||||
|
当试图访问网站时,禁止决策具有优先权:
|
||||||
|
|
||||||
|
![site access attempt][18]
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
这是一个帮助阻止攻击者进入 PHP 网站和应用程序的快速方法。本文只包含一个例子。补救措施可以很容易地扩展,以适应额外的需求。要了解更多关于安装和使用 CrowdSec 代理的信息,[查看这个方法指南][19] 来开始。
|
||||||
|
|
||||||
|
要下载 PHP 门卫,请到 [CrowdSec Hub][20] 或 [GitHub][21]。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/php-website-bouncer-crowdsec
|
||||||
|
|
||||||
|
作者:[Philippe Humeau][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/philippe-humeau
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/security_password_chaos_engineer_monster.png?itok=J31aRccu (Security monster)
|
||||||
|
[2]: https://opensource.com/article/20/10/crowdsec
|
||||||
|
[3]: https://hub.crowdsec.net/browse/#bouncers
|
||||||
|
[4]: https://opensource.com/article/18/2/how-configure-apache-web-server
|
||||||
|
[5]: https://doc.crowdsec.net/docs/getting_started/install_crowdsec
|
||||||
|
[6]: https://packagecloud.io/crowdsec/crowdsec/install
|
||||||
|
[7]: https://github.com/sullo/nikto
|
||||||
|
[8]: https://opensource.com/sites/default/files/1nikto_0.png (nikto scan)
|
||||||
|
[9]: https://opensource.com/sites/default/files/2decisions.png (detected scan)
|
||||||
|
[10]: https://github.com/crowdsecurity/cs-php-bouncer/blob/main/install.sh
|
||||||
|
[11]: https://opensource.com/sites/default/files/3bouncer.png (apache install script)
|
||||||
|
[12]: https://opensource.com/sites/default/files/4blocked.png (site access attempt)
|
||||||
|
[13]: https://hub.crowdsec.net/
|
||||||
|
[14]: https://raw.githubusercontent.com/crowdsecurity/sec-lists/master/web/bad_user_agents.txt
|
||||||
|
[15]: https://opensource.com/sites/default/files/7decisions-again.png (detected scan)
|
||||||
|
[16]: https://opensource.com/sites/default/files/8sitedeny.png (CAPTCHA prompt)
|
||||||
|
[17]: https://opensource.com/sites/default/files/10decisionsagain.png (scan detected)
|
||||||
|
[18]: https://opensource.com/sites/default/files/11sitedeny.png (site access attempt)
|
||||||
|
[19]: https://crowdsec.net/tutorial-crowdsec-v1-1/
|
||||||
|
[20]: https://hub.crowdsec.net/author/crowdsecurity/bouncers/cs-php-bouncer
|
||||||
|
[21]: https://github.com/crowdsecurity/cs-php-bouncer
|
@ -0,0 +1,97 @@
|
|||||||
|
[#]: subject: "What is POSIX? Why Does it Matter to Linux/UNIX Users?"
|
||||||
|
[#]: via: "https://itsfoss.com/posix/"
|
||||||
|
[#]: author: "Bill Dyer https://itsfoss.com/author/bill/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14201-1.html"
|
||||||
|
|
||||||
|
Linux 黑话解释:什么是 POSIX?
|
||||||
|
======
|
||||||
|
|
||||||
|
POSIX,你肯定在各种在线论坛和文章中,听到过这个缩写,或读到过关于它的信息。程序员和系统开发人员似乎最关心这个问题。它听起来很神秘,虽然有很多关于这个主题的好资料,但一些讨论区(简洁是它们的特点)并没有详细说明它是什么,这可能会让人困扰。那么,POSIX 到底是什么?
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
### POSIX 简介
|
||||||
|
|
||||||
|
与其说 POSIX 是一个东西,不如说是一个标签。想象一下,有一个盒子,上面贴着标签:POSIX,而盒子里是一个标准。该标准由 POSIX 所关注的规则和指令集组成。**POSIX** 是<ruby>可移植操作系统接口<rt>Portable Operating System Interface</rt></ruby> 的缩写。它是一个 IEEE 1003.1 标准,其定义了应用程序(以及命令行 Shell 和实用程序接口)和 UNIX 操作系统之间的语言接口。
|
||||||
|
|
||||||
|
当 UNIX 程序从一个 UNIX 平台移植到另一个平台时,遵守该标准可以确保其兼容性。POSIX 主要关注的是 AT&T 的 System V UNIX 和 BSD UNIX 的特性。
|
||||||
|
|
||||||
|
该标准必须阐明并遵循如何实现操作系统之间互操作性的目标的规则。POSIX 涵盖了以下内容:系统接口、命令和实用程序、网络文件访问,这里仅举几例(POSIX 的内容远不止这些)。
|
||||||
|
|
||||||
|
### 为什么有 POSIX?
|
||||||
|
|
||||||
|
一句话:可移植性。
|
||||||
|
|
||||||
|
60 多年前,如果程序员想让他们的软件在一个以上的系统上运行,就必须完全重写代码。由于所涉及的费用,这种情况并不经常发生,但在 1960 年代中期,可移植性成为一种特性 —— 不是通过 POSIX,而是在大型机领域。
|
||||||
|
|
||||||
|
IBM 推出了 System/360 系列的大型计算机。不同的型号有其独特的规范,但硬件使得它们可以使用同一个操作系统:OS/360。
|
||||||
|
|
||||||
|
不仅操作系统可以在不同的型号上运行,应用程序也可以在它们上面运行。这不仅降低了成本,而且创造了“计算机系统”:可以跨产品线协同工作的系统。今天,这一切都很常见,比如网络和系统,但在当时,这是一个巨大的进步!
|
||||||
|
|
||||||
|
![IBM System 360 | 图片来源:IBM][2]
|
||||||
|
|
||||||
|
大约在同一时间,当 UNIX 出现的时候,它也做出了承诺,它可以在不同制造商的机器上运行。然而,当 UNIX 开始衍生出不同的流派时,在这些 UNIX 变体之间移植代码变得很困难。UNIX 可移植性的承诺正在失去基础。
|
||||||
|
|
||||||
|
为了解决这个可移植性问题,在 20 世纪 80 年代形成了 POSIX 标准。这个标准是在 AT&T 的 System V UNIX 和 BSD UNIX 的基础上定义的,这是当时最大的两个 UNIX 变体。值得注意的是,POSIX 的形成并不是为了控制操作系统的构建方式,任何公司都可以自由地以他们喜欢的方式设计他们的 UNIX 变体。POSIX 只关心应用程序与操作系统的接口是怎样的。用程序员的话来说,接口是一个程序的代码与另一个程序的通信方法。接口期望程序 A 向程序 B 提供特定类型的信息。同样地,程序 A 期望程序 B 用特定类型的数据来回答。
|
||||||
|
|
||||||
|
例如,如果我想用 `cat` 命令读取一个文件,我会在命令行上输入类似这样的内容:
|
||||||
|
|
||||||
|
```
|
||||||
|
cat myfile.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
我不想说很多程序员的术语,简单的来说,`cat` 命令调用操作系统来获取文件,以便 `cat` 能够读取它。`cat` 读取它,然后在屏幕上显示文件的内容。在应用程序(`cat`)和操作系统之间有很多的相互作用。这种相互作用如何工作是 POSIX 所关心的。如果这种相互作用在不同的 UNIX 变体中是相同的,那么可移植性,无论操作系统、制造商和硬件如何,就可以重新获得了。
|
||||||
|
|
||||||
|
关于如何实现这一切的具体细节,在该标准中作了规定。
|
||||||
|
|
||||||
|
### 合规是自愿的
|
||||||
|
|
||||||
|
我们所有人都至少见过这样的信息:“如需帮助,请输入:XXXX -help”。这在 Linux 中很常见,但是这不符合 POSIX 标准。POSIX 从来没有要求双破折号,他们希望用一个破折号。双破折号来自 GNU,然而,它并没有损害 Linux,而且还为其增加了一点特性。同时,Linux 大部分都是兼容 POSIX 的,特别是在涉及到系统调用接口时。这就是为什么我们能够在 Linux、Sys V UNIX 和 BSD UNIX 上运行 X、GNOME 和 KDE 应用程序。各种命令,如 `ls`、`cat`、`grep`、`find`、`awk` 等,在不同的变体中操作相同。
|
||||||
|
|
||||||
|
作为一项规则,合规是一个自愿的步骤。当代码符合要求时,移到另一个系统上就比较容易,很少有必要或根本不需要重写代码。当代码可以在不同的系统上工作时,它的使用范围就会扩大。使用其他系统的人可以从使用该程序中受益。对于初出茅庐的程序员来说,学习如何编写符合 POSIX 标准的程序,就能对他们的职业生涯有所帮助。对于那些对 Linux 领域的合规性感兴趣的读者,可以在以下网站找到很多好的信息: [Linux 基本标准(LSB)][3]。
|
||||||
|
|
||||||
|
### 但我不是程序员或系统设计师...
|
||||||
|
|
||||||
|
许多从事计算机工作的人并不是程序员或操作系统设计师。他们是医院的文员,是写信件、任务清单、听写备忘录的秘书,等等。其他人则是将数字制成表格,收集和整理数据,经营网上商店,写书和文章(我们中的一些人还会阅读这些文章)。几乎在每一个工作中,附近都可能有一台计算机。
|
||||||
|
|
||||||
|
POSIX 也影响着这些用户,不管他们是否知道。用户不一定要遵守这个标准,但他们确实希望他们的计算机能够工作。当操作系统和程序符合 POSIX 标准时,他们就获得了互操作性的好处。他们将能够从一个系统转移到另一个系统,并合理地期望这些机器能够像另一个系统那样工作。他们的数据仍然可以访问,他们仍然能够对其进行修改。
|
||||||
|
|
||||||
|
POSIX,以及其他标准,都在不断发展。随着技术的发展,标准也在发展。标准实际上是人们、制造商、组织等用来以有效的方式执行任务的商定系统。一个制造商的设备能够与另一个制造商的设备一起工作。想一想吧。你的蓝牙耳机可以在苹果手机上使用,也可以在安卓手机上使用。我们的电视可以连接到不同网络的视频和节目,如 Amazon Prime、BritBox、Hulu —— 仅举几例。现在,我们甚至可以用我们的手机监测心率。所有这些在很大程度上都是通过遵守标准而实现的。
|
||||||
|
|
||||||
|
好处多多。我喜欢这样。
|
||||||
|
|
||||||
|
### 那么 “X” 是什么?
|
||||||
|
|
||||||
|
我承认,我还没说过 POSIX 中的 “X” 是什么意思。[在一篇很好的文章中][4],Richard Stallman 解释了 POSIX 中的 “X” 是什么意思。用他的话来说就是这样:
|
||||||
|
|
||||||
|
> IEEE 已经完成了规范的制定,但没有简洁的名称。标题是 “可移植的操作系统接口”,虽然我不记得确切的字眼了。委员会把 “IEEEIX” 作为简写。我不认为这是个好的选择。它的发音很难听 —— 听起来就像恐怖的尖叫声,“Ayeee!” —— 所以我预计人们会把这个规范叫为 “Unix”。
|
||||||
|
>
|
||||||
|
> 由于 GNU 不是 Unix,而它的目的是取代 Unix,我不希望人们把 GNU 称为 “Unix 系统”。因此,我提出了一个人们可能真正使用的简洁的名字。在没有特别灵感的情况下,我用了一种很笨的方式取了一个名字。我取了 “可移植操作系统” 的首字母并加上 “ix”。IEEE 马上就采用了这个名字。
|
||||||
|
|
||||||
|
### 结论
|
||||||
|
|
||||||
|
POSIX 标准允许开发者使用大部分相同的代码在许多操作系统上创建应用程序、工具和平台。不管怎么说,按照标准写代码并不是一个要求,但当你想把你的代码移植到其他系统时,它确实有很大的帮助。
|
||||||
|
|
||||||
|
基本上,POSIX 是面向操作系统设计者和软件开发者的,但作为系统的使用者,无论我们是否意识到,我们都受到 POSIX 的影响。正是因为有了这个标准,我们才能够在一个 UNIX 或 Linux 系统上工作,并把工作带到另一个系统上,而且工作起来毫无障碍。作为用户,我们在可用性和跨系统的数据重复使用方面获得了许多好处。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/posix/
|
||||||
|
|
||||||
|
作者:[Bill Dyer][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/bill/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/What-is-POSIX.png?resize=800%2C450&ssl=1
|
||||||
|
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/IBM-system-360-vintage-picture.jpg?resize=800%2C593&ssl=1
|
||||||
|
[3]: https://refspecs.linuxfoundation.org/lsb.shtml
|
||||||
|
[4]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains
|
94
published/202201/20220121 Make a video game with Bitsy.md
Normal file
94
published/202201/20220121 Make a video game with Bitsy.md
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
[#]: subject: "Make a video game with Bitsy"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/bitsy-game-design"
|
||||||
|
[#]: author: "Peter Cheer https://opensource.com/users/petercheer"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14224-1.html"
|
||||||
|
|
||||||
|
用 Bitsy 制作电子游戏
|
||||||
|
======
|
||||||
|
|
||||||
|
> Bitsy 是一个开源电子游戏设计软件。 其简约的功能使任何人都可以探索他们的创造力。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
有许多游戏设计程序和各种游戏设计方法,但对我来说,最突出的是 Bitsy。Bitsy 由 Adam Le Doux 在 2017 年创建,在 MIT 许可下发布,用其创造者的话说,Bitsy 是:“一个用于小游戏或世界的编辑器。其目标是使制作游戏变得容易,在那里你可以四处走动,与人交谈,并到某个地方。”
|
||||||
|
|
||||||
|
### 安装 Bitsy
|
||||||
|
|
||||||
|
Bitsy 是用 JavaScript 编写的,可以制作 HTML5 游戏。你可以从 [GitHub][2] 或 [它的创造者的网站][3] 下载它。它很小,很容易学习,有独特的位图艺术风格,有意在功能上有所欠缺,而且能做的事情有限。
|
||||||
|
|
||||||
|
尽管(也许是因为)这些限制,Bitsy 自发布以来吸引了一个充满活力的用户社区。用户对 Bitsy 采取的两个主要方法是:接受限制和寻求突破限制,看看你能走多远。
|
||||||
|
|
||||||
|
### 创意的界限
|
||||||
|
|
||||||
|
Bitsy 的局限性意味着接受这些局限性仍能制作出令人满意的游戏,这就成为一个需要创造性和创造力的挑战。你可以在 [Itch.io 网站][4] 上看到和玩一些用 Bitsy 制作的令人印象深刻的游戏。同时,人们也想出了一些黑科技、调整和扩展。这些都在不牺牲 Bitsy 的本质的前提下突破了一些限制。
|
||||||
|
|
||||||
|
Bitsy 的基本元素是一个代表玩家的头像、发生游戏动作的房间、精灵(可以与之互动的非玩家角色)和物品。有一个用于创建这些元素的位图编辑器,它也支持简单的两帧动画。
|
||||||
|
|
||||||
|
![Bitsy bitmap editor][5]
|
||||||
|
|
||||||
|
在 Bitsy 中工作依赖于条件变量,而不是成熟的脚本,这使得没有编码背景的人容易学习,但有时会让那些期待更多灵活性的人感到沮丧。
|
||||||
|
|
||||||
|
如果你想了解 Bitsy 的基本情况,你可以在创作者的网站上了解,或者下载并在本地运行。
|
||||||
|
|
||||||
|
![Bitsy room editor][7]
|
||||||
|
|
||||||
|
### 文档
|
||||||
|
|
||||||
|
关于 Bitsy 的文档并不是只有一个地方可以去看。如果你想看 Bitsy 的操作,可以在 YouTube 上找到各种短视频。我更喜欢基于文本的教程,我发现最有用的三个资源是:
|
||||||
|
|
||||||
|
* [Itch.io 网站上提供的官方 Bitsy 教程][8],作者是 Claire Morwood
|
||||||
|
* [Bitsy workshop PDF][9], 由用户 haraiva 提供
|
||||||
|
* [Bitsy 变量][10], 教程由用户 ayolland 编写
|
||||||
|
|
||||||
|
阅读这些教程,尝试一些 Bitsy 游戏,并开始创造你自己的东西。开始时要保持简单。当你熟悉了 Bitsy,你可能想研究一下人们为它创造的一些 [工具、黑科技和扩展][11]。
|
||||||
|
|
||||||
|
它也是教育工作者的完美工具,甚至还有教育工作者 Hal Meeks 的 [Bitsy 课程][12] 可供在线学习。
|
||||||
|
|
||||||
|
你还可以在 [Itch.io 网站][13] 上找到人们为 Bitsy 制作的大量游戏资源。
|
||||||
|
|
||||||
|
### Twine 整合
|
||||||
|
|
||||||
|
你可能已经尝试过流行的基于浏览器的游戏开发工具 [Twine][14]。你可以将 Bitsy 与 Twine 不同程度地整合。整合的范围可以从简单地将 Bitsy 游戏放在一个 iframe 中显示在你的 Twine 游戏中,到在两个引擎之间共享变量和对话命令,让你在 Bitsy 游戏中执行基本的 Twine 命令!如果你对这些感兴趣,那么请看:
|
||||||
|
|
||||||
|
* [结合 Bitsy 和 Twine 的教程][15]
|
||||||
|
* [Bitsy 黑科技][16]
|
||||||
|
* [Freya 的 Twisty 模板][17]
|
||||||
|
|
||||||
|
### 给初学者的 Bitsy
|
||||||
|
|
||||||
|
初学者很容易入门 Bitsy,无论你是编程新手还是仅仅是游戏设计的新手。有了它,你可以探索它在激发创造力、想象力和创造性方面的所有可能性。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/bitsy-game-design
|
||||||
|
|
||||||
|
作者:[Peter Cheer][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/petercheer
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open_gaming_games_roundup_news.png?itok=KM0ViL0f (Gaming artifacts with joystick, GameBoy, paddle)
|
||||||
|
[2]: https://github.com/le-doux/bitsy
|
||||||
|
[3]: https://ledoux.itch.io/bitsy
|
||||||
|
[4]: https://itch.io/games/tag-bitsy
|
||||||
|
[5]: https://opensource.com/sites/default/files/uploads/bitsy-editor-sprite.jpg (Bitsy bitmap editor)
|
||||||
|
[6]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[7]: https://opensource.com/sites/default/files/uploads/bitsy-editor-room.jpg (Bitsy room editor)
|
||||||
|
[8]: https://www.shimmerwitch.space/bitsyTutorial.html
|
||||||
|
[9]: https://static1.squarespace.com/static/58930a6c893fc0a33ae624db/t/5bacd94ac83025ead3937071/1538054510407/BITSY-WORKSHOP.pdf
|
||||||
|
[10]: https://ayolland.itch.io/trevor/devlog/29520/bitsy-variables-a-tutorial
|
||||||
|
[11]: https://itch.io/tools/tag-bitsy
|
||||||
|
[12]: https://halmeeks.net/bitsyclass/
|
||||||
|
[13]: https://itch.io/game-assets/tag-bitsy
|
||||||
|
[14]: https://opensource.com/article/18/2/twine-gaming
|
||||||
|
[15]: https://spdrcstl.com/blog/bitsy-twine-tutorial.html
|
||||||
|
[16]: https://github.com/seleb/bitsy-hacks/blob/main/dist/twine-bitsy-comms.js
|
||||||
|
[17]: https://communistsister.itch.io/twitsy-template-1
|
@ -0,0 +1,136 @@
|
|||||||
|
[#]: subject: "System76’s COSMIC Desktop Panel Looks Refreshing!"
|
||||||
|
[#]: via: "https://news.itsfoss.com/system76-cosmic-panel/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14203-1.html"
|
||||||
|
|
||||||
|
System76 的 COSMIC 桌面面板看起来很清爽!
|
||||||
|
======
|
||||||
|
|
||||||
|
> System76 分享了其即将推出的使用 Rust 开发的 COSMIC 桌面的顶部面板草图。看起来令人惊叹!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
System76 令人兴奋的用 Rust 开发的 COSMIC 桌面的开发工作现在正在进行中。
|
||||||
|
|
||||||
|
虽然我们已经用早期的代码 [试过了][1],但我们现在可以看到更多的东西。从其 [GitHub 仓库][2] 和 [Figma 文档][3] 的一些原型中,我们可以看到它的更多信息。
|
||||||
|
|
||||||
|
值得注意的是,我们可以看到顶部面板和系统托盘,正如你在 COSMIC 桌面上所期望的那样。
|
||||||
|
|
||||||
|
这仍是一项正在进行的工作,可能会有变化。
|
||||||
|
|
||||||
|
### COSMIC 桌面的顶部面板
|
||||||
|
|
||||||
|
Pop!_OS 依赖于 GNOME 扩展来通过顶部面板或系统托盘图标提供更多的功能。
|
||||||
|
|
||||||
|
随着即将推出的使用 Rust 开发的 COSMIC 桌面,看起来他们正在创建新的小程序,与当前的外观相融合,并提供更多的功能。
|
||||||
|
|
||||||
|
开发者 Eduardo Flores [分解研究][4] 了它,发现了关键的区别以及 System76 的目标是如何使其发挥作用。
|
||||||
|
|
||||||
|
而且,这也是它更有趣的地方:
|
||||||
|
|
||||||
|
> 看起来 System76 正在摆脱传统的“扩展”,计划为第三方小程序设计一个 API,这与 KDE、XFce 和其他公司的做法类似。
|
||||||
|
>
|
||||||
|
> 这是一个令人兴奋的消息,将使 COSMIC 成为一个更强大的桌面环境,使其可以扩展和定制。
|
||||||
|
|
||||||
|
另外,似乎这些小程序也可以和顶部面板一起放在坞站里。我们会在其未来的某个测试版中看到更多的实际情况。
|
||||||
|
|
||||||
|
在这里,让我重点介绍一下从现有的草图中观察到的基本变化:
|
||||||
|
|
||||||
|
#### 1、声音小程序
|
||||||
|
|
||||||
|
![用 Rust 开发的 COSMIC 桌面(声音小程序)][5]
|
||||||
|
|
||||||
|
与我们现在所拥有的相比,COSMIC 的目标是增加细化的控制,如选择输入/输出设备、在顶部面板上切换媒体控制的选项、控制媒体播放,以及访问声音设置。
|
||||||
|
|
||||||
|
虽然草图没有显示专辑封面,但在发布前会包括它。
|
||||||
|
|
||||||
|
作为参考,以下是 Pop!_OS 顶部面板选项现在的样子。
|
||||||
|
|
||||||
|
![Pop!_OS 21.10(COSMIC,基于 GNOME)][6]
|
||||||
|
|
||||||
|
#### 2、电源小程序
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
很高兴看到有一个专门的电源按钮来快速访问系统设置、锁屏和注销。
|
||||||
|
|
||||||
|
另外,暂停、重启和关机的按钮应该可以提高可用性,关闭计算机不用额外的点击。
|
||||||
|
|
||||||
|
#### 3、网络小程序
|
||||||
|
|
||||||
|
虽然你可以很容易地打开或关闭有线、无线网络,但会弹出一个占据了整个屏幕的单独窗口来选择 Wi-Fi 网络并输入密码。
|
||||||
|
|
||||||
|
![][8]
|
||||||
|
|
||||||
|
但是,看起来我们终于可以在这里输入密码,连接到可用的无线网络,并重试失败的连接,而不必从活动窗口分心。所有这些都发生在系统托盘上的网络小程序上,如上面的截图所示。
|
||||||
|
|
||||||
|
同样,你可以看到关于你的有线连接的更多信息,包括 IP 地址和速度。
|
||||||
|
|
||||||
|
#### 4、日期、时间和日历小程序
|
||||||
|
|
||||||
|
![][9]
|
||||||
|
|
||||||
|
最重要的日历小程序看起来更加实用,信息量更大。通知区不再驻留在这里(它现在有一个单独的小程序),使它的体验更干净,可以把注意力放在你关注的东西上。
|
||||||
|
|
||||||
|
一些细微的视觉改进,比如用重点颜色来突出日历中的某一行,应该会使它更容易理解。
|
||||||
|
|
||||||
|
#### 5、通知中心
|
||||||
|
|
||||||
|
![][10]
|
||||||
|
|
||||||
|
正如我前面提到的,通知现在有一个独立的空间。通知小程序会将所有的通知堆积起来,并允许你在需要时展开它们,或者将它们全部清除。
|
||||||
|
|
||||||
|
我们仍然有“请勿打扰”开关,并可以快速访问通知设置。
|
||||||
|
|
||||||
|
#### 6、图形模式小程序
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
这对笔记本电脑用户来说应该是非常有用的,可以在图形模式之间无缝切换,并可以看到当前使用的哪种模式。
|
||||||
|
|
||||||
|
除了所有这些,还有一个蓝牙小程序、一个电池电源模式小程序,以及一些其他的东西,比如改变输入语言或输入源的能力。
|
||||||
|
|
||||||
|
![][12]
|
||||||
|
|
||||||
|
![][13]
|
||||||
|
|
||||||
|
鉴于这是初次看到使用 Rust 开发 COSMIC 桌面顶部面板的外观,看来我们有很多东西要去看了。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
总的来说,System76 正准备为我们提供一个高度可定制但又简化的 COSMIC 桌面版本。
|
||||||
|
|
||||||
|
而所有这些都应该有助于形成一种独特的桌面体验。当然,明年你就得在 Pop!_OS 中和 GNOME 说再见了。
|
||||||
|
|
||||||
|
你怎么看?请在下面的评论中告诉我你的想法!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/system76-cosmic-panel/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/system76-rust-cosmic-desktop/
|
||||||
|
[2]: https://github.com/pop-os/cosmic-panel/issues
|
||||||
|
[3]: https://www.figma.com/proto/ZeGTqzAM7dVZgjEW3uhxcd/Top-panel?node-id=559%3A11100&scaling=scale-down&page-id=559%3A11099&starting-point-node-id=559%3A11100&show-proto-sidebar=1
|
||||||
|
[4]: https://blog.edfloreshz.dev/articles/linux/system76/cosmic-panel/
|
||||||
|
[5]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-cosmic-sound-applet-early.png?w=820&ssl=1
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pop-os-current-top-panel.png?resize=1568%2C1037&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-power-applet.png?w=598&ssl=1
|
||||||
|
[8]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-network-applet.png?w=768&ssl=1
|
||||||
|
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-date-panel.png?w=1188&ssl=1
|
||||||
|
[10]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-notifications.png?w=1132&ssl=1
|
||||||
|
[11]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-graphics-applet.png?w=822&ssl=1
|
||||||
|
[12]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-battery.png?w=598&ssl=1
|
||||||
|
[13]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/cosmic-new-bluetooth.png?w=678&ssl=1
|
@ -0,0 +1,134 @@
|
|||||||
|
[#]: subject: "Our favorite Linux commands to use just for fun"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/fun-linux-commands"
|
||||||
|
[#]: author: "Opensource.com https://opensource.com/users/admin"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14226-1.html"
|
||||||
|
|
||||||
|
我们最喜欢的好玩的 Linux 命令
|
||||||
|
======
|
||||||
|
|
||||||
|
> Linux 命令行以生产力强而闻名。它也是一个可以获得一些乐趣的地方!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
去年 11 月,我们分享了一篇文章《[7 个好玩的 Linux 命令][2]》,并请读者们告诉我们推荐的“好玩”的 Linux 命令是什么,以及为什么?
|
||||||
|
|
||||||
|
一些读者在下面分享了他们的最爱:
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
这是我的最爱:
|
||||||
|
|
||||||
|
* 当然得有 `cowsay`!
|
||||||
|
* `fortune`,我最喜欢的 “黑科技” 是让用户连接时的 `motd` 成为一个幽默的格言。
|
||||||
|
* `sl`,在你的终端上的蒸汽机车。
|
||||||
|
* `xsnow`,另一个 XWindow 黑科技,这个命令可以在你的工作区降雪,并堆积在打开的窗口上。
|
||||||
|
* GNOME 复活节彩蛋,在 GNOME 2 中,按下 `Alt+F2`(打开运行对话框)并输入 `free the fish`,就可以在你的根窗口中释放 “Wanda the Fish”。如果你点击 Wanda,它就会四处游荡,窜来窜去(一段时间)。
|
||||||
|
|
||||||
|
~[Dave Neary][3]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
我的一天从这些开始:
|
||||||
|
|
||||||
|
`fortune`、`cowsay`、`lolcat`
|
||||||
|
|
||||||
|
![Don't take life too seriously][4]
|
||||||
|
|
||||||
|
紧接着是 `curl` [wttr.in][6]。
|
||||||
|
|
||||||
|
![Weather][7]
|
||||||
|
|
||||||
|
现在我们可以喝咖啡了 ;-)
|
||||||
|
|
||||||
|
~[Tomasz Waraksa][8]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`cmatrix` ,因为每当这个时候,你就会觉得自己被插入了机器。
|
||||||
|
|
||||||
|
|
||||||
|
~[Gary Smith][9]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```
|
||||||
|
telnet towel.blinkenlights.nl
|
||||||
|
```
|
||||||
|
|
||||||
|
这并不完全是 Linux 特有的,但它还挺棒的。
|
||||||
|
|
||||||
|
~[John 'Warthog9' Hawley][10]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Xroach 是 20 世纪 90 年代你的窗口管理器的一个很酷的附加功能。当时它与 Tab Window Manager (TWM)和 F Virtual Window Manager (FVWM)一起使用时非常有趣,但我已经多年没有使用它了。当你运行 Xroach 时,它添加了小蟑螂并“住”在你的窗口下。当你移动一个窗口或关闭它时,蟑螂就会窜到另一个窗口下躲起来或跑出屏幕。这只是其中一种使桌面更有趣的小方法。
|
||||||
|
|
||||||
|
看起来有一个 [Xroach 的现代移植][11],我得找个时间试试。
|
||||||
|
|
||||||
|
~[Jim Hall][12]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
我在 90 年代末担任过计算机科学的助教,我们的计算机实验室里有 Sun Sparc 工作站。有时学生会在实验室时间里走开而不锁屏。每隔一段时间,我就会在他们不注意的时候在终端上执行 `xroach &; clear`。
|
||||||
|
|
||||||
|
XRoach 是个好东西。蟑螂躲在窗口下,在屏幕上窜来窜去,当你移动一个窗口时,又躲在另一个窗口下。
|
||||||
|
|
||||||
|
~[Ann Marie Fred][13]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
我最喜欢的一个是 `hollywood`,在 [这里][14] 了解下。
|
||||||
|
|
||||||
|
只需运行它并开始随意按键,你就会让星巴克的每个人都相信你正在摧毁美国。
|
||||||
|
|
||||||
|
~[Clint Byrum][15]
|
||||||
|
|
||||||
|
[Jim Hall][12] 对此回应道:
|
||||||
|
|
||||||
|
这真是太棒了! 这让我想起了 [Hacker Typer][16]。它是一个网站而不是一个终端程序。只要调出网站,然后敲击键盘。不管你输入什么,Hacker Typer 的输出都似乎是真正的工作。:-)
|
||||||
|
|
||||||
|
为了回应 Clint Byrum(和 Jim Hall 的回应)带来的乐趣:
|
||||||
|
|
||||||
|
这两个我都喜欢! 请欣赏这篇关于 Hollywood 黑科技的 [博文][17]。我最爱之一。
|
||||||
|
|
||||||
|
~[Greg Scott][18]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
你最喜欢的“有趣的” Linux 命令是什么?请在下面的评论中分享你的。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/fun-linux-commands
|
||||||
|
|
||||||
|
作者:[Opensource.com][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/admin
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/lenovo-thinkpad-laptop-window-focus.png?itok=g0xPm2kD (young woman working on a laptop)
|
||||||
|
[2]: https://opensource.com/article/21/11/fun-linux-commands
|
||||||
|
[3]: https://opensource.com/users/dneary
|
||||||
|
[4]: https://opensource.com/sites/default/files/uploads/too-seriously.png (Don't take life too seriously)
|
||||||
|
[5]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[6]: http://wttr.in/
|
||||||
|
[7]: https://opensource.com/sites/default/files/uploads/wttr.png (Weather)
|
||||||
|
[8]: https://opensource.com/user_articles/380541
|
||||||
|
[9]: https://opensource.com/users/greptile
|
||||||
|
[10]: https://opensource.com/users/warthog9
|
||||||
|
[11]: https://github.com/interkosmos/xroach
|
||||||
|
[12]: https://opensource.com/users/jim-hall
|
||||||
|
[13]: https://opensource.com/users/annmarie99
|
||||||
|
[14]: https://snapcraft.io/install/hollywood/ubuntu
|
||||||
|
[15]: https://opensource.com/users/spamaps
|
||||||
|
[16]: https://hackertyper.net/
|
||||||
|
[17]: https://www.dgregscott.com/hollywood-hacker/
|
||||||
|
[18]: https://opensource.com/users/greg-scott
|
@ -0,0 +1,192 @@
|
|||||||
|
[#]: subject: "9 Open Source Add-Ons to Improve Your Mozilla Firefox Experience"
|
||||||
|
[#]: via: "https://itsfoss.com/best-firefox-add-ons/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14223-1.html"
|
||||||
|
|
||||||
|
9 个可以改善你的 Firefox 体验的插件
|
||||||
|
======
|
||||||
|
|
||||||
|
Firefox 显然是 Linux 用户中最受欢迎的开源网络浏览器之一。
|
||||||
|
|
||||||
|
事实上,它是 [可用于 Linux 的最佳网络浏览器][1] 之一。但是,它的附加组件(或扩展组件)如何呢?
|
||||||
|
|
||||||
|
考虑到你更喜欢开源的解决方案,你是否在使用开源服务的附加组件?有哪些你可以安装的最好的开源 Mozilla Firefox 附加组件?
|
||||||
|
|
||||||
|
### 你应该尝试的开源 Firefox 扩展程序
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
需要注意的是,在 Firefox 中并不是每个附加组件都是开源的。
|
||||||
|
|
||||||
|
此外,有几个开源项目的 Firefox 附加组件采用了不同的许可证。
|
||||||
|
|
||||||
|
#### 1、Dark Reader
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
[Dark Reader][5] 是一个流行的浏览器扩展,让你打开网站的深色模式。该扩展只是简单地改变背景和文本颜色,以融合深色模式主题。
|
||||||
|
|
||||||
|
在默认情况下,它与几乎所有网站都能很好地配合。然而,如果你认为深色模式无法阅读(或不好看),你也可以自定义颜色、对比度、亮度和灰度。
|
||||||
|
|
||||||
|
你也可以选择在特定的网站上启用它,而在其他网站上禁用它。在这两种情况下,你都可以创建一个网站白名单/黑名单的列表。
|
||||||
|
|
||||||
|
它是一个尊重用户隐私的开源项目。你可以在它的 [GitHub 页面][4] 中了解更多关于它的信息,或者安装该附加组件来尝试它。
|
||||||
|
|
||||||
|
#### 2、Bitwarden
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
毋庸置疑,这是现有的 [最佳密码管理器][7] 之一。
|
||||||
|
|
||||||
|
[Bitwarden][10] 是一个开源的密码管理器,提供各种功能。它专注于提供有竞争力的开源解决方案。
|
||||||
|
|
||||||
|
这个用于 Mozilla Firefox 的密码管理器插件并不亚于任何其他类似产品。你可以通过该扩展获得所有的基本功能,包括生成密码、管理你的保险库以及一些高级选项。
|
||||||
|
|
||||||
|
在我的使用场景中,我没有发现这个扩展有任何不足之处。如果你还没有试过,你应该尝试一下这个插件。你可以看看它的 [GitHub页面][9] 来了解更多信息。
|
||||||
|
|
||||||
|
#### 3、Vimium-FF
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
这是一个受 [Vim 键盘快捷键][12] 启发的开源工具,最初出现在 Chrome 浏览器上,后被移植到 Firefox。
|
||||||
|
|
||||||
|
Mozilla Firefox 上的 [Vimium][14] 附加组件还在开发中,最近没有新版本。然而,作为一个实验性的附加组件,它仍然拥有优秀的用户评价。
|
||||||
|
|
||||||
|
这个附加组件可以让你使用键盘快捷方式来改善你的浏览体验。例如,你可以设置快捷键来滚动、查看源代码、启用插入模式、浏览历史记录、检查下载等。
|
||||||
|
|
||||||
|
如果你对键盘快捷键很熟悉,这个附加组件应该是你的菜,尝试一下吧。
|
||||||
|
|
||||||
|
你可以找到它的 [GitHub 页面][13],也可以试试它的几个定制版本(复刻)。
|
||||||
|
|
||||||
|
#### 4、uBlock Origin
|
||||||
|
|
||||||
|
![][15]
|
||||||
|
|
||||||
|
如果你想摆脱网站中的那些动来动去的元素,以改善浏览体验,[uBlock Origin][17] 是一个出色的内容拦截器。
|
||||||
|
|
||||||
|
首先,它能阻止各种广告、跟踪器、弹出式窗口,以使网页的加载速度更快。如果一些网页在你的浏览器中加载时出现卡顿,它应该会派上用场。
|
||||||
|
|
||||||
|
如果一个网站不能正常运行,你也可以选择选择性地阻止或允许 JavaScript。它还具有过滤列表的功能,帮助你积极地阻断或尽量减少阻断,以平衡网络浏览体验而不破坏网站。
|
||||||
|
|
||||||
|
诸如阻止恶意域名、阻止大于特定尺寸的媒体等高级功能,能帮助你保持安全并节省网络带宽。查看其 [GitHub页面][16] 以了解更多技术细节。
|
||||||
|
|
||||||
|
#### 5、LanguageTool
|
||||||
|
|
||||||
|
![][18]
|
||||||
|
|
||||||
|
**注意:** 在这个列表中,我们尽量推荐完全开源的 Firefox 附加组件。但是,这是一个例外,作为一个非 FOSS 附加组件,其服务最初是开源的,但该扩展不是。
|
||||||
|
|
||||||
|
[LanguageTool][21] 是一个开源的语法和拼写检查器,它尊重你的隐私,使它成为与 Grammarly 和其他同类产品相当的替代品。它可以免费使用,但可以选择升级为高级更正功能。
|
||||||
|
|
||||||
|
对于基本的拼写检查和常见的语法错误,它应该是足够好的。在我写这篇文章的时候,我的 [LanguageTool][19] 扩展已经激活。这不仅仅是一个注重隐私的开源替代品,它的工作速度超快,不会影响你的写作体验。
|
||||||
|
|
||||||
|
服务器端是开源的,但不幸的是,该附加组件不是开源的。他们澄清了原因,因为他们不希望竞争对手使用该插件而没有任何回报(更多内容见他们的 [论坛帖子][20])。
|
||||||
|
|
||||||
|
然而,Mozilla 在它每次发布时都能审查源代码,这使得它成为一个值得推荐的附加组件。你可以在其 [官方网站][21] 或其 [GitHub 页面][22] 上探索关于该工具的更多信息。
|
||||||
|
|
||||||
|
#### 6、Tabby
|
||||||
|
|
||||||
|
![][24]
|
||||||
|
|
||||||
|
如果你想方便地管理具有不同活动窗口的多个标签,[Tabby][26] 应该会派上用场。
|
||||||
|
|
||||||
|
它简化了管理一个浏览器的多个标签和窗口的方法,还可以让你保存标签/窗口以便以后使用。说到标签管理,Firefox 并不是最棒的,所以你可能想试试这个。
|
||||||
|
|
||||||
|
你可以查看它的 [GitHub 页面][25] 或者安装这个附加组件来了解更多。
|
||||||
|
|
||||||
|
#### 7、Emoji
|
||||||
|
|
||||||
|
![][27]
|
||||||
|
|
||||||
|
在计算机上挑选或使用表情符并不容易。有了这个开源的 [扩展][29],你就只需点击一下就可以轻松地将几个表情符复制到剪贴板。
|
||||||
|
|
||||||
|
该插件是完全开源的,并且还使用一些开源字体。
|
||||||
|
|
||||||
|
你可以在其 [GitHub 页面][28] 上找到更多关于它的信息。
|
||||||
|
|
||||||
|
#### 8、DownThemAll
|
||||||
|
|
||||||
|
![][30]
|
||||||
|
|
||||||
|
[DownThemAll][33] 是一个强大的插件,可以轻松地从一个网页上下载多个文件/媒体。你可以选择一键下载所有文件,或者自定义你想要的文件。
|
||||||
|
|
||||||
|
还有一些额外的选项可以自定义文件名、基于队列的下载和高级选择。
|
||||||
|
|
||||||
|
你可以在其 [官方网站][31] 或 [GitHub 页面][32] 上了解它的更多信息。
|
||||||
|
|
||||||
|
|
||||||
|
#### 9、Tomato Clock
|
||||||
|
|
||||||
|
![][34]
|
||||||
|
|
||||||
|
如果你想在你的网络浏览器中实现 Pomodoro 功能(就像 Vivaldi 开箱即用提供的功能),[Tomato Clock][36] 是你需要的插件。
|
||||||
|
|
||||||
|
换句话说,它可以让你设置定时器,帮助你把工作分成若干个时间段,中间有短暂的休息。这应该有助于你保持生产力,而不会被工作压垮。
|
||||||
|
|
||||||
|
它使用起来很简单,还能显示一些使用统计,以了解你对它的利用情况。
|
||||||
|
|
||||||
|
你可以探索它的 [GitHub 页面][35] 了解技术信息,或者获取该扩展来开始。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
如果你是一个狂热的 Firefox 用户,我建议你看看这个 [Firefox 键盘快捷键的有用清单][37]。我们也有一个 [Firefox 罕为人知的功能][38] 列表。你也可以去看看。
|
||||||
|
|
||||||
|
虽然还有其他几个有用的 Firefox 附加组件,但我把这个列表限制在我自己使用的最好的那些。
|
||||||
|
|
||||||
|
你最喜欢的开源 Firefox 附加组件有哪些?请在下面的评论中告诉我。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/best-firefox-add-ons/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/best-browsers-ubuntu-linux/
|
||||||
|
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/firefox-extensions.png?resize=800%2C450&ssl=1
|
||||||
|
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/firefox-dark-reader.png?resize=708%2C608&ssl=1
|
||||||
|
[4]: https://github.com/darkreader/darkreader
|
||||||
|
[5]: https://addons.mozilla.org/en-US/firefox/addon/darkreader/
|
||||||
|
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/bitwarden-firefox-extension.png?resize=800%2C500&ssl=1
|
||||||
|
[7]: https://itsfoss.com/password-managers-linux/
|
||||||
|
[8]: https://itsfoss.com/bitwarden/
|
||||||
|
[9]: https://github.com/bitwarden/browser
|
||||||
|
[10]: https://addons.mozilla.org/en-US/firefox/addon/bitwarden-password-manager/
|
||||||
|
[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/vimium-firefox.png?resize=800%2C553&ssl=1
|
||||||
|
[12]: https://itsfoss.com/pro-vim-tips/
|
||||||
|
[13]: https://github.com/philc/vimium
|
||||||
|
[14]: https://addons.mozilla.org/en-US/firefox/addon/vimium-ff/
|
||||||
|
[15]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/ublockorigin-firefox.png?resize=647%2C491&ssl=1
|
||||||
|
[16]: https://github.com/gorhill/uBlock#ublock-origin
|
||||||
|
[17]: https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/
|
||||||
|
[18]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/languagetool-firefox.png?resize=710%2C601&ssl=1
|
||||||
|
[19]: https://itsfoss.com/languagetool-review/
|
||||||
|
[20]: https://forum.languagetool.org/t/about-the-browser-addon-privacy-and-open-source/7505
|
||||||
|
[21]: https://languagetool.org
|
||||||
|
[22]: https://github.com/languagetool-org/languagetool
|
||||||
|
[23]: https://addons.mozilla.org/firefox/addon/languagetool/
|
||||||
|
[24]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/tabby-firefox.png?resize=800%2C548&ssl=1
|
||||||
|
[25]: https://github.com/Bill13579/tabby
|
||||||
|
[26]: https://addons.mozilla.org/en-US/firefox/addon/tabby-window-tab-manager/
|
||||||
|
[27]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/emoji-firefox.png?resize=685%2C508&ssl=1
|
||||||
|
[28]: https://github.com/Sav22999/emoji
|
||||||
|
[29]: https://addons.mozilla.org/en-US/firefox/addon/emoji-sav/
|
||||||
|
[30]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/downthemall-firefox.png?resize=643%2C408&ssl=1
|
||||||
|
[31]: https://www.downthemall.org
|
||||||
|
[32]: https://github.com/downthemall/downthemall
|
||||||
|
[33]: https://addons.mozilla.org/en-US/firefox/addon/downthemall/
|
||||||
|
[34]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/tomato-firefox.png?resize=524%2C428&ssl=1
|
||||||
|
[35]: https://github.com/samueljun/tomato-clock
|
||||||
|
[36]: https://addons.mozilla.org/en-US/firefox/addon/tomato-clock/
|
||||||
|
[37]: https://itsfoss.com/firefox-keyboard-shortcuts/
|
||||||
|
[38]: https://itsfoss.com/firefox-useful-features/
|
@ -0,0 +1,100 @@
|
|||||||
|
[#]: subject: "Linux Jargon Buster: What are Upstream and Downstream?"
|
||||||
|
[#]: via: "https://itsfoss.com/upstream-and-downstream-linux/"
|
||||||
|
[#]: author: "Bill Dyer https://itsfoss.com/author/bill/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14215-1.html"
|
||||||
|
|
||||||
|
Linux 黑话解释:什么是上游和下游?
|
||||||
|
======
|
||||||
|
|
||||||
|
“<ruby>上游<rt>upstream</rt></ruby>” 和 “<ruby>下游<rt>downstream</rt></ruby>”这两个术语是相当模糊的,我认为一般人并不会真正使用它们。如果你只是一个 Linux 用户,并且不编写或维护软件,那么很有可能这些术语对你来说毫无意义,但它们对 Linux 世界中各个社区之间的交流方式有益的。
|
||||||
|
|
||||||
|
这些术语被用于网络、编程、内核,甚至在非计算机领域,如供应链。当我们谈论上游和下游的时候,讨论背景是很重要的。
|
||||||
|
|
||||||
|
在其最简单的形式中,上游和下游是信息流动的方向。
|
||||||
|
|
||||||
|
由于我们都是在连接到互联网的情况下阅读这篇文章的,让我们看看适用于互联网服务提供商(ISP)的上游/下游例子。这里,ISP 关注的是流量。上游流量是指数据是从不同的 ISP 的用户处传来的。例如,如果你有一个提供订阅通讯的网站,我发送的订阅信息就是上游数据。
|
||||||
|
|
||||||
|
下游流量是指从一个用户发送到不同 ISP 的另一个用户的数据,它被认为是下游流量。使用同样的订阅例子,假设我的订阅请求被批准,我在一封邮件中收到“欢迎”说明,在又一封邮件中收到最新的新闻简报。在这种情况下,数据是顺流而下的,因为它是由你(好吧,可能是作为代表你进行操作的自动化软件)发送给我,一个来自另外 ISP 的用户。
|
||||||
|
|
||||||
|
总结:我需要或想要的东西(你的通讯)是上游的。你提供给我的东西(欢迎词和实际的通讯)是下游的。
|
||||||
|
|
||||||
|
数据是在上游还是在下游,对我们用户来说可能并不重要,但对监控带宽使用的服务器管理员,以及<ruby>发行商<rt>distributor</rt></ruby>(发行版的制作者)和程序员来说却很重要。
|
||||||
|
|
||||||
|
在 Linux 世界里,上游和下游有两个主要背景。一个是关于内核的,另一个是关于应用程序的。还有其他的,但我希望我可以通过这两个来表达我的想法。
|
||||||
|
|
||||||
|
### Linux 内核背景下的上游和下游
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
Linux _就是_ 内核。在创建发行版时,Linux 发行版首先使用未经修改的内核源代码。然后添加必要的补丁,对内核进行配置。内核的配置是基于发行版想要提供的功能和选项。一旦决定了,就相应地创建了内核。
|
||||||
|
|
||||||
|
原始内核来自发行版的上游。当发行版得到源代码时,它就流向下游。一旦发行版得到了内核代码,它就会留在发行商那里,同时对它进行改造。它仍然是我们用户的上游,直到它准备好被发布。
|
||||||
|
|
||||||
|
发行版创建的内核版本将添加补丁和启用某些功能和选项。这种配置是由发行商决定的。这就是为什么有几种 Linux 流派的原因,例如,[Debian][2] 与 [Red Hat][3]。发行商会决定向他们的用户群提供哪些选项,并相应地编译内核。
|
||||||
|
|
||||||
|
一旦这项工作完成,它就会放在一个仓库中准备发布,我们就可以获得一份副本。这个副本向下游流向我们。
|
||||||
|
|
||||||
|
同样地,如果发行商发现了内核中的一个错误,修复了它,然后将补丁发送给内核开发者,这样他们就可以为下游的每个人修补内核。这被称为对上游的贡献,因为这里的流量是向上流向原始来源的。
|
||||||
|
|
||||||
|
### 在应用程序背景下的上游和下游
|
||||||
|
|
||||||
|
同样,从技术上讲,Linux 是内核,其他都是附加软件。发行商也会在他们的项目中加入额外的软件。在这种情况下,有几个上游。一个发行版可以包含任何数量的应用程序,如 X、KDE、Gnome 等等。
|
||||||
|
|
||||||
|
让我们想象一下,你在使用 [nano][4] 编辑器时发现它不能正常工作,于是你向发行版提交了一份错误报告。发行商的程序员会查看它,如果发现他们在 nano 中插入了一个错误,他们将修复它并在其仓库中发布一个新版本。如果他们发现不是他们制造了这个错误,发行商将向上游的 nano 程序员提交一份错误报告。
|
||||||
|
|
||||||
|
当涉及到像错误报告、功能请求等事情时,最好是将它们发送到上游的发行商那里,因为他们维护着你所使用的发行版的内核和附加应用程序。例如,我在几台机器上使用一个叫做 [Q4OS][5] 的发行版。如果我发现一个程序中的错误,我会把它报告给 Q4OS 的人。如果你碰巧使用的是 [Mint][6],你会把它报告给 Mint 项目。
|
||||||
|
|
||||||
|
比如说,如果你在一个普通的 Linux 论坛上发布一个问题,而你提到你在使用 Mint,你肯定会得到这样的回复。“这个问题最好在 Mint 论坛上处理”。用之前的 nano 错误的例子,有可能是 Mint 的程序员对 nano 进行了修改,使其在他们的发行版中运行得更好。如果他们确实犯了一个错误,他们会想知道这个错误,而且在犯了这个错误之后,他们会是修复它的人。
|
||||||
|
|
||||||
|
一旦修复,更新的程序就会被放入你可以使用的仓库。当你得到更新时,它就会顺流而下到你那里,像这样:
|
||||||
|
|
||||||
|
* 如果发行商进行了修复,新版本就会在发行仓库中提供。
|
||||||
|
* 如果该应用程序的程序员进行了修复,它将被发送到测试新代码的发行商那里。一旦发现它工作正常,它就会被放在仓库中,向下游流去。
|
||||||
|
|
||||||
|
### 自动流向下游
|
||||||
|
|
||||||
|
曾经有一段时间,用户得自己获取更新。用户会得到更新的源代码并编译一个新的可执行文件。随着时间的推移,像 `apt` 这样的工具被创造出来,允许用户从软件库中提取更新的二进制文件(可执行文件)。`apt` 程序是 Debian 的,但其他发行版也有他们自己的用于此用途的类似程序。
|
||||||
|
|
||||||
|
像 `apt` 这样的程序负责处理上游/下游的工作。如果你用升级选项运行 `apt`,像这样:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
它将查看(上游)发行仓库,找到任何需要的更新包,并将它们拉到你的机器上(下游)并安装它们。
|
||||||
|
|
||||||
|
有些发行版会更进一步。发行版的程序员和维护者总是在检查他们的产品。很多时候,应用程序的程序员会对他们的程序进行改进。系统库会经常更新,安全漏洞也会被堵上,等等。这些更新会提供给发行商,然后由发行商在发行仓库中提供新的版本。
|
||||||
|
|
||||||
|
与其让你每天运行 `apt`,一些发行版会提醒你有可用的更新并询问你是否需要它们。如果你想要,只要接受,更新就会被发送到你的机器上并安装。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
上游和下游实际上只是数据流的方向。这个数据在上游或下游流动的方式取决于最终需要谁来处理它。基本上,程序员是上游,用户是下游。
|
||||||
|
|
||||||
|
同样,作为用户,我们真的不需要关心这些术语,但这些概念确实有助于软件的开发和维护。通过将工作引向适当的小组,避免了重复工作。这也确保了标准的维护。例如,Chrome 浏览器可能需要做一些细微的改变,以便在某个发行版上运行,但它的核心是 Chrome 浏览器,它的外观和行为都不会有大的变化。
|
||||||
|
|
||||||
|
如果你发现你的发行版中的任何程序有错误,只需向发行版的维护者报告,这通常是通过他们的网站进行的。你将会把它发送到上游,但你是否记得你在向上游发送报告并不重要。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/upstream-and-downstream-linux/
|
||||||
|
|
||||||
|
作者:[Bill Dyer][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/bill/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/upstream-downstream.png?resize=800%2C450&ssl=1
|
||||||
|
[2]: https://www.debian.org/
|
||||||
|
[3]: https://www.redhat.com/
|
||||||
|
[4]: https://www.nano-editor.org/
|
||||||
|
[5]: https://q4os.org/
|
||||||
|
[6]: https://linuxmint.com/
|
@ -0,0 +1,115 @@
|
|||||||
|
[#]: subject: "Obsidian is a Notion Alternative for Hardcore Markdown Users for Creating Knowledge Graph of Notes"
|
||||||
|
[#]: via: "https://itsfoss.com/obsidian-markdown-editor/"
|
||||||
|
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14230-1.html"
|
||||||
|
|
||||||
|
黑曜石:Markdown 硬核用户创建知识图谱的 Notion 替代品
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
我喜欢用 Markdown 来写文章和做笔记。我不确定我是否符合 “Markdown 硬核用户”的标准,但我觉得它对我的写作工作很方便。
|
||||||
|
|
||||||
|
我在 Linux 上试过几个 Markdown 编辑器。我最喜欢的是 [Joplin][1],它可以用来做笔记和组织笔记,并在 Nextcloud 上保留备份。还有 [Zettlr][2],它适合于研究人员。
|
||||||
|
|
||||||
|
最近,我遇到了另一个 Markdown 编辑器,它在文档整理方面意外的不错。你可以用它将你的文件相互连接起来,并以类似思维导图的图形方式显示出来。
|
||||||
|
|
||||||
|
![黑曜石 Markdown 编辑器][3]
|
||||||
|
|
||||||
|
这就是 <ruby>[黑曜石][4]<rt>Obsidian</rt></ruby> 的主要吸引力,你可以用图形的方式查看你的 Markdown 笔记,特别是当这些笔记需要相互连接的时候。当然,它也有其他的功能。
|
||||||
|
|
||||||
|
> 非 FOSS 警报!
|
||||||
|
>
|
||||||
|
> 最初,我以为黑曜石是一个开源软件。当我寻找他们的源代码库时(在我写完这篇文章后),我才意识到它是 [免费使用的应用程序][5],但不是 FOSS(自由及开源软件)。这让我觉得惭愧,因为它实在是一个好应用,好到让我继续在这里介绍它。
|
||||||
|
|
||||||
|
### 黑曜石 Markdown 编辑器的功能
|
||||||
|
|
||||||
|
在黑曜石里,你会发现你期望从一个标准的 Markdown 编辑器得到的所有功能。它有一个侧边栏来显示文件夹结构,还有一个主窗格来显示你的文档。你可以选择在“编辑”和“阅读”视图之间切换。
|
||||||
|
|
||||||
|
![黑曜石 Markdown 编辑器的界面][6]
|
||||||
|
|
||||||
|
默认情况下,它只显示一个窗格,但你可以根据自己的喜好添加更多的窗格。例如,我添加了一个新的窗格来同时显示编辑和查看模式,这样就可以在同一时间编辑和预览文档。
|
||||||
|
|
||||||
|
![你可以垂直或水平地分割编辑器,以增加更多的窗格来并排查看][7]
|
||||||
|
|
||||||
|
你可以通过按 `[[` 键来创建现有笔记的内部链接。它可以打开一个文件搜索器,让你从同一项目(这里称为 “<ruby>金库<rt>vault</rt></ruby>”)中的现有笔记中选择。
|
||||||
|
|
||||||
|
![在黑曜石创建内部链接][8]
|
||||||
|
|
||||||
|
你可以切换到“图表视图”来显示同一个“金库”(项目)中的笔记之间的联系。我快速做了几个内部链接来进行测试,你可以看到它显示了文件之间的相互联系。
|
||||||
|
|
||||||
|
![黑曜石图表视图][9]
|
||||||
|
|
||||||
|
你可以图形化地进行搜索和替换。对笔记进行备注、合并文件、在笔记之间移动标题等等。
|
||||||
|
|
||||||
|
它还有一个命令模式(位于编辑器的左侧侧边栏),允许你控制编辑器的各个方面。其中一些“动作”也可以用键盘快捷键来完成。
|
||||||
|
|
||||||
|
![黑曜石命令调色板][10]
|
||||||
|
|
||||||
|
这还不是全部。黑曜石还有一个 [社区市场][11],在那里你可以找到并安装插件来扩展其功能。例如,你可以下载看板插件,用黑曜石来管理项目和任务。
|
||||||
|
|
||||||
|
![黑曜石也有第三方的社区插件][12]
|
||||||
|
|
||||||
|
这里还有很多功能,我不可能把它们全部列出。即使是项目网站也没有一次性列出所有的功能,这是很无奈的。
|
||||||
|
|
||||||
|
### 安装黑曜石
|
||||||
|
|
||||||
|
黑曜石是一个跨平台的应用程序,它可用于 Linux、macOS、Windows、Android 和 iOS。
|
||||||
|
|
||||||
|
对于 Linux,你可以选择使用 AppImage、Snap 或 Flatpak。我使用 AppImage 版本进行测试。你可以在其下载页面找到相关信息和文件。
|
||||||
|
|
||||||
|
- [下载黑曜石][13]
|
||||||
|
|
||||||
|
### 它值得使用吗?
|
||||||
|
|
||||||
|
黑曜石有一个学习曲线。你当然需要了解 [Markdown 的基础知识][14],但是除了编辑和显示 Markdown 文本之外的任何功能,你都需要在这里学习。
|
||||||
|
|
||||||
|
几乎任何应用程序都需要一些学习,但要想充分使用黑曜石,你需要付出比平常更多的努力。
|
||||||
|
|
||||||
|
但如果你是一个痴迷于 Markdown 的用户,并且有成吨的文档,这完全是值得的。这里的好处是它有 [丰富的文档][15] 来帮助你的学习过程。当你点击帮助按钮(显示为问号)时,这些文档也可以从应用界面中获得。
|
||||||
|
|
||||||
|
![访问黑曜石的文档][16]
|
||||||
|
|
||||||
|
黑曜石的界面让我觉得我在使用 VS Code,这并不是一件坏事。
|
||||||
|
|
||||||
|
如果你以 Markdown 为生,并且对正确管理你的文档很着迷,你应该考虑尝试一下黑曜石。
|
||||||
|
|
||||||
|
如果你足够喜欢它并开始定期使用它,也许你可以 [考虑捐赠][17] 或使用他们的高级产品以支持这个项目的发展。高级产品包括选择将你的笔记同步到他们的云端,或者将你的笔记发布到网站上。
|
||||||
|
|
||||||
|
黑曜石已经做得很专业和漂亮了。它就像 VS Code 的 Markdown 版,它有可能成为 [Notion][18] 等的真正替代品。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/obsidian-markdown-editor/
|
||||||
|
|
||||||
|
作者:[Abhishek Prakash][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/abhishek/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/joplin/
|
||||||
|
[2]: https://itsfoss.com/zettlr-markdown-editor/
|
||||||
|
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/obsidian.jpg?resize=800%2C424&ssl=1
|
||||||
|
[4]: https://obsidian.md/
|
||||||
|
[5]: https://obsidian.md/eula
|
||||||
|
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Markdown-Editor-800x462.png?resize=800%2C462&ssl=1
|
||||||
|
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-multiple-pane.png?resize=800%2C462&ssl=1
|
||||||
|
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Internal-Linking.webp?resize=800%2C450&ssl=1
|
||||||
|
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Graph-View.png?resize=800%2C474&ssl=1
|
||||||
|
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Command-Palette.png?resize=800%2C474&ssl=1
|
||||||
|
[11]: https://obsidian.md/plugins
|
||||||
|
[12]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Plugins.webp?resize=800%2C364&ssl=1
|
||||||
|
[13]: https://obsidian.md/download
|
||||||
|
[14]: https://itsfoss.com/markdown-guide/
|
||||||
|
[15]: https://help.obsidian.md/Obsidian/Index
|
||||||
|
[16]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/Obsidian-Markdown-Editor-Help.png?resize=800%2C439&ssl=1
|
||||||
|
[17]: https://obsidian.md/pricing
|
||||||
|
[18]: https://www.notion.so/
|
@ -0,0 +1,108 @@
|
|||||||
|
[#]: subject: "Jrnl: Your Digital Diary in the Linux Terminal"
|
||||||
|
[#]: via: "https://itsfoss.com/jrnl/"
|
||||||
|
[#]: author: "Marco Carmona https://itsfoss.com/author/marco/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14229-1.html"
|
||||||
|
|
||||||
|
Jrnl:你的 Linux 终端数字日记
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
想象一下:有人伤了你的心,而你想要的是心无旁骛地在日记中写下你的感受。你明白这种感受吗?没有吗?我也不知道。我没有心碎过(或者也许我心碎了,但我不想告诉你)。
|
||||||
|
|
||||||
|
但我还是想向你展示一个奇妙的极简的开源的记事应用来保存日记。
|
||||||
|
|
||||||
|
这个方便的小程序是 [Jrnl][1],它可以让你在终端中直接创建、搜索和查看日记条目。
|
||||||
|
|
||||||
|
用 Jrnl 创建新的笔记就像下面一样简单:
|
||||||
|
|
||||||
|
```
|
||||||
|
jrnl yesterday: I read an amazing article on It’s FOSS. I learn about a minimalist app called Jrnl, I should try it.
|
||||||
|
```
|
||||||
|
|
||||||
|
看起来很简单,不是吗?关键字 “yesterday” 在这里是一个触发器,它把你的笔记保存到昨天的日期。记住,它被称为 Jrnl(日记)是有原因的。它的主要目的是保存日记。
|
||||||
|
|
||||||
|
如果你喜欢把你的想法写成日记,或者只是想尝试一下,让我分享一下安装和使用的一些细节。
|
||||||
|
|
||||||
|
### 在你的 Linux 系统上安装和使用 Jnrl
|
||||||
|
|
||||||
|
Jrnl 可以用 pipx 或 Homebrew 包管理器安装。
|
||||||
|
|
||||||
|
我在测试中使用了 Homebrew,所以我将列出这些步骤。首先获取 Homebrew:
|
||||||
|
|
||||||
|
```
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
![Installing Homebrew on your system][2]
|
||||||
|
|
||||||
|
这就好了!如果你需要更多的信息,我们有一个关于 [在 Linux 上安装 Homebrew][3] 的详细教程。
|
||||||
|
|
||||||
|
当你安装了 Homebrew 包管理器后,用它来安装 Jrnl:
|
||||||
|
|
||||||
|
```
|
||||||
|
brew install jrnl
|
||||||
|
```
|
||||||
|
|
||||||
|
![Installing Jrnl with Homebrew][4]
|
||||||
|
|
||||||
|
安装后,只要初始化 jrnl 并开始写你的随机想法。
|
||||||
|
|
||||||
|
你还记得本文开头的第一个例子吗?让我们再来看看它吧!
|
||||||
|
|
||||||
|
```
|
||||||
|
jrnl yesterday: I read an amazing article in It’s FOSS. I learn about a minimalist app called Jrnl, I should try it.
|
||||||
|
```
|
||||||
|
|
||||||
|
![Writing an entry][5]
|
||||||
|
|
||||||
|
在这一行中,我用命令 `jrnl` 在一个时间戳旁启动程序,在这个例子中是 `yesterday`。我写了一个冒号 `:`,表示我将开始写一些东西,在第一个句子标记 `.?!:`(在这里是句号 `.`)之前包含的所有内容将是标题。最后,这个句号旁边的所有内容将被视为文件的主体。
|
||||||
|
|
||||||
|
目前,Jnrl 有两种模式:撰写和查看;前面的步骤用于撰写条目,但如果你想查看,例如,之前写过的条目,语法也很简单,你只需输入下一行。
|
||||||
|
|
||||||
|
```
|
||||||
|
jrnl -on yesterday
|
||||||
|
```
|
||||||
|
|
||||||
|
![Viewing an entry][6]
|
||||||
|
|
||||||
|
认为有人可能会阅读你的日记和想法?你也可以对你的条目进行加密。
|
||||||
|
|
||||||
|
这就好了! 当然,Jrnl 还有很多功能,你可以通过下面这行轻松找到:
|
||||||
|
|
||||||
|
```
|
||||||
|
jrnl --help
|
||||||
|
```
|
||||||
|
|
||||||
|
你也可以参考 [其官方网站][7] 上的文档。记住,在这样的一个开源项目中,文档是你最好的朋友。享受它吧!
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
当然,Jrnl 并不适合所有人。大多数命令行工具都不适合。但如果你在终端中生活和呼吸,并喜欢记录你的想法,它就适合你。
|
||||||
|
|
||||||
|
请不要忘记在评论中与我们分享你的个人经验,或者更好的是,如果你想让更多的人了解这个项目,你可以在各个社区和论坛上分享这个帖子。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/jrnl/
|
||||||
|
|
||||||
|
作者:[Marco Carmona][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/marco/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://jrnl.sh/en/stable/
|
||||||
|
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/11/Installing_brew.png?resize=800%2C131&ssl=1
|
||||||
|
[3]: https://itsfoss.com/homebrew-linux/
|
||||||
|
[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/11/installing_jrnl.png?resize=800%2C490&ssl=1
|
||||||
|
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/11/Writing_an_entry.png?resize=800%2C211&ssl=1
|
||||||
|
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/11/Viewing_an_entry.png?resize=800%2C159&ssl=1
|
||||||
|
[7]: https://jrnl.sh/en/stable/overview/
|
@ -0,0 +1,86 @@
|
|||||||
|
[#]: via: "https://opensource.com/article/22/1/open-source-internet-of-things"
|
||||||
|
[#]: author: "Joshua Allen Holm https://opensource.com/users/holmja"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "CN-QUAN"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14238-1.html"
|
||||||
|
|
||||||
|
2021 总结:10 个值得尝试的 DIY 物联网项目
|
||||||
|
======
|
||||||
|
|
||||||
|
> 在 2021 年,我们的作者们多次分享了他们关于各种物联网项目的专业知识。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
物联网(IoT)是计算领域的一个令人着迷的发展方向。互联智能设备、家庭自动化以及相关的发展领域正在产生许多有趣的项目。在 2021 年,我们的作者们多次分享了他们关于各种物联网项目的专业知识。以下是十大最佳物联网文章。
|
||||||
|
|
||||||
|
### 如何使用你选择的声音定制你的语音助手
|
||||||
|
|
||||||
|
在这篇由 Rich Lucente 撰写的这篇文章中 [了解 Nana and Poppy 项目][2]。Nana and Poppy 项目是 Rich Lucente 为人工智能语音助手创建自定义问候的开源项目。他描述了整个过程,从录制必要的音频片段到编写代码将这些片段组合成完整的问候语。成品是五个送给曾祖父母和祖父母的定制语音助手,他们现在无论何时与语音助手互动都能听到孙辈的声音。
|
||||||
|
|
||||||
|
### 用树莓派和 Prometheus 监测你家的温湿度
|
||||||
|
|
||||||
|
Chris Collins 描述了他如何 [利用 Prometheus 监测家中的温度和湿度][3]。他提供了关于在树莓派操作系统上安装 Prometheus、检测 Prometheus 应用程序、设置 systemd 单元和日志记录等方面的详细说明,以创建用于监控温度和湿度数据的工具。本文建立在 Chris 以前写的一篇文章的基础上,这篇文章是这个系列的下一篇文章。
|
||||||
|
|
||||||
|
### 用树莓派在家里设置温度传感器
|
||||||
|
|
||||||
|
学习如何通过使用树莓派、DHT22 数字传感器和一些 Python 代码 [设置温度传感器][4]。在本文中,Chris Collins 解释了如何将传感器连接到树莓派,安装 DHT 传感器软件,并使用 Python 脚本获取传感器数据。他最后调侃说,未来的文章将更多地自动化从该设备收集数据,这是本列表中的前一篇文章。
|
||||||
|
|
||||||
|
### 用智能手机远程控制你的树莓派
|
||||||
|
|
||||||
|
Stephan Avenwede 解释了如何 [使用你的智能手机来控制树莓派的 GPIO][5]。本教程描述了如何安装和使用 Pythonic 来使用 Telegram 通过网络连接控制树莓派。在写这篇文章时,他并没有考虑到具体的最终项目,因此本文提供了广泛的指导,你可以将其应用于许多项目。Stephan 建议的一些可能的项目包括草坪灌溉和车库开门器。
|
||||||
|
|
||||||
|
### 家庭自动化项目为什么选择开源
|
||||||
|
|
||||||
|
Alan Smithee 在本文中 [介绍了家庭自动化电子书][6]。这本电子书包含了与家庭自动化相关的内容。Alan 的文章概述了为什么技术能让每个人的生活变得更好,并提供了一个下载电子书的链接。
|
||||||
|
|
||||||
|
### 用 Grafana Cloud 监控你的树莓派
|
||||||
|
|
||||||
|
在 Matthew Helmke 的这篇教程中,了解如何 [用 Grafana Cloud 监控你的树莓派][7]。该项目使用树莓派、Prometheus 时间序列数据库和 Grafana Cloud 帐户。Matthew 解释了如何在树莓派上安装 Prometheus,并将其连接到 Grafana Cloud,为你的树莓派提供监控。
|
||||||
|
|
||||||
|
### 一种新的嵌入式开源操作系统
|
||||||
|
|
||||||
|
Zhu Tianlong 提供了 [RT-Thread 智能操作系统简介][8]。本文解释了什么是 RT-Thread Smart,谁可能需要使用它,以及它是如何工作的。本文中还有一个章节对 RT-Thread Smart 和 RT Thread 进行了对比。
|
||||||
|
|
||||||
|
### 使用 Rust 进行嵌入式开发
|
||||||
|
|
||||||
|
本文由 Alan Smithee 撰写,Liu Kang 供稿,介绍了 [使用 Rust 进行嵌入式开发][9]。这个包含大量代码的教程展示了如何在 C 中调用 Rust,以及如何在 Rust 中调用 C。这里有大量使用 Rust 工具(如 Cargo)进行开发的代码示例和详细说明。
|
||||||
|
|
||||||
|
### 开源 Linux 边缘开发入门
|
||||||
|
|
||||||
|
Daniel Oh 解释了如何使用 Quarkus 云原生 Java 框架来 [开始边缘开发][10]。Daniel 首先简要介绍了他在教程中使用的操作系统 CentOS Stream。然后他介绍了教程的三个主要步骤:
|
||||||
|
|
||||||
|
* 将物联网数据发送到轻量级消息代理。
|
||||||
|
* 使用 Quarkus 处理反应性数据流。
|
||||||
|
* 监控实时数据通道。
|
||||||
|
|
||||||
|
### 什么是雾计算?
|
||||||
|
|
||||||
|
你可能听说过云计算,但是 [什么是雾计算][11]?Seth Kenlon 将<ruby>雾计算<rt>fog computing</rt></ruby>描述为“云的外部‘边缘’”——由手机、手表和其他组成物联网的各种设备组成。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/open-source-internet-of-things
|
||||||
|
|
||||||
|
|
||||||
|
作者:[Joshua Allen Holm][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[CN-QUAN](https://github.com/CN-QUAN)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/holmja
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/osdc_BUS_Apple_520.png?itok=ZJu-hBV1 (collection of hardware on blue backround)
|
||||||
|
[2]: https://opensource.com/article/21/1/customize-voice-assistant
|
||||||
|
[3]: https://opensource.com/article/21/7/home-temperature-raspberry-pi-prometheus
|
||||||
|
[4]: https://opensource.com/article/21/7/temperature-sensors-pi
|
||||||
|
[5]: https://opensource.com/article/21/9/raspberry-pi-remote-control
|
||||||
|
[6]: https://opensource.com/article/21/6/home-automation-ebook
|
||||||
|
[7]: https://opensource.com/article/21/3/raspberry-pi-grafana-cloud
|
||||||
|
[8]: https://opensource.com/article/21/7/rt-thread-smart
|
||||||
|
[9]: https://opensource.com/article/21/10/rust-embedded-development
|
||||||
|
[10]: https://opensource.com/article/21/5/edge-quarkus-linux
|
||||||
|
[11]: https://opensource.com/article/21/5/fog-computing
|
@ -0,0 +1,248 @@
|
|||||||
|
[#]: subject: "Set up a build system with CMake and VSCodium"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/devops-cmake"
|
||||||
|
[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "robsean"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14249-1.html"
|
||||||
|
|
||||||
|
使用 CMake 和 VSCodium 设置一个构建系统
|
||||||
|
======
|
||||||
|
|
||||||
|
> 提供一个适当的 CMake 配置文件来使其他人可以更容易地构建、使用和贡献你的项目。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
这篇文章是使用开源 DevOps 工具进行 C/C++ 开发系列文章的一部分。如果你从一开始就把你的项目建立在一个功能强大的工具链上,你的开发会更快和更安全。除此之外,这会使别人更容易地参与你的项目。在这篇文章中,我将搭建一个基于 [CMake][2] 和 [VSCodium][3] 的 C/C++ 构建系统。像往常一样,相关的示例代码可以在 [GitHub][4] 上找到。
|
||||||
|
|
||||||
|
我已经测试了在本文中描述的步骤。这是一种适用于所有平台的解决方案。
|
||||||
|
|
||||||
|
### 为什么用 CMake ?
|
||||||
|
|
||||||
|
[CMake][5] 是一个构建系统生成器,可以为你的项目创建 Makefile。乍一看简单的东西可能相当地复杂。在较高的层次上,你可以定义你的项目的各个部分(可执行文件、库)、编译选项(C/C++ 标准、优化、架构)、依赖关系项(头文件、库),和文件级的项目结构。CMake 使用的这些信息可以在文件 `CMakeLists.txt` 中获取,它使用一种特殊的描述性语言编写。当 CMake 处理这个文件时,它将自动地侦测在你的系统上已安装的编译器,并创建一个用于启动它的 Makefile 文件。
|
||||||
|
|
||||||
|
此外,在 `CMakeLists.txt` 中描述的配置,能够被很多编辑器读取,像 QtCreator、VSCodium/VSCode 或 Visual Studio 。
|
||||||
|
|
||||||
|
### 示例程序
|
||||||
|
|
||||||
|
我们的示例程序是一个简单的命令行工具:它接受一个整数来作为参数,输出一个从 1 到所提供输入值的范围内的随机排列的数字。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./Producer 10
|
||||||
|
3 8 2 7 9 1 5 10 6 4
|
||||||
|
```
|
||||||
|
|
||||||
|
在我们的可执行文件中的 `main()` 函数,我们只处理输入的参数,如果没有提供一个值(或者一个不能被处理的值)的话,就退出程序。
|
||||||
|
|
||||||
|
```
|
||||||
|
int main(int argc, char** argv){
|
||||||
|
|
||||||
|
if (argc != 2) {
|
||||||
|
std::cerr << "Enter the number of elements as argument" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int range = 0;
|
||||||
|
|
||||||
|
try{
|
||||||
|
range = std::stoi(argv[1]);
|
||||||
|
}catch (const std::invalid_argument&){
|
||||||
|
std::cerr << "Error: Cannot parse \"" << argv[1] << "\" ";
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
catch (const std::out_of_range&) {
|
||||||
|
std::cerr << "Error: " << argv[1] << " is out of range";
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (range <= 0) {
|
||||||
|
std::cerr << "Error: Zero or negative number provided: " << argv[1];
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::stringstream data;
|
||||||
|
std::cout << Generator::generate(data, range).rdbuf();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
*producer.cpp*
|
||||||
|
|
||||||
|
实际的工作是在 [生成器][6] 中完成的,它将被编译,并将作为一个静态库来链接到我们的`Producer` 可执行文件。
|
||||||
|
|
||||||
|
```
|
||||||
|
std::stringstream &Generator::generate(std::stringstream &stream, const int range) {
|
||||||
|
std::vector<int> data(range);
|
||||||
|
std::iota(data.begin(), data.end(), 1);
|
||||||
|
|
||||||
|
std::random_device rd;
|
||||||
|
std::mt19937 g(rd());
|
||||||
|
|
||||||
|
std::shuffle(data.begin(), data.end(), g);
|
||||||
|
|
||||||
|
for (const auto n : data) {
|
||||||
|
|
||||||
|
stream << std::to_string(n) << " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
return stream;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
*Generator.cpp*
|
||||||
|
|
||||||
|
函数 `generate` 引用一个 [std::stringstream][7] 和一个整数来作为一个参数。根据整数 `range` 的值 `n`,制作一个在 `1` 到 `n` 的范围之中的整数向量,并随后打乱。接下来打乱的向量值转换成一个字符串,并推送到 `stringstream` 之中。该函数返回与作为参数传递相同的 `stringstream` 引用。
|
||||||
|
|
||||||
|
### 顶层的 CMakeLists.txt
|
||||||
|
|
||||||
|
顶层的 [CMakeLists.txt][8] 的是我们项目的入口点。在子目录中可能有多个 `CMakeLists.txt` 文件(例如,与项目所相关联的库或其它可执行文件)。我们先一步一步地浏览顶层的 `CMakeLists.txt`。
|
||||||
|
|
||||||
|
第一行告诉我们处理文件所需要的 CMake 的版本、项目名称及其版本,以及预定的 C++ 标准。
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake_minimum_required(VERSION 3.14)
|
||||||
|
|
||||||
|
project(CPP_Testing_Sample VERSION 1.0)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||||
|
```
|
||||||
|
|
||||||
|
我们用下面一行告诉 CMake 去查看子目录 `Generator`。这个子目录包括构建 `Generator` 库的所有信息,并包含它自身的一个 `CMakeLists.txt` 。我们很快就会谈到这个问题。
|
||||||
|
|
||||||
|
```
|
||||||
|
add_subdirectory(Generator)
|
||||||
|
```
|
||||||
|
|
||||||
|
现在,我们将涉及一个绝对特别的功能: [CMake 模块][9] 。加载模块可以扩展 CMake 功能。在我们的项目中,我们加载了 [FetchContent][10] 模块,这能使我们能够在 CMake 运行时下载外部的资源,在我们的示例中是 [GoogleTest][11] 。
|
||||||
|
|
||||||
|
```
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
googletest
|
||||||
|
URL https://github.com/google/googletest/archive/bb9216085fbbf193408653ced9e73c61e7766e80.zip
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(googletest)
|
||||||
|
```
|
||||||
|
|
||||||
|
在接下来的部分中,我们会做一些我们通常在普通的 Makefile 中会做的事: 指定要构建的二进制文件、它们相关的源文件、应该链接的库,以及编译器可以找到头文件的目录。
|
||||||
|
|
||||||
|
```
|
||||||
|
add_executable(Producer Producer.cpp)
|
||||||
|
|
||||||
|
target_link_libraries(Producer PUBLIC Generator)
|
||||||
|
|
||||||
|
target_include_directories(Producer PUBLIC "${PROJECT_BINARY_DIR}")
|
||||||
|
```
|
||||||
|
|
||||||
|
通过下面的语句,我们使 CMake 来在构建文件夹中创建一个名称为 `compile_commands.json` 的文件。这个文件会展示项目的每个文件的编译器选项。在 VSCodium 中加载该文件,会告知 IntelliSense 功能在哪里查找头文件(查看 [文档][12])。
|
||||||
|
|
||||||
|
```
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
```
|
||||||
|
|
||||||
|
最后的部分为我们的项目定义一些测试。项目使用先前加载的 GoogleTest 框架。单元测试的整个话题将会划归到另外一篇文章。
|
||||||
|
|
||||||
|
```
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
|
add_executable(unit_test unit_test.cpp)
|
||||||
|
|
||||||
|
target_link_libraries(unit_test gtest_main)
|
||||||
|
|
||||||
|
include(GoogleTest)
|
||||||
|
|
||||||
|
gtest_discover_tests(unit_test)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 库层次的 CMakeLists.txt
|
||||||
|
|
||||||
|
现在,我们来看看包含同名库的子目录 `Generator` 中的 [CMakeLists.txt][13] 文件。这个 `CMakeLists.txt` 文件的内容更简短一些,除了单元测试相关的命令外,它仅包含 2 条语句。
|
||||||
|
|
||||||
|
```
|
||||||
|
add_library(Generator STATIC Generator.cpp Generator.h)
|
||||||
|
target_include_directories(Generator INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
```
|
||||||
|
|
||||||
|
我们使用 `add_library(...)` 来定义一个新的构建目标:静态的 `Generator` 库。我们使用语句 `target_include_directories(...)` 来把当前子目录添加到其它构建目标的头文件的搜索路径之中。我们也具体指定这个属性的范围为类型 `INTERFACE`:这意味着该属性仅影响链接到这个库的构建目标,而不是库本身。
|
||||||
|
|
||||||
|
### 开始使用 VSCodium
|
||||||
|
|
||||||
|
通过使用 `CMakeLists.txt` 文件中的信息,像 VSCodium 一样的 IDE 可以相应地配置构建系统。如果你还没有使用 VSCodium 或 VS Code 的经验,这个示例项目会是一个很好的起点。首先,转到它们的 [网站][3] ,然后针对你的系统下载最新的安装软件包。打开 VSCodium 并导航到 “<ruby>扩展<rt>Extensions</rt></ruby>” 标签页。
|
||||||
|
|
||||||
|
为了正确地构建、调试和测试项目,搜索下面的扩展并安装它们:
|
||||||
|
|
||||||
|
![Searching extensions][14]
|
||||||
|
|
||||||
|
如果尚未完成,通过单击起始页的 “<ruby>克隆 Git 存储库<rt>Clone Git Repository</rt></ruby>” 来克隆存储库。
|
||||||
|
|
||||||
|
![Clone Git repository][16]
|
||||||
|
|
||||||
|
或者手动输入:
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/hANSIc99/cpp_testing_sample.git
|
||||||
|
```
|
||||||
|
|
||||||
|
之后,通过输入如下内容来签出标签 `devops_1`:
|
||||||
|
|
||||||
|
```
|
||||||
|
git checkout tags/devops_1
|
||||||
|
```
|
||||||
|
|
||||||
|
或者,通过单击 “main” 分支按钮(红色框),并从下拉菜单(黄色框)中选择标签。
|
||||||
|
|
||||||
|
![Select devops_1 tag][17]
|
||||||
|
|
||||||
|
在你打开 VSCodium 内部中的存储库的根文件夹后,CMake Tools 扩展会侦测 `CMakeLists.txt` 文件并立即扫描你的系统寻找合适的编译器。你现在可以单击屏幕的底部的 “<ruby>构建<rt>Build</rt></ruby>” 按钮(红色框)来开始构建过程。你也可以通过单击底部区域的按钮(黄色框)标记来更改编译器,它显示当前活动的编译器。
|
||||||
|
|
||||||
|
![Build compiler][18]
|
||||||
|
|
||||||
|
要开始调试 `Producer` 可执行文件,单击调试器符号(黄色框)并从下拉菜单中选择 “<ruby>调试<rt>Debug</rt></ruby> Producer”(绿色框)。
|
||||||
|
|
||||||
|
![Starting the debugger][19]
|
||||||
|
|
||||||
|
如上所述,`Producer` 可执行文件要求将元素的数量作为一个命令行的参数。命令行参数可以在 `.vscode/launch.json` 中具体指定。
|
||||||
|
|
||||||
|
![Command-line arguments][20]
|
||||||
|
|
||||||
|
好了,你现在能够构建和调试项目了。
|
||||||
|
|
||||||
|
### 结束语
|
||||||
|
|
||||||
|
归功于 CMake ,不管你正在运行哪种操作系统,上述步骤应该都能工作。特别是使用与 CMake 相关的扩展,VSCodium 变成了一个强大的 IDE 。我没有提及 VSCodium 的 Git 集成,是因为你已经能够在网络上查找很多的资源。我希望你可以看到:提供一个适当的 CMake 配置文件可以使其他人更容易地构建、使用和贡献于你的项目。在未来的文章中,我将介绍单元测试和 CMake 的测试实用程序 `ctest` 。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/devops-cmake
|
||||||
|
|
||||||
|
作者:[Stephan Avenwedde][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[robsean](https://github.com/robsean)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/hansic99
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/lenovo-thinkpad-laptop-window-focus.png?itok=g0xPm2kD (young woman working on a laptop)
|
||||||
|
[2]: https://cmake.org/
|
||||||
|
[3]: https://vscodium.com/
|
||||||
|
[4]: https://github.com/hANSIc99/cpp_testing_sample
|
||||||
|
[5]: https://opensource.com/article/21/5/cmake
|
||||||
|
[6]: https://github.com/hANSIc99/cpp_testing_sample/blob/main/Generator/Generator.cpp
|
||||||
|
[7]: https://en.cppreference.com/w/cpp/io/basic_stringstream
|
||||||
|
[8]: https://github.com/hANSIc99/cpp_testing_sample/blob/main/CMakeLists.txt
|
||||||
|
[9]: https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html
|
||||||
|
[10]: https://cmake.org/cmake/help/latest/module/FetchContent.html
|
||||||
|
[11]: https://github.com/google/googletest
|
||||||
|
[12]: https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference
|
||||||
|
[13]: https://github.com/hANSIc99/cpp_testing_sample/blob/main/Generator/CMakeLists.txt
|
||||||
|
[14]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_extensions.png (Searching extensions)
|
||||||
|
[15]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[16]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_git_clone.png (Clone Git repository)
|
||||||
|
[17]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_select_tag.png (Select devops_1 tag)
|
||||||
|
[18]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_compiler_2.png (Build compiler)
|
||||||
|
[19]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_start_debugging.png (Starting the debugger)
|
||||||
|
[20]: https://opensource.com/sites/default/files/uploads/cpp_unit_test_vscodium_arguments.png (Command-line arguments)
|
162
published/20220116 Solve Wordle using the Linux command line.md
Normal file
162
published/20220116 Solve Wordle using the Linux command line.md
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
[#]: subject: "Solve Wordle using the Linux command line"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/word-game-linux-command-line"
|
||||||
|
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14253-1.html"
|
||||||
|
|
||||||
|
用 Linux 命令行解决 Wordle 问题
|
||||||
|
======
|
||||||
|
|
||||||
|
> 使用 Linux 的 grep 和 fgrep 命令来赢得你最喜欢的基于单词的猜测游戏。
|
||||||
|
|
||||||
|
![Linux keys on the keyboard for a desktop computer][1]
|
||||||
|
|
||||||
|
我最近有点迷恋上了一个在线单词猜谜游戏,在这个游戏中,你有六次机会来猜一个随机的五个字母的单词。这个词每天都在变化,而且你每天只能玩一次。每次猜测后,你猜测中的每个字母都会被高亮显示:灰色表示该字母没有出现在神秘单词中,黄色表示该字母出现在单词中,但不在那个位置,绿色表示该字母出现在单词中的那个正确位置。
|
||||||
|
|
||||||
|
下面是你如何使用 Linux 命令行来帮助你玩像 Wordle 这样的猜测游戏。我用这个方法来帮助我解决 1 月 6 日的谜题:
|
||||||
|
|
||||||
|
### 第一次尝试
|
||||||
|
|
||||||
|
Linux 系统在 `/usr/share/dict/words` 文件中保存了一个单词词典。这是一个很长的纯文本文件。我的系统的单词文件里有超过 479,800 个条目。该文件既包含纯文本,也包含专有名词(名字、地点等等)。
|
||||||
|
|
||||||
|
为了开始我的第一次猜测,我只想得到一个长度正好是五个字母的纯文本词的列表。要做到这一点,我使用这个 `grep` 命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ grep '^[a-z][a-z][a-z][a-z][a-z]$' /usr/share/dict/words > myguess
|
||||||
|
```
|
||||||
|
|
||||||
|
`grep` 命令使用正则表达式来进行搜索。你可以用正则表达式做很多事情,但为了帮助我解决 Wordle 问题,我只需要基本的东西。`^` 表示一行的开始,`$` 表示一行的结束。在两者之间,我指定了五个 `[a-z]` 的实例,表示从 a 到 z 的任何小写字母。
|
||||||
|
|
||||||
|
我还可以使用 `wc` 命令来查看我的可能单词列表,“只有” 15,000 个单词:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wc -l myguess
|
||||||
|
15034 myguess
|
||||||
|
```
|
||||||
|
|
||||||
|
从这个列表中,我随机挑选了一个五个字母的单词:`acres`。`a` 被设置为黄色,意味着该字母存在于神秘单词的某处,但不在第一位置。其他字母是灰色的,所以我知道它们并不存在于今天的单词中。
|
||||||
|
|
||||||
|
![acres word attempt][2]
|
||||||
|
|
||||||
|
### 第二次尝试
|
||||||
|
|
||||||
|
对于我的下一个猜测,我想得到一个包含 `a` 的所有单词的列表,但不是在第一位置。我的列表也不应该包括字母 `c`、`r`、`e` 或 `s`。让我们把这个问题分解成几个步骤。
|
||||||
|
|
||||||
|
为了得到所有带 a 的单词的列表,我使用 `fgrep`(固定字符串 grep)命令。`fgrep` 命令也像 `grep` 一样搜索文本,但不使用正则表达式:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ fgrep a myguess > myguess2
|
||||||
|
```
|
||||||
|
|
||||||
|
这使我的下一个猜测的可能列表从 15,000 个字下降到 6,600 个字:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ wc -l myguess myguess2
|
||||||
|
15034 myguess
|
||||||
|
6634 myguess2
|
||||||
|
21668 total
|
||||||
|
```
|
||||||
|
|
||||||
|
但是这个单词列表中的第一个位置也有字母 `a`,这是我不想要的。游戏已经表明字母 `a` 存在于其他位置。我可以用 `grep` 修改我的命令,以寻找在第一个位置包含其他字母的词。这就把我可能的猜测缩小到了 5500 个单词:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ fgrep a myguess | grep '^[b-z]' > myguess2
|
||||||
|
$ wc -l myguess myguess2
|
||||||
|
15034 myguess
|
||||||
|
5566 myguess2
|
||||||
|
20600 total
|
||||||
|
```
|
||||||
|
|
||||||
|
但我知道这个神秘的词也不包括字母 `c`、`r`、`e` 或 `s`。我可以使用另一个 `grep` 命令,在搜索中省略这些字母:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ fgrep a myguess | grep '^[b-z]' | grep -v '[cres]' > myguess2
|
||||||
|
$ wc -l myguess myguess2
|
||||||
|
15034 myguess
|
||||||
|
1257 myguess2
|
||||||
|
16291 total
|
||||||
|
```
|
||||||
|
|
||||||
|
`-v` 选项意味着反转搜索,所以 `grep` 将只返回不符合正则表达式 `[cres]` 或单列字母 `c`、`r`、`e` 或 `s` 的行。有了这个额外的 `grep` 命令,我把下一个猜测的范围大大缩小到只有 1200 个可能的单词,这些单词在某处有一个 `a`,但不在第一位置,并且不包含 `c`、`r`、`e`、或 `s`。
|
||||||
|
|
||||||
|
在查看了这个列表后,我决定尝试一下 `balmy` 这个词。
|
||||||
|
|
||||||
|
![balmy word attempt][3]
|
||||||
|
|
||||||
|
### 第三次尝试
|
||||||
|
|
||||||
|
这一次,字母 `b` 和 `a` 被高亮显示为绿色,意味着我把这些字母放在了正确的位置。字母 `l` 是黄色的,所以这个字母存在于单词的其他地方,但不是在那个位置。字母 `m` 和 `y` 是灰色的,所以我可以从我的下一个猜测中排除这些。
|
||||||
|
|
||||||
|
为了确定下一个可能的单词列表,我可以使用另一组 `grep` 命令。我知道这个词以 `ba` 开头,所以我可以从这里开始搜索:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ grep '^ba' myguess2 > myguess3
|
||||||
|
$ wc -l myguess3
|
||||||
|
77 myguess3
|
||||||
|
```
|
||||||
|
|
||||||
|
这只有 77 个词! 我可以进一步缩小范围,寻找除第三位外还包含字母 `l` 的词:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ grep '^ba[^l]' myguess2 > myguess3
|
||||||
|
$ wc -l myguess3
|
||||||
|
61 myguess3
|
||||||
|
```
|
||||||
|
|
||||||
|
方括号 `[^l]` 内的 `^` 表示不是这个字母列表,即不是字母 `l`。这使我的可能单词列表达到 61 个,并非所有的单词都包含字母 `l`,我可以用另一个 `grep` 搜索来消除这些单词:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ grep '^ba[^l]' myguess2 | fgrep l > myguess3
|
||||||
|
$ wc -l myguess3
|
||||||
|
10 myguess3
|
||||||
|
```
|
||||||
|
|
||||||
|
这些词中有些可能包含字母 `m` 和 `y`,而这些字母并不在今天的神秘词中。我可以再进行一次反转 `grep` 搜索,将它们从我的猜测列表中删除:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ grep '^ba[^l]' myguess2 | fgrep l | grep -v '[my]' > myguess3
|
||||||
|
$ wc -l myguess3
|
||||||
|
7 myguess3
|
||||||
|
```
|
||||||
|
|
||||||
|
我的可能的单词列表现在非常短,只有七个单词!
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cat myguess3
|
||||||
|
babul
|
||||||
|
bailo
|
||||||
|
bakal
|
||||||
|
bakli
|
||||||
|
banal
|
||||||
|
bauld
|
||||||
|
baulk
|
||||||
|
```
|
||||||
|
|
||||||
|
我选择 `banal` 作为我下一次猜测的可能的词,而这恰好是正确的。
|
||||||
|
|
||||||
|
![banal word attempt][4]
|
||||||
|
|
||||||
|
### 正则表达式的力量
|
||||||
|
|
||||||
|
Linux 的命令行提供了强大的工具来帮助你完成实际工作。`grep` 和 `fgrep` 命令在扫描单词列表方面提供了极大的灵活性。对于一个基于单词的猜测游戏,`grep` 帮助识别了一个包含 15000 个可能的单词的列表。在猜测并知道哪些字母出现在神秘的单词中,哪些没有,`grep` 和 `fgrep` 帮助将选项缩小到 1200 个单词,然后只剩下 7 个单词。这就是命令行的力量。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/word-game-linux-command-line
|
||||||
|
|
||||||
|
作者:[Jim Hall][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/jim-hall
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/linux_keyboard_desktop.png?itok=I2nGw78_ (Linux keys on the keyboard for a desktop computer)
|
||||||
|
[2]: https://opensource.com/sites/default/files/acres.png (acres word attempt)
|
||||||
|
[3]: https://opensource.com/sites/default/files/balmy.png (balmy word attempt)
|
||||||
|
[4]: https://opensource.com/sites/default/files/banal.png (banal word attempt)
|
88
published/20220123 How I use Linux accessibility settings.md
Normal file
88
published/20220123 How I use Linux accessibility settings.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
[#]: subject: "How I use Linux accessibility settings"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/linux-accessibility-settings"
|
||||||
|
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14244-1.html"
|
||||||
|
|
||||||
|
我如何使用 Linux 的无障碍设置
|
||||||
|
======
|
||||||
|
|
||||||
|
> 不同的 Linux 系统以不同的方式处理辅助技术。 这里是一些对视觉、听觉、打字等有用的设置。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
当我在 20 世纪 90 年代开始使用 Linux 时,我已经 40 多岁了,<ruby>无障碍性<rt>accessibility</rt></ruby>不是我非常关注的问题。然而现在,当我快到 70 岁时,我的需求已经改变了。几年前,我从 System76 购买了一个全新的 Darter Pro,它的默认分辨率是 1920x1080,而且也是高 DPI。系统附带了 Pop!_OS,我发现我必须修改它才能看到显示屏上的图标和文字。谢天谢地,桌面上的 Linux 已经变得比 90 年代更容易使用了。
|
||||||
|
|
||||||
|
我需要辅助技术,特别是在视觉和听觉方面。还有一些我不使用的领域,但对需要帮助打字、指点、点击和手势的人来说是有用的。
|
||||||
|
|
||||||
|
不同的系统,如 Gnome、KDE、LXDE、XFCE 和其他系统,对这些辅助技术的处理方式不同。这些辅助性的调整大多可以通过 “<ruby>设置<rt>Settings</rt></ruby>” 对话框或键盘快捷键来实现。
|
||||||
|
|
||||||
|
### 文字显示
|
||||||
|
|
||||||
|
我需要帮助来显示较大的文字,在我的 Linux Mint Cinnamon 桌面上,我使用这些设置:
|
||||||
|
|
||||||
|
![accessibility options - visual][2]
|
||||||
|
|
||||||
|
我还发现 Gnome “<ruby>优化<rt>Tweaks</rt></ruby>” 可以让我对桌面体验的文字显示大小进行微调。我把我的显示器的分辨率从默认的 1920x1080 调整到更舒适的 1600x900。以下是我的布局设置:
|
||||||
|
|
||||||
|
![accessibility options - display][3]
|
||||||
|
|
||||||
|
### 键盘支持
|
||||||
|
|
||||||
|
我不需要键盘支持,但它们是现成支持的,如下图所示:
|
||||||
|
|
||||||
|
![accessibility options - keyboard][4]
|
||||||
|
|
||||||
|
### 更多无障碍选项
|
||||||
|
|
||||||
|
在 Fedora 35 上,无障碍访问也是熟悉的。打开 “<ruby>设置<rt>Settings</rt></ruby>” 菜单,选择让 “<ruby>总是显示无障碍菜单<rt>Always show Accessibility Menu</rt></ruby>” 图标在桌面上可见。我通常会切换 “<ruby>大字体<rt>Large Text</rt></ruby>”,除非我在一个大显示器上。还有许多其他选项,包括 “<ruby>缩放<rt>Zoom</rt></ruby>”、“<ruby>屏幕阅读器<rt>Screen Reader</rt></ruby>” 和 “<ruby>声音键<rt>Sound Keys</rt></ruby>”。这里有一些:
|
||||||
|
|
||||||
|
![accessibility options - settings][5]
|
||||||
|
|
||||||
|
当在 Fedora 的 “<ruby>设置<rt>Settings</rt></ruby>” 菜单中启用了 “<ruby>无障碍菜单<rt>Accessibility Menu</rt></ruby>”,就很容易从右上角的图标中切换其他功能:
|
||||||
|
|
||||||
|
![accessibility options - desktop][6]
|
||||||
|
|
||||||
|
有一些 Linux 发行版是专门为需要无障碍支持的人设计的。[Accessible Coconut][7] 就是这样一个发行版。Coconut 基于 Ubuntu Mate 20.04,并默认启用了屏幕阅读器。它装载了 Ubuntu Mate 的默认应用。Accessible Coconut 是 [Zendalona][8] 的作品,该公司专门开发自由开源的无障碍应用。他们所有的应用都是以 GPL 2.0 许可证发布的,包括 [iBus-Braille][9]。该发行版包括屏幕阅读器、各种语言的打印阅读、六键输入、打字辅导、放大器、电子书扬声器等等。
|
||||||
|
|
||||||
|
![accessibility options - desktop][10]
|
||||||
|
|
||||||
|
[Gnome 无障碍套件][11] 是一个开源软件库,是 Gnome 项目的一部分,为实现无障碍功能提供 API。你可以通过访问他们的维基来参与 [Gnome 无障碍团队][12]。KDE 也有一个 [无障碍项目][13] 和一个支持该项目的 [应用][14] 列表。你可以通过访问他们的 [维基][15] 来参与 KDE 无障碍项目。[XFCE][16] 也为用户提供了相关资源。[Fedora 项目维基][17] 也有一个可以安装在操作系统上的无障碍应用的列表。
|
||||||
|
|
||||||
|
### Linux 适合所有人
|
||||||
|
|
||||||
|
自 20 世纪 90 年代以来,Linux 已经有了长足的进步,其中一个很大的进步就是对无障碍的支持。很高兴知道随着 Linux 用户的不断变化,操作系统也可以和我们一起变化,并做出许多不同的支持选项。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/linux-accessibility-settings
|
||||||
|
|
||||||
|
作者:[Don Watkins][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/don-watkins
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/laptop_screen_desk_work_chat_text.png?itok=UXqIDRDD (Person using a laptop)
|
||||||
|
[2]: https://opensource.com/sites/default/files/accessibility-visualpng.png (accessibility options - visual)
|
||||||
|
[3]: https://opensource.com/sites/default/files/display.png (accessibility options - display)
|
||||||
|
[4]: https://opensource.com/sites/default/files/keyboard_0.png (accessibility options - keyboard)
|
||||||
|
[5]: https://opensource.com/sites/default/files/settings.png (accessibility options - settings)
|
||||||
|
[6]: https://opensource.com/sites/default/files/desktop.png (accessibility options - desktop)
|
||||||
|
[7]: https://zendalona.com/accessible-coconut/
|
||||||
|
[8]: https://zendalona.com/
|
||||||
|
[9]: https://github.com/zendalona/ibus-braille
|
||||||
|
[10]: https://opensource.com/sites/default/files/desktop2.png (accessibility options - desktop)
|
||||||
|
[11]: https://en.wikipedia.org/wiki/Accessibility_Toolkit
|
||||||
|
[12]: https://wiki.gnome.org/Accessibility
|
||||||
|
[13]: https://community.kde.org/Accessibility#KDE_Accessibility_Project
|
||||||
|
[14]: https://userbase.kde.org/Applications/Accessibility
|
||||||
|
[15]: https://community.kde.org/Get_Involved/accessibility
|
||||||
|
[16]: https://docs.xfce.org/xfce/xfce4-settings/accessibility
|
||||||
|
[17]: https://fedoraproject.org/wiki/Docs/Beats/Accessibility#Using_Fedora.27s_Accessibility_Tools
|
@ -0,0 +1,125 @@
|
|||||||
|
[#]: subject: "Use Mozilla DeepSpeech to enable speech to text in your application"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/voice-text-mozilla-deepspeech"
|
||||||
|
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14233-1.html"
|
||||||
|
|
||||||
|
使用 DeepSpeech 在你的应用中实现语音转文字
|
||||||
|
======
|
||||||
|
|
||||||
|
> 应用中的语音识别不仅仅是一个有趣的技巧,而且是一个重要的无障碍功能。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
计算机的主要功能之一是解析数据。有些数据比其他数据更容易解析,而语音输入仍然是一项进展中的工作。不过,近年来该领域已经有了许多改进,其中之一就是 DeepSpeech,这是 Mozilla 的一个项目,Mozilla 是维护 Firefox 浏览器的基金会。DeepSpeech 是一个语音到文本的命令和库,使其对需要将语音输入转化为文本的用户和希望为其应用提供语音输入的开发者都很有用。
|
||||||
|
|
||||||
|
### 安装 DeepSpeech
|
||||||
|
|
||||||
|
DeepSpeech 是开源的,使用 Mozilla 公共许可证(MPL)发布。你可以从其 [GitHub][2] 页面下载源码。
|
||||||
|
|
||||||
|
要安装,首先为 Python 创建一个虚拟环境:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python3 -m pip install deepspeech --user
|
||||||
|
```
|
||||||
|
|
||||||
|
DeepSpeech 依靠的是机器学习。你可以自己训练它,但最简单的是在刚开始时下载预训练的模型文件。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir DeepSpeech
|
||||||
|
$ cd Deepspeech
|
||||||
|
$ curl -LO \
|
||||||
|
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.pbmm
|
||||||
|
$ curl -LO \
|
||||||
|
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.scorer
|
||||||
|
```
|
||||||
|
|
||||||
|
### 用户应用
|
||||||
|
|
||||||
|
通过 DeepSpeech,你可以将语音的录音转录成书面文字。你可以从在最佳条件下干净录制的语音中得到最好的结果。然而,在紧要关头,你可以尝试任何录音,你可能会得到一些你需要手动转录的东西。
|
||||||
|
|
||||||
|
为了测试,你可以录制一个包含简单短语的音频文件:“This is a test. Hello world, this is a test”。将音频保存为一个 `.wav` 文件,名为 `hello-test.wav`。
|
||||||
|
|
||||||
|
在你的 DeepSpeech 文件夹中,通过提供模型文件、评分器文件和你的音频启动一个转录:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ deepspeech --model deepspeech*pbmm \
|
||||||
|
--scorer deepspeech*scorer \
|
||||||
|
--audio hello-test.wav
|
||||||
|
```
|
||||||
|
|
||||||
|
输出到标准输出(你的终端):
|
||||||
|
|
||||||
|
```
|
||||||
|
this is a test hello world this is a test
|
||||||
|
```
|
||||||
|
|
||||||
|
你可以通过使用 `--json` 选项获得 JSON 格式的输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ deepspeech --model deepspeech*pbmm \
|
||||||
|
-- json
|
||||||
|
--scorer deepspeech*scorer \
|
||||||
|
--audio hello-test.wav
|
||||||
|
```
|
||||||
|
|
||||||
|
这就把每个词和时间戳一起渲染出来:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"transcripts": [
|
||||||
|
{
|
||||||
|
"confidence": -42.7990608215332,
|
||||||
|
"words": [
|
||||||
|
{
|
||||||
|
"word": "this",
|
||||||
|
"start_time": 2.54,
|
||||||
|
"duration": 0.12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"word": "is",
|
||||||
|
"start_time": 2.74,
|
||||||
|
"duration": 0.1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"word": "a",
|
||||||
|
"start_time": 2.94,
|
||||||
|
"duration": 0.04
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"word": "test",
|
||||||
|
"start_time": 3.06,
|
||||||
|
"duration": 0.74
|
||||||
|
},
|
||||||
|
[...]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 开发者
|
||||||
|
|
||||||
|
DeepSpeech 不仅仅是一个转录预先录制的音频的命令。你也可以用它来实时处理音频流。GitHub 仓库 [DeepSpeech-examples][3] 中有 JavaScript、Python、C# 和用于 Android 的 Java 等各种代码。
|
||||||
|
|
||||||
|
大部分困难的工作已经完成,所以集成 DeepSpeech 通常只是引用 DeepSpeech 库,并知道如何从主机设备上获得音频(你通常通过 Linux 上的 `/dev` 文件系统或 Android 和其他平台上的 SDK 来完成。)
|
||||||
|
|
||||||
|
### 语音识别
|
||||||
|
|
||||||
|
作为一个开发者,为你的应用启用语音识别不只是一个有趣的技巧,而是一个重要的无障碍功能,它使你的应用更容易被有行动问题的人、低视力的人和长期多任务处理的人使用。作为用户,DeepSpeech 是一个有用的转录工具,可以将音频文件转换为文本。无论你的使用情况如何,请尝试 DeepSpeech,看看它能为你做什么。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/voice-text-mozilla-deepspeech
|
||||||
|
|
||||||
|
作者:[Seth Kenlon][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/seth
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/colorful_sound_wave.png?itok=jlUJG0bM (Colorful sound wave graph)
|
||||||
|
[2]: https://github.com/mozilla/DeepSpeech
|
||||||
|
[3]: https://github.com/mozilla/DeepSpeech-examples
|
187
published/20220128 Sharing the computer screen in Gnome.md
Normal file
187
published/20220128 Sharing the computer screen in Gnome.md
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
[#]: subject: "Sharing the computer screen in Gnome"
|
||||||
|
[#]: via: "https://fedoramagazine.org/sharing-the-computer-screen-in-gnome/"
|
||||||
|
[#]: author: "Lukáš Růžička https://fedoramagazine.org/author/lruzicka/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14261-1.html"
|
||||||
|
|
||||||
|
在 Gnome 中共享电脑屏幕
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
你不希望别人能够监视甚至控制你的电脑,你通常会努力使用各种安全机制来切断任何此类企图。然而,有时会出现这样的情况:你迫切需要一个朋友,或一个专家来帮助你解决电脑问题,但他们并不同时在同一地点。你如何向他们展示呢?你应该拿着你的手机,拍下你的屏幕照片,然后发给他们吗?你应该录制一个视频吗?当然不是。你可以与他们分享你的屏幕,并可能让他们远程控制你的电脑一段时间。在这篇文章中,我将介绍如何在 Gnome 中允许共享电脑屏幕。
|
||||||
|
|
||||||
|
### 设置服务器以共享屏幕
|
||||||
|
|
||||||
|
**服务器** 是一台提供(服务)一些内容的计算机,其他计算机(**客户端**)将消费这些内容。在本文中,服务器运行的是 **Fedora Workstation** 和标准的 **Gnome 桌面**。
|
||||||
|
|
||||||
|
#### 打开 Gnome 屏幕共享
|
||||||
|
|
||||||
|
默认情况下,Gnome 中共享计算机屏幕的功能是 **关闭** 的。要使用它,你需要把它打开:
|
||||||
|
|
||||||
|
1. 启动 <ruby>Gnome 控制中心<rt>Gnome Control Center</rt></ruby>。
|
||||||
|
2. 点击 <ruby>共享<rt>Sharing</rt></ruby> 标签。
|
||||||
|
![Sharing switched off][2]
|
||||||
|
3. 用右上角的滑块打开共享。
|
||||||
|
4. 单击 <ruby>屏幕共享<rt>Screen sharing</rt></ruby>。
|
||||||
|
![Sharing switched on][3]
|
||||||
|
5. 用窗口左上角的滑块打开屏幕共享。
|
||||||
|
6. 如果你希望能够从客户端控制屏幕,请勾选 <ruby>允许连接控制屏幕<rt>Allow connections to control the screen</rt></ruby>。不勾选这个按钮访问共享屏幕只允许 <ruby>仅浏览<rt>view-only</rt></ruby>。
|
||||||
|
7. 如果你想手动确认所有传入的连接,请选择 <ruby>新连接必须请求访问<rt>New connections must ask for access</rt></ruby>。
|
||||||
|
8. 如果你想允许知道密码的人连接(你不会被通知),选择 <ruby>需要密码<rt>Require a password</rt></ruby> 并填写密码。密码的长度只能是 8 个字符。
|
||||||
|
9. 勾选 <ruby>显示密码<rt>Show password</rt></ruby> 以查看当前的密码是什么。为了多一点保护,不要在这里使用你的登录密码,而是选择一个不同的密码。
|
||||||
|
10. 如果你有多个网络可用,你可以选择在哪个网络上访问该屏幕。
|
||||||
|
|
||||||
|
### 设置客户端以显示远程屏幕
|
||||||
|
|
||||||
|
**客户端** 是一台连接到由服务器提供的服务(或内容)的计算机。本演示还将在客户端上运行 **Fedora Workstation**,但如果它运行一个 VNC 客户端,操作系统实际上应该不太重要。
|
||||||
|
|
||||||
|
#### 检查可见性
|
||||||
|
|
||||||
|
在 Gnome 中,服务器和客户端之间共享计算机屏幕需要一个有效的网络连接,以及它们之间可见的“路由”。如果你不能建立这样的连接,你将无法查看或控制服务器的共享屏幕,这里描述的整个过程将无法工作。
|
||||||
|
|
||||||
|
为了确保连接的存在,找出服务器的 IP 地址。
|
||||||
|
|
||||||
|
启动 <ruby>Gnome 控制中心<rt>Gnome Control Center</rt></ruby>,又称 <ruby>设置<rt>Settings</rt></ruby>。使用右上角的**菜单**,或**活动**模式。当在**活动**中时,输入:
|
||||||
|
|
||||||
|
```
|
||||||
|
settings
|
||||||
|
```
|
||||||
|
|
||||||
|
并点击相应的图标。
|
||||||
|
|
||||||
|
选择 <ruby>网络<rt>Network</rt></ruby> 标签。
|
||||||
|
|
||||||
|
点击**设置按钮**(齿轮)以显示你的网络配置文件的参数。
|
||||||
|
|
||||||
|
打开 <ruby>详情<rt>Details</rt></ruby>标签,查看你的计算机的 IP 地址。
|
||||||
|
|
||||||
|
进入 **你的客户端的** 终端(你想从它连接到别的计算机),使用 `ping` 命令找出客户和服务器之间是否有连接。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ping -c 5 192.168.122.225
|
||||||
|
```
|
||||||
|
|
||||||
|
检查该命令的输出。如果它与下面的例子相似,说明计算机之间的连接存在。
|
||||||
|
|
||||||
|
```
|
||||||
|
PING 192.168.122.225 (192.168.122.225) 56(84) bytes of data.
|
||||||
|
64 bytes from 192.168.122.225: icmp_seq=1 ttl=64 time=0.383 ms
|
||||||
|
64 bytes from 192.168.122.225: icmp_seq=2 ttl=64 time=0.357 ms
|
||||||
|
64 bytes from 192.168.122.225: icmp_seq=3 ttl=64 time=0.322 ms
|
||||||
|
64 bytes from 192.168.122.225: icmp_seq=4 ttl=64 time=0.371 ms
|
||||||
|
64 bytes from 192.168.122.225: icmp_seq=5 ttl=64 time=0.319 ms
|
||||||
|
--- 192.168.122.225 ping statistics ---
|
||||||
|
5 packets transmitted, 5 received, 0% packet loss, time 4083ms
|
||||||
|
rtt min/avg/max/mdev = 0.319/0.350/0.383/0.025 ms
|
||||||
|
```
|
||||||
|
|
||||||
|
如果两台计算机存在同一个子网中,例如在你的家里或办公室,你可能不会遇到任何问题,但当你的服务器没有**公共 IP 地址**,无法从外部互联网上看到时,可能会出现问题。除非你是互联网接入点的唯一管理员,否则你可能需要就你的情况向你的管理员或你的 ISP 咨询。请注意,将你的计算机暴露在外部互联网上始终是一个有风险的策略,你**必须充分注意**保护你的计算机免受不必要的访问。
|
||||||
|
|
||||||
|
#### 安装 VNC 客户端(Remmina)
|
||||||
|
|
||||||
|
Remmina 是一个图形化的远程桌面客户端,你可以使用多种协议连接到远程服务器,如 VNC、Spice 或 RDP。Remmina 可以从 Fedora 仓库中获得,所以你可以用 `dnf` 命令或 <ruby>软件中心<rt>Software</rt></ruby> 来安装它,以你喜欢的方式为准。使用 `dnf`,下面的命令将安装该软件包和几个依赖项。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ sudo dnf install remmina
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 连接到服务器
|
||||||
|
|
||||||
|
如果服务器和客户端之间有连接,请确保以下情况:
|
||||||
|
|
||||||
|
1. 计算机正在运行。
|
||||||
|
2. Gnome 会话正在运行。
|
||||||
|
3. 启用了屏幕共享的用户已经登录。
|
||||||
|
4. 会话 **没有被锁定**,也就是说,用户可以使用该会话。
|
||||||
|
|
||||||
|
然后你可以尝试从客户端连接到该会话:
|
||||||
|
|
||||||
|
1. 启动 **Remmina**。
|
||||||
|
2. 在地址栏左侧的下拉菜单中选择 **VNC** 协议。
|
||||||
|
3. 在地址栏中输入服务器的IP地址,然后按下 **回车**。
|
||||||
|
![Remmina Window][4]
|
||||||
|
4. 当连接开始时,会打开另一个连接窗口。根据服务器的设置,你可能需要等待,直到服务器用户允许连接,或者你可能需要提供密码。
|
||||||
|
5. 输入密码,然后按 **OK**。
|
||||||
|
![Remmina Connected to Server][5]
|
||||||
|
6. 按下 ![Align with resolution button][6] 调整连接窗口的大小,使之与服务器的分辨率一致,或者按 ![Full Screen Button][8] 调整连接窗口的大小,使其覆盖整个桌面。当处于全屏模式时,注意屏幕上边缘的白色窄条。那是 Remmina 菜单,当你需要离开全屏模式或改变一些设置时,你可以把鼠标移到它上面。
|
||||||
|
|
||||||
|
当你回到服务器时,你会注意到现在在上栏有一个黄色的图标,这表明你正在 Gnome 中共享电脑屏幕。如果你不再希望共享屏幕,你可以进入菜单,点击 <ruby>屏幕正在被共享<rt>Screen is being shared</rt></ruby>,然后再选择 <ruby>关闭<rt>Turn off</rt></ruby>,立即停止共享屏幕。
|
||||||
|
|
||||||
|
![Turn off menu item][9]
|
||||||
|
|
||||||
|
#### 会话锁定时终止屏幕共享
|
||||||
|
|
||||||
|
默认情况下,当会话锁定时,连接 <ruby>将总是终止<rt>will always terminate</rt></ruby>。在会话被解锁之前,不能建立新的连接。
|
||||||
|
|
||||||
|
一方面,这听起来很合理。如果你想和别人分享你的屏幕,你可能不想让他们在你不在的时候使用你的电脑。另一方面,如果你想从远程位置控制你自己的电脑,无论是你在另一个房间的床上,还是你岳母的地方,同样的方法也不是很有用。有两个选项可以处理这个问题。你可以完全禁止锁定屏幕,或者使用支持通过 VNC 连接解锁会话的 Gnome 扩展。
|
||||||
|
|
||||||
|
##### 禁用屏幕锁定
|
||||||
|
|
||||||
|
要禁用屏幕锁定:
|
||||||
|
|
||||||
|
1. 打开 <ruby>Gnome 控制中心<rt>Gnome Control Center</rt></ruby>。
|
||||||
|
2. 点击 <ruby>隐私<rt>Privacy</rt></ruby>标签。
|
||||||
|
3. 选择 <ruby>屏幕锁定<rt>Screen Lock</rt></ruby> 设置。
|
||||||
|
4. 关掉 <ruby>自动屏幕锁定<rt>Automatic Screen Lock</rt></ruby>。
|
||||||
|
|
||||||
|
现在,会话将永远不会被锁定(除非你手动锁定),所以它能启动一个 VNC 连接到它。
|
||||||
|
|
||||||
|
##### 使用 Gnome 扩展来允许远程解锁会话
|
||||||
|
|
||||||
|
如果你不想关闭锁定屏幕的功能,或者你想有一个远程解锁会话的选项,即使它被锁定,你将需要安装一个提供这种功能的扩展,因为这种行为是默认不允许的。
|
||||||
|
|
||||||
|
要安装该扩展:
|
||||||
|
|
||||||
|
1. 打开**火狐浏览器**,并打开 [Gnome 扩展页面][10]。
|
||||||
|
![Gnome Extensions Page][11]
|
||||||
|
2. 在页面的上部,找到一个信息块,告诉你为火狐安装 “GNOME Shell integration”。
|
||||||
|
3. 点击 <ruby>点此安装浏览器扩展<rt>Click here to install browser extension</rt></ruby> 来安装 Firefox 扩展。
|
||||||
|
4. 安装完毕后,注意到 Firefox 的菜单部分有 Gnome 的标志。
|
||||||
|
5. 点击 Gnome 标志,回到扩展页面。
|
||||||
|
6. 搜索 “allow locked remote desktop”。
|
||||||
|
7. 点击显示的项目,进入该扩展的页面。
|
||||||
|
8. 使用右边的**开/关**按钮,将扩展**打开**。
|
||||||
|
![Extension selected][12]
|
||||||
|
|
||||||
|
现在,可以在任何时候启动 VNC 连接。注意,你需要知道会话密码以解锁会话。如果你的 VNC 密码与会话密码不同,你的会话仍然受到 _一点_ 保护。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
这篇文章介绍了在 Gnome 中实现共享计算机屏幕的方法。它提到了受限(_仅浏览_)访问和非受限(_完全_)访问之间的区别。然而,对于正式任务的远程访问,例如管理一个生产服务器,这个解决方案无论如何都不算是一个正确的方法。为什么?
|
||||||
|
|
||||||
|
1. 服务器将始终保持其**控制模式**。任何在服务器会话中的人都将能够控制鼠标和键盘。
|
||||||
|
2. 如果会话被锁定,从客户端解锁也会在服务器上解锁。它也会把显示器从待机模式中唤醒。任何能看到你的服务器屏幕的人都能看到你此刻正在做什么。
|
||||||
|
3. VNC 协议本身没有加密或保护,所以你通过它发送的任何东西都可能被泄露。
|
||||||
|
|
||||||
|
你几种可以建立一个受保护的 VNC 连接的方法。例如,你可以通过 SSH 协议建立隧道,以提高安全性。然而,这些都超出了本文的范围。
|
||||||
|
|
||||||
|
**免责声明**:上述工作流程在 Fedora 35 上使用几个虚拟机工作时没有问题。如果它对你不起作用,那么你可能遇到了一个错误。请报告它。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://fedoramagazine.org/sharing-the-computer-screen-in-gnome/
|
||||||
|
|
||||||
|
作者:[Lukáš Růžička][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://fedoramagazine.org/author/lruzicka/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://fedoramagazine.org/wp-content/uploads/2022/01/sharing_screen-816x345.jpg
|
||||||
|
[2]: https://fedoramagazine.org/wp-content/uploads/2022/01/settings_sharing_off.png
|
||||||
|
[3]: https://fedoramagazine.org/wp-content/uploads/2022/01/settings_sharing_on.png
|
||||||
|
[4]: https://fedoramagazine.org/wp-content/uploads/2022/01/remmina.png
|
||||||
|
[5]: https://fedoramagazine.org/wp-content/uploads/2022/01/remmina_connected_client.png
|
||||||
|
[6]: https://fedoramagazine.org/wp-content/uploads/2022/01/resolution.png
|
||||||
|
[8]: https://fedoramagazine.org/wp-content/uploads/2022/01/full_screen.png
|
||||||
|
[9]: https://fedoramagazine.org/wp-content/uploads/2022/01/turn_off_connection.png
|
||||||
|
[10]: https://extensions.gnome.org
|
||||||
|
[11]: https://fedoramagazine.org/wp-content/uploads/2022/01/extensions.png
|
||||||
|
[12]: https://fedoramagazine.org/wp-content/uploads/2022/01/switch_on_extension.png
|
@ -0,0 +1,91 @@
|
|||||||
|
[#]: subject: "Software Privacy Day: Use Delta Chat, an open source chat tool"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/delta-chat-software-privacy-day"
|
||||||
|
[#]: author: "Alan Smithee https://opensource.com/users/alansmithee"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14265-1.html"
|
||||||
|
|
||||||
|
Delta Chat:一个开源的聊天工具
|
||||||
|
======
|
||||||
|
|
||||||
|
> 最好的聊天应用是一个不属于聊天应用的应用。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
请考虑一下,当用户的数据被发布到互联网上,或通过互联网发布时,他们的数据究竟去了哪里。古老的聊天应用是互联网通信领域的一个手工行业,似乎在潮流中起起落落。人们使用聊天应用进行各种形式的对话,大多数人不会想到机器人正在记录和监控他们所说的话,无论是为了有效地定位广告还是只是为了建立一个档案供将来使用。这使得聊天应用特别容易受到不良的隐私做法的影响,但幸运的是,现在有几个开源的、注重隐私的应用,如 [Signal][2]、[Rocket.Chat][3] 和 [Mattermost][4]。我运行过 Mattermost 和 Rocket.Chat,我也在使用 Signal,但我最兴奋的应用是 Delta Chat,这个聊天服务非常方便,甚至不使用聊天服务器。相反,Delta Chat 使用的是你已经使用的最大规模和最多样化的开放信息系统:它使用电子邮件,通过聊天应用发送和接收信息,并以 [Autocrypt][5] 的端到端加密为特色。
|
||||||
|
|
||||||
|
### 安装 Delta Chat
|
||||||
|
|
||||||
|
Delta Chat 使用标准的电子邮件协议作为它的后端,但对于作为普通用户的你和我来说,它的外观和行为完全像一个聊天应用。也就是说你需要安装一个开源的 Delta Chat 应用。
|
||||||
|
|
||||||
|
在 Linux 上,你可以从 [Flatpak][6] 包或你的软件库中安装 Delta Chat。
|
||||||
|
|
||||||
|
在 macOS 和 Windows 上,从 [delta.chat/downloads][7] 下载一个安装程序。
|
||||||
|
|
||||||
|
在安卓系统上,你可以从 Play Store 或开源的 [F-droid 仓库][8] 安装 Delta Chat。
|
||||||
|
|
||||||
|
在 iOS 系统中,从 App Store 安装 Delta Chat。
|
||||||
|
|
||||||
|
因为 Delta Chat 使用电子邮件来传递信息,所以如果你不在你的聊天应用中,你也可以在收件箱中收到信息。是的,即使没有安装 Delta Chat,你也可以使用 Delta Chat!
|
||||||
|
|
||||||
|
### 配置 Delta Chat
|
||||||
|
|
||||||
|
当你第一次启动 Delta Chat 时,你必须登录到你的电子邮件账户。这往往是 Delta Chat 最难的部分,因为它要求你了解你的电子邮件服务器的详细信息,或者在你的电子邮件提供商的安全设置中创建一个“应用密码”。
|
||||||
|
|
||||||
|
如果你使用的是自己的服务器,并且所有配置都是默认的(993 端口用于 IMAP 接收,465 端口用于 SMTP 发出,启用了 SSL/TLS),那么你可以直接输入你的电子邮件地址和密码,然后继续。
|
||||||
|
|
||||||
|
![Delta Chat login][9]
|
||||||
|
|
||||||
|
如果你运行自己的服务器,但你有自定义设置,那么点击“<ruby>高级<rt>Advanced</rt></ruby>”按钮,输入你的设置。如果你使用一个不寻常的子域来用作你的邮件服务器,或一个自定义端口,或一个复杂的登录和密码配置,你可能需要这样做。
|
||||||
|
|
||||||
|
如果你使用的是 Gmail、Fastmail、Yahoo 或类似的电子邮件供应商,那么你必须创建一个应用密码,这样你就可以通过 Delta Chat 而不是网络浏览器登录到你的账户。许多电子邮件供应商限制登录,以避免无休止的机器人和脚本试图用暴力手段进入人们的账户,所以对你的供应商来说,Delta Chat 看起来很像机器人。当你授予 Delta Chat 特殊权限时,你就是在提醒你的电子邮件提供商,从一个远程应用发出大量的短信息是预期的行为。
|
||||||
|
|
||||||
|
每个电子邮件提供商都有不同的提供应用密码的方式,但 Fastmail(在我看来)是最简单的:
|
||||||
|
|
||||||
|
1. 进入“<ruby>设置<rt>Settings</rt></ruby>”
|
||||||
|
2. 点击“<ruby>密码和安全<rt>Passwords & Security</rt></ruby>”
|
||||||
|
3. 在“<ruby>第三方应用<rt>Third-party apps</rt></ruby>”的旁边,点击“<ruby>添加<rt>Add</rt></ruby>”按钮
|
||||||
|
|
||||||
|
验证你的密码,并创建一个新的应用密码。使用你创建的应用密码登录 Delta Chat。
|
||||||
|
|
||||||
|
![Fastmail app password][11]
|
||||||
|
|
||||||
|
### 使用 Delta Chat 聊天
|
||||||
|
|
||||||
|
当你克服了登录的障碍,剩下的就很容易了。因为 Delta Chat 只使用电子邮件,你可以通过电子邮件地址而不是通过聊天程序的用户名或电话号码来添加朋友。从技术上讲,你可以在 Delta Chat 上添加任何电子邮件地址。毕竟,它只是一个有特定使用场景的电子邮件应用。不过,告诉你的朋友 Delta Chat 是很有礼貌的,而不是期望他们通过他们的电子邮件客户端与你进行随意的聊天。
|
||||||
|
|
||||||
|
无论你是在手机还是在电脑上运行这个应用,其外观都与你所期望的聊天应用完全一样。你可以发起聊天,发送消息,并通过加密文本与朋友闲聊。
|
||||||
|
|
||||||
|
![Delta Chat chat list][12]
|
||||||
|
|
||||||
|
### 开始聊天
|
||||||
|
|
||||||
|
Delta Chat 是去中心化的、完全加密的,并依赖于一个成熟的基础设施。多亏 Delta Chat,你可以选择你和你的联系人之间的服务器,你可以在私下里交流。没有需要安装的复杂的服务器,没有需要维护的硬件。这是一个看似复杂问题的简单解决方案,而且是开源的。我们有充分的理由去尝试它。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/delta-chat-software-privacy-day
|
||||||
|
|
||||||
|
作者:[Alan Smithee][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/alansmithee
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/email_chat_communication_message.png?itok=LKjiLnQu (Chat via email)
|
||||||
|
[2]: https://opensource.com/article/21/9/alternatives-zoom#signal
|
||||||
|
[3]: https://opensource.com/article/22/1/rocketchat-open-source-communications-platform-puts-data-privacy-first
|
||||||
|
[4]: https://opensource.com/education/16/3/mattermost-open-source-chat
|
||||||
|
[5]: https://autocrypt.org/
|
||||||
|
[6]: https://opensource.com/article/21/11/install-flatpak-linux
|
||||||
|
[7]: https://delta.chat/en/download
|
||||||
|
[8]: https://f-droid.org/app/com.b44t.messenger
|
||||||
|
[9]: https://opensource.com/sites/default/files/delta-chat-log-in_0.jpg (Delta Chat login)
|
||||||
|
[10]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[11]: https://opensource.com/sites/default/files/fastmail-app-password.jpg (Fastmail app password)
|
||||||
|
[12]: https://opensource.com/sites/default/files/delta-chat-google-play-release-chat-list-light.png (Delta Chat chat list)
|
@ -0,0 +1,198 @@
|
|||||||
|
[#]: subject: "I Used Linux-Based PinePhone Daily For A Year. Here’s What I Learned!"
|
||||||
|
[#]: via: "https://news.itsfoss.com/pinephone-review/"
|
||||||
|
[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14235-1.html"
|
||||||
|
|
||||||
|
我的一年的 PinePhone 日常使用体验
|
||||||
|
======
|
||||||
|
|
||||||
|
> 它不是每个人的理想选择,但作为一个 Linux 爱好者,我喜欢用它做实验。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
当 Pine64 在 2019 年发布 PinePhone 时,没有人能够预见它将对移动 Linux、桌面 Linux 和隐私产生巨大的影响。
|
||||||
|
|
||||||
|
作为 [少数专为运行桌面 Linux 而设计的手机][1] 之一,它具有低端安卓手机的所有功能,同时又具有笔记本电脑的多功能性。不幸的是,桌面 Linux 就是这样:它是为台式机设计的,而不是为手机设计的。
|
||||||
|
|
||||||
|
幸运的是,由于 GNOME、KDE、Pine64 和众多 Linux 社区的惊人力量,全新的桌面环境、应用程序和发行版应运而生。其中一些比较知名的包括 Plasma Mobile、[Phosh][2]、Megapixels 和Mobian。
|
||||||
|
|
||||||
|
有了这些所有关键的部分,Pine64 需要做的就是销售 PinePhone,他们确实也卖出了 PinePhone。每一轮社区版(每个都预装了不同的发行版)的预购都收到了数千份订单,其中之一就是我的。
|
||||||
|
|
||||||
|
自从我在 2020 年 12 月收到我的设备后,PinePhone 一直是我日常生活中的重要组成部分,我在 2021 年全年都把它作为我的日常设备。以下是我使用它的经验。
|
||||||
|
|
||||||
|
### 它的性能就像糖浆一样
|
||||||
|
|
||||||
|
PinePhone 采用了全志 a64 系统芯片,它的功率只够完成最基本的手机任务。即使是简单的事情,如打开火狐浏览器,也需要将近 20 秒的时间,这无疑要“归功于”它仅有的 4 个核心。这与现代中高端安卓手机形成鲜明对比,所有这些手机都有至少 2GHz 的 8 核处理器。
|
||||||
|
|
||||||
|
幸运的是,社区再次介入,对数以千计的小型软件实施了优化。虽然性能仍然不如安卓系统的竞争对手,但这确实意味着 PinePhone 对于大多数手机任务来说是非常适用了,甚至在通过附带的底座使用外部显示器时,也可以使用一些面向桌面的应用程序。
|
||||||
|
|
||||||
|
即使它在这里和那里可能会有一点卡顿,PinePhone 在大多数情况下都有足够的能力。但是电池呢?它真的能续航一整天吗?
|
||||||
|
|
||||||
|
### 电池续航……没问题
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
虽然我很想说,由于 PinePhone 的低功耗组件,电池续航想必是超棒的。但不幸的是,情况并非如此,即使在实施了所有节电改进措施后也是如此。
|
||||||
|
|
||||||
|
经过一夜的充电,我通常在早上阅读新闻,然后在午餐时间再读一些。尽管这相当于不到一个小时的屏幕开启时间,但电池仍然持续下降约 35%,使我在下午只剩下 65%。幸运的是,这并不是一个大问题,尤其是调制解调器的深度睡眠功能工作得很好。
|
||||||
|
|
||||||
|
补充一句,几乎所有的移动电话都会将其调制解调器放入深度睡眠模式,这基本上是关闭一切除了接收电话和短信所需的功能。然后,当你接到一个电话时,调制解调器会唤醒自己和 SoC,然后开始响铃。
|
||||||
|
|
||||||
|
根据我的经验,PinePhone 上深度睡眠的实施绝对很棒,没有错过任何一个电话。因此,考虑到其糟糕的开屏续航时间,PinePhone 的关屏续航相当惊人。我在最少使用的情况下,电池寿命一直能保持在 60 小时以上,这是我的 Galaxy S20 FE 无法比拟的。
|
||||||
|
|
||||||
|
### 不要期望有什么漂亮的照片
|
||||||
|
|
||||||
|
PinePhone 仅有的 500 万像素后置摄像头和更小的 200 万像素前置摄像头,不要指望能拍出专业级别的照片。甚至许多 USB 网络摄像头也能提供更好的图像质量,以及更多的常规功能。见鬼,PinePhone 的摄像头甚至不能够拍摄视频!
|
||||||
|
|
||||||
|
它所做的少量后期处理确实有助于提升一点照片质量,尽管还不足以让它们适合发到社交媒体上。作为比较,这里是用 iPhone 4S(2011 年)和 PinePhone(2019 年)拍摄的同一张照片。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
在古老的 SoC、普普通通的电池续航和可怜的相机之间,很明显 PinePhone 的硬件绝对不是它的强项。但软件能拯救它吗?
|
||||||
|
|
||||||
|
### 桌面环境还是移动环境?
|
||||||
|
|
||||||
|
在这个移动 Linux 的世界里,主要有三种桌面环境领域,它们是:
|
||||||
|
|
||||||
|
* Plasma Mobile
|
||||||
|
* Phosh
|
||||||
|
* [Lomiri][5]
|
||||||
|
|
||||||
|
在我日常使用 PinePhone 的过程中,我大约花了 4 个月的时间使用每个环境。在这段时间里,我发现它们的功能、问题和成熟度各有不同,我会在这里讨论这些问题。
|
||||||
|
|
||||||
|
#### Plasma Mobile
|
||||||
|
|
||||||
|
![图片来源:KDE Plasma Mobile][6]
|
||||||
|
|
||||||
|
早在 2015 年 Plasma 5 发布之后,Plasma Mobile 已经默默地在后台开发了近 7 年。从最初的发布到 PinePhone 的发布,Plasma Mobile 背后的团队成功地创造了一个相当可用的移动桌面环境。
|
||||||
|
|
||||||
|
然而,随着 PinePhone 的发布,这一切都改变了。困扰 Plasma Mobile 的许多错误已经被解决了,而且也在改进用户界面方面付出了巨大的努力。
|
||||||
|
|
||||||
|
作为一个 KDE 项目,Plasma Mobile 广泛使用了 Kirigami,这导致了一个极其一致和移动友好的应用生态系统。此外,许多先前就有的 KDE 应用程序也能完美地扩展到该平台。
|
||||||
|
|
||||||
|
由于 Maui 项目刚刚发布了他们的 Maui Shell,这个应用生态系统得到了进一步的扩展(更多信息即将发布)。由于他们强大的实用程序套件,Plasma Mobile 是一个真正的安卓替代品。
|
||||||
|
|
||||||
|
然而,这并不是说 Plasma Mobile 是完美的。即使到了 2022 年,仍有一些残余的错误和问题。然而,这被其成熟的应用生态系统、对手势的广泛使用和对移动体验的专注所抵消。
|
||||||
|
|
||||||
|
#### Phosh
|
||||||
|
|
||||||
|
![PinePhone 上的 Phosh 截屏][7]
|
||||||
|
|
||||||
|
Phosh 主要由 Purism 开发,是相当于 Plasma Mobile 的 GTK。它最初是为 Librem 5 打造的,自 2018 年以来一直在开发。由于只有 4 年的历史,你可能会认为 Phosh 是不成熟的,但这与事实相差甚远。
|
||||||
|
|
||||||
|
事实上,在超过 3 个月的时间里,我从未遇到过 Phosh 的崩溃,相比之下,Plasma Mobile 没几天崩溃一次。当然,由于建立在 GTK 和其他 Gnome 技术之上,Phosh 有许多可用的应用程序。一些流行的应用程序可以完美地工作,包括:
|
||||||
|
|
||||||
|
* Firefox
|
||||||
|
* Geary
|
||||||
|
* Headlines(Reddit 应用程序)
|
||||||
|
* Megapixels(相机应用)
|
||||||
|
* Gnome 地图
|
||||||
|
|
||||||
|
此外,许多为 Plasma Mobile 设计的应用程序也能完美运行,尽管它们使用 Kirigami。不幸的是,虽然有许多 GTK 应用程序,但它们并不像 Kirigami 应用程序一样适合各种环境,所以开发者必须专门使他们的应用程序与 Phosh 和 PinePhone 兼容。
|
||||||
|
|
||||||
|
此外,GTK 主要是一个面向桌面的 UI 工具包,这意味着诸如手势等功能,甚至让应用程序能够适应屏幕的功能,充其量是零散的,最糟糕的是不存在。
|
||||||
|
|
||||||
|
不过幸运的是,Purism 在默认的 Gnome 应用程序中投入了大量的工作,这些应用程序都是完全可用的,而且速度很快。
|
||||||
|
|
||||||
|
总的来说,Phosh 是非常可靠的,特别是对于台式机和笔记本电脑上的 Gnome 用户。然而,它也因为缺乏核心的移动功能和优化的应用程序而受到阻碍。
|
||||||
|
|
||||||
|
#### Lomiri
|
||||||
|
|
||||||
|
![Lomiri on the PinePhone][8]
|
||||||
|
|
||||||
|
我怀疑你是否听说过它,因为它最近才改了名字。它以前被称为 Unity 8,是 Ubuntu Touch 操作系统的默认桌面环境。它也可以在 Manjaro ARM 上使用。
|
||||||
|
|
||||||
|
由于使用 Qt Quick 构建,它可能是 PinePhone 最成熟的桌面环境。它很好地利用了手势来实现核心系统功能,并且有大量专门为它制作的应用程序。
|
||||||
|
|
||||||
|
然而,它的缺点是只能在 Ubuntu Touch 上使用,因为没有一个应用程序被移植到 Manjaro。因此,它的用户受制于 Ubuntu Touch 的“锁定”风格,类似于安卓和 iOS。
|
||||||
|
|
||||||
|
虽然这对典型的用户来说可能是件好事,但 PinePhone 的用户一般都是喜欢控制自己设备的手工爱好者,而 Ubuntu Touch 则使其变得更加困难。
|
||||||
|
|
||||||
|
### 操作系统
|
||||||
|
|
||||||
|
与任何以 Linux 为主的设备一样,它有大量的发行版和操作系统可用。在写这篇文章的时候,Pine64 维基列出了 21 个单独的操作系统,它们的完整度各有不同。
|
||||||
|
|
||||||
|
然而,在这些不同的操作系统中,有四个我在 PinePhone 上有很好的体验:
|
||||||
|
|
||||||
|
* Manjaro ARM
|
||||||
|
* Mobian
|
||||||
|
* SailfishOS
|
||||||
|
* Ubuntu Touch
|
||||||
|
|
||||||
|
虽然我不打算详细介绍它们,但它们都是很好的选择,对于大多数任务来说都是完美的功能。除了 SailfishOS 之外,它们都是开源的,而 SailfishOS 大部分是开源的。
|
||||||
|
|
||||||
|
### 关于安卓应用程序的说明
|
||||||
|
|
||||||
|
正如你现在可能已经猜到的,应用程序的支持可能有点问题。即使看到 PinePhone 上有近 400 个确认可以使用的应用程序,但与安卓和 iOS 的数百万个应用程序相比,这也是相形见绌。
|
||||||
|
|
||||||
|
幸运的是,有一些方法可以解决这个问题,最简单的是使用兼容层来模拟安卓应用。在这方面,Anbox 已经成为几年来的首选。
|
||||||
|
|
||||||
|
#### Anbox
|
||||||
|
|
||||||
|
如果说 WINE 是 Windows 的兼容层,那么 Anbox 对 Android 也是如此。安装后,或打开它,因为它预装在许多发行版中,就像运行一个命令来安装一个 APK 文件一样简单。
|
||||||
|
|
||||||
|
从这里开始,该应用程序的行为就像任何 Linux 应用程序一样,尽管在性能上有很大的影响。
|
||||||
|
|
||||||
|
最近,有一群人决定解决这个问题,创建了一个名为 Waydroid 的新项目。
|
||||||
|
|
||||||
|
#### Waydroid
|
||||||
|
|
||||||
|
Waydroid 是为 PinePhone 开发的安卓模拟器的最新尝试,即使在这个早期阶段,它看起来也非常有发展前景。由于安卓应用可以直接在硬件上运行,它的性能相当惊人,特别是与 Anbox 相比。
|
||||||
|
|
||||||
|
因此,许多极为流行的应用程序都能完美运行,如 F-Droid 和 Aurora 商店。
|
||||||
|
|
||||||
|
此外,通过 Waydroid 安装的应用程序被很好地整合到 Linux 中,它们能够像其他应用程序一样被打开和关闭。
|
||||||
|
|
||||||
|
### 我对 PinePhone 的总体看法
|
||||||
|
|
||||||
|
在我使用它的过程中,我花时间使用了几乎所有可用于它的不同操作系统,以及每个桌面环境。正如我之前所说,它的性能一般都很差,尽管 Lomiri 和 Plasma Mobile 足够流畅。
|
||||||
|
|
||||||
|
我不经常拍照,所以相机的使用频率很低。然而,当我拍摄照片时,它们通常够用了,即使相片质量并不特别高。
|
||||||
|
|
||||||
|
总的来说,我认为 PinePhone 的最大弱点实际上是它的电池续航。这是因为即使只是打开它查看一下时间,也会唤醒调制解调器,导致电池迅速耗尽,除非我尽量不打开它。
|
||||||
|
|
||||||
|
幸运的是,我总是确保随身携带一块备用电池,我可以通过取下后盖换入。此外,我还可以插入一张 SD 卡,用作额外的存储空间或测试新的操作系统。
|
||||||
|
|
||||||
|
正如预期的,PinePhone 并不防水,但我发现在雨中使用它似乎没有任何损害,尽管你的经历可能有所不同。当我在室内时,我经常发现自己会借助它附带的底座来使用它的外部显示器。
|
||||||
|
|
||||||
|
在这种设置下,我对 PinePhone 作为一台笔记本电脑的能力感到惊讶。我经常发现自己可以在 LibreOffice 中编辑文件,甚至有一次还能用 Kdenlive 编辑了一段视频!
|
||||||
|
|
||||||
|
总的来说,即使有一些不足,我与 PinePhone 相处的这一年也很顺利,我从来没有发现自己对安卓的渴望。
|
||||||
|
|
||||||
|
### 获得 PinePhone
|
||||||
|
|
||||||
|
如果你想获得一台 PinePhone,下面有一个按钮,可以带你到 Pine64 的网站。在写这篇文章的时候,有两种型号可供选择,一种是 16GB 的存储空间和 2GB 的内存。另一个型号有 32GB 的存储空间和 3GB 的内存。(LCTT 译注:应该是不向中国发货的。)
|
||||||
|
|
||||||
|
本评论中使用的型号是 3GB 版本,价格为 199 美元。2GB 型号的价格为 149 美元。
|
||||||
|
|
||||||
|
- [获取 PinePhone][9]
|
||||||
|
|
||||||
|
我们只希望即将推出的 PinePhone Pro 能以其更强大的硬件保持这种积极的趋势!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/pinephone-review/
|
||||||
|
|
||||||
|
作者:[Jacob Crume][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/jacob/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/linux-phones/
|
||||||
|
[2]: https://github.com/agx/phosh
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/PinePhone-Battery.jpg?resize=1568%2C882&ssl=1
|
||||||
|
[5]: https://lomiri.com/
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pinephone_plasma-mobile.jpg?resize=440%2C300&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pinephone-phosh.jpg?resize=448%2C295&ssl=1
|
||||||
|
[8]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/pinephone-lomiri-edited.jpg?resize=204%2C362&ssl=1
|
||||||
|
[9]: https://pine64.com/product-category/pinephone/
|
@ -0,0 +1,84 @@
|
|||||||
|
[#]: subject: "Open source tools to make your Wordle results accessible"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/open-source-accessibility-wordle"
|
||||||
|
[#]: author: "AmyJune Hineline https://opensource.com/users/amyjune"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14268-1.html"
|
||||||
|
|
||||||
|
无障碍分享你的 Wordle 结果的开源工具
|
||||||
|
======
|
||||||
|
|
||||||
|
> 分享你的 Wordle 结果是有趣的。尝试这些开源技巧让它们可以无障碍分享。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Wordle 似乎在社交媒体上到处出现。Wordle 是一个快速的文字游戏,你可以每天玩一次,你可以很容易地通过社交媒体与朋友分享结果。
|
||||||
|
|
||||||
|
Wordle 的目的是猜测一个秘密单词。要进行猜测,需要输入一个单词,然后 Wordle 在一个由彩色编码的表情符号组成的网格中显示你的猜测结果。绿色表示一个字母在正确的位置。黄色表示密语中包含该字母,但它在错误的位置。灰色表示该字母根本就不在这个词中。
|
||||||
|
|
||||||
|
![Sample of wordle results displaying colors for letter position][2]
|
||||||
|
|
||||||
|
人们通过将产生的字母网格粘贴到社交媒体上来分享他们在游戏中的进展,这很容易做到,因为这个网格只是 [一组表情符号][3]。然而,表情图标和表情符存在无障碍问题。虽然它们很容易复制和粘贴,但对于生活在低视力或色盲的人来说,共享的结果可能很难看清。灰色、黄色、绿色的颜色对一些人来说可能很难区分。
|
||||||
|
|
||||||
|
![Wordle results statistics][4]
|
||||||
|
|
||||||
|
受到与 Mike Lim 谈话的启发,我在互联网上做了一些探究,发现了一些提示,包括一个帮助改善共享游戏结果的无障碍性的开源项目。
|
||||||
|
|
||||||
|
### 使用一个开源的无障碍应用
|
||||||
|
|
||||||
|
[wa11y 应用][5] 的使用很简单。你可以在 [这里][6] 找到 wa11y GitHub 项目。复制你的 Wordle 结果并将其粘贴到应用中,它就会将你的结果转换为文字。
|
||||||
|
|
||||||
|
![Emoji converted to words][7]
|
||||||
|
|
||||||
|
你可以简单地勾选复选框来包含表情符号,以表示成功猜测,但该项目维护者不建议这样做。辅助技术非常喜欢表情符号,以至于它会读取每一个表情符号。内联地、全部读取。尽管技术圈喜欢阅读它们,但使用辅助技术的人可能会发现它很麻烦,并经常放弃有几个以上的表情符号的信息。
|
||||||
|
|
||||||
|
![Words and emoji included in the output][8]
|
||||||
|
|
||||||
|
![Emojis are beautiful, but can be frustrating for folks who use screen readers and other accessibility tools. Please consider your audience on social media.][9]
|
||||||
|
|
||||||
|
### 提供无障碍图片
|
||||||
|
|
||||||
|
也许你不能使用 wa11y 应用,但仍然想确保你的结果是无障碍访问的。你可以进行截图,上传图片,并添加替代文本。你有几种方法可以做到这一点:
|
||||||
|
|
||||||
|
* 附上图片,并在信息栏中写上替代文本。
|
||||||
|
* 附上图片并深入到你的特定社交媒体应用的无障碍选项中,启用替代文本并从那里添加。开源社交网络 [Mastodon][10] 默认启用实际的替代文本。
|
||||||
|
* [@AltTxtReminder][11] 是一个你可以关注的账户,当你忘记时,它会提醒你为图片添加替代文本。
|
||||||
|
|
||||||
|
如果你分享了默认结果,你总是可以选择在表情符号之前添加替代文本。这样,你的受众就可以获得文字信息,但在重复的表情符号变得繁琐之前,可以中止信息的其余部分。
|
||||||
|
|
||||||
|
![Twitter wordle results without text][12]
|
||||||
|
|
||||||
|
![Twitter results with descriptive explanation of results][13]
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
Wordle 是最近互联网上的一个热门游戏,所以在分享你的结果时,一定要记住无障碍分享。有一些使用开源技术的简单方法可以使你的结果更容易与大家分享。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/open-source-accessibility-wordle
|
||||||
|
|
||||||
|
作者:[AmyJune Hineline][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/amyjune
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_5.png?itok=YHpNs_ss (Women in computing and open source v5)
|
||||||
|
[2]: https://opensource.com/sites/default/files/apple.png
|
||||||
|
[3]: https://opensource.com/article/19/10/how-type-emoji-linux
|
||||||
|
[4]: https://opensource.com/sites/default/files/statistics.png
|
||||||
|
[5]: http://wa11y.co/
|
||||||
|
[6]: https://github.com/cariad/wa11y.co
|
||||||
|
[7]: https://opensource.com/sites/default/files/do-not-include-emoji.png
|
||||||
|
[8]: https://opensource.com/sites/default/files/include-emoji.png
|
||||||
|
[9]: https://opensource.com/sites/default/files/wa11y_0.png
|
||||||
|
[10]: https://opensource.com/article/17/4/guide-to-mastodon
|
||||||
|
[11]: https://twitter.com/alttxtreminder
|
||||||
|
[12]: https://opensource.com/sites/default/files/twitter.png
|
||||||
|
[13]: https://opensource.com/sites/default/files/twitter-with-ords.png
|
@ -0,0 +1,88 @@
|
|||||||
|
[#]: subject: "Nitrux 2.0 Features XanMod Kernel 5.16.3 as Default and Adds Visual Tweaks to the Desktop Experience"
|
||||||
|
[#]: via: "https://news.itsfoss.com/nitrux-2-0-release/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14237-1.html"
|
||||||
|
|
||||||
|
最漂亮的 Linux 发行版之一 Nitrux 2.0 发布
|
||||||
|
======
|
||||||
|
|
||||||
|
> Nitrux 2.0.0 是一个令人兴奋的版本,它默认采用 XanMod 内核,并 带来了其他各种视觉和技术改进。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Nitrux Linux 轻松成为了 [最漂亮的 Linux 发行版][1] 之一。
|
||||||
|
|
||||||
|
上个月,我们点评了 [Maui Shell][2],它也是由 Nitrux Linux 背后的团队所设计的。现在,Nitrux 2.0.0 已经发布,并带来了一些令人兴奋的变化。
|
||||||
|
|
||||||
|
让我在这里重点介绍一下基本变化。
|
||||||
|
|
||||||
|
### Nitrux 2.0.0 有什么新东西?
|
||||||
|
|
||||||
|
这次升级包括一个新的 Linux 内核、更新的应用程序、桌面环境、固件改进,以及大大减小了 ISO 的大小。
|
||||||
|
|
||||||
|
你还会注意到布局和顶部面板等几处细微视觉变化。
|
||||||
|
|
||||||
|
### XanMod 内核 5.16.3
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
XanMod 内核是为新一代硬件量身定做的,以获得尽可能好的桌面体验。
|
||||||
|
|
||||||
|
与许多其他 Linux 发行版中自带的 Linux 内核相比,你会发现它有一些自定义设置和新功能,可以提高你的使用体验。
|
||||||
|
|
||||||
|
在 Nitrux 2.0.0 中,默认选择了 XanMod 内核 5.16.3。当然你仍然可以选择最新的主线 LTS 或非 LTS(5.15.17、5.16.3)Linux 内核。
|
||||||
|
|
||||||
|
别忘了,如果你需要,你还可以安装 Liquorix 和 Libre 内核。
|
||||||
|
|
||||||
|
### 更新布局和面板的变化
|
||||||
|
|
||||||
|
顶部面板现在显示了窗口控制、标题、全局菜单和系统托盘区。
|
||||||
|
|
||||||
|
布局仍然与以前的版本相似,但有一些位置的调整,比如将应用程序菜单添加到<ruby>基座<rt>dock</rt></ruby>中,应用程序菜单是 Launchpad Plasma(感谢 [adhe][4])。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
此外,你应会发现窗口装饰有了改进,所有窗口现在默认都是无边框的。你可以在外观设置下的窗口装饰选项中选择禁用无边框窗口模式。
|
||||||
|
|
||||||
|
可选的 Latte 布局也得到了更新,包括窗口控制、标题栏和全局菜单。
|
||||||
|
|
||||||
|
### 更新的软件包和驱动程序
|
||||||
|
|
||||||
|
出于显而易见的原因,这次升级包括 KDE Plasma 版本更新、KDE 框架、KDE 装备,以及其他必要的应用程序,如 Firefox 和 LibreOffice。
|
||||||
|
|
||||||
|
此外,为 AMD GPU 增加了内核软件包中没有的额外固件。他们还在可下载的 ISO 中增加了 i915、Nouveau 和 AMDGPU 驱动。
|
||||||
|
|
||||||
|
默认使用的是 MESA 21.3.5 稳定版,但如果你需要的话,可以安装最新的 MESA 22.0。
|
||||||
|
|
||||||
|
### 其他改进
|
||||||
|
|
||||||
|
在 Nitrux Linux 的这些变化之外,还有一些额外的技术改进,如:
|
||||||
|
|
||||||
|
* 减少了标准版和精简版的 ISO 文件大小。
|
||||||
|
* Xbox One 控制器的工作原理与操纵杆没有冲突。
|
||||||
|
* 在精简版 ISO 中,JWM 取代了 i3 窗口管理器。
|
||||||
|
|
||||||
|
更多细节,你可以参考 [官方公告][5]。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/nitrux-2-0-release/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/beautiful-linux-distributions/
|
||||||
|
[2]: https://news.itsfoss.com/maui-shell-unveiled/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/nitrux-2-about.png?resize=1568%2C882&ssl=1
|
||||||
|
[4]: https://www.pling.com/u/adhe/
|
||||||
|
[5]: https://nxos.org/changelog/release-announcement-nitrux-2-0-0/#download
|
@ -0,0 +1,92 @@
|
|||||||
|
[#]: subject: "Try Turris Omnia, the open source router"
|
||||||
|
[#]: via: "https://opensource.com/article/22/1/turris-omnia-open-source-router"
|
||||||
|
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14278-1.html"
|
||||||
|
|
||||||
|
Turris Omnia:一个黑客喜欢的开源路由器
|
||||||
|
======
|
||||||
|
|
||||||
|
> 无论你是一个网络工程师还是一个好奇的爱好者,当你在市场上购买网络设备时,都你应该看看开源的 Turris Omnia 路由器。
|
||||||
|
|
||||||
|
在 21 世纪初,我对 OpenWrt 很着迷,只想在自己的路由器上运行它。不幸的是,我没有一个能够运行自定义固件的路由器,所以我花了很多周末去旧货地摊,希望能偶然发现一个 “Slug”(黑客们对 NSLU2 路由器的俚语),但这是徒劳的。最近,我买到了 Turris Omnia,除了有一个更酷的名字外,它是一个来自捷克的路由器,使用建立在 OpenWrt 之上的开源固件。它拥有你对运行开源硬件所期望的一切,而且还有很多东西,包括可安装的软件包,因此你可以准确地添加你的家庭或企业网络最需要的东西,而忽略你不会使用的部分。如果你认为路由器是简单的设备,没有定制的余地,甚至除了 DNS 和 DHCP 之外没有其他用途,那么你需要看看 Turris Omnia。它将改变你对路由器是什么的看法,路由器能为你的网络做什么,甚至是你与整个网络的互动方式。
|
||||||
|
|
||||||
|
![The Turris Omnia on my desk][2]
|
||||||
|
|
||||||
|
### 开始使用 Turris Omnia
|
||||||
|
|
||||||
|
尽管 Turris Omnia 的功能很强大,但它给人的感觉却很熟悉。开始使用的步骤与任何其他路由器基本相同:
|
||||||
|
|
||||||
|
1. 打开电源
|
||||||
|
2. 加入它提供的网络
|
||||||
|
3. 在网络浏览器中进入 192.168.1.1 进行配置
|
||||||
|
|
||||||
|
如果你过去买过路由器,你以前会执行过这些相同的步骤。如果你不熟悉这个过程,要知道它并不比任何其他路由器复杂,而且里面有足够的文档。
|
||||||
|
|
||||||
|
![Configuration][4]
|
||||||
|
|
||||||
|
### 简单和高级配置
|
||||||
|
|
||||||
|
在初始设置之后,当你进入 Turris Omnia 路由器时,你可以选择简单配置环境或高级配置。你必须从简单配置开始。在<ruby>密码<rt>Password</rt></ruby>面板中,你可以为高级界面设置一个密码,这也可以让你对路由器进行 SSH 访问。
|
||||||
|
|
||||||
|
简单界面让你配置如何连接到广域网(WAN),并为你的局域网(LAN)设置参数。它还允许你设置一个个人 WiFi 接入点、一个访客网络,以及安装插件并与之互动。
|
||||||
|
|
||||||
|
它所声称的高级界面叫做 LuCI。它是为熟悉网络拓扑和设计的网络工程师设计的,它基本上是一个键值对的集合,你可以通过一个简单的网络界面进行编辑。如果你喜欢直接编辑数值,你可以用 SSH 进入路由器。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ssh root@192.168.1.1
|
||||||
|
root@192.168.1.1's password:
|
||||||
|
|
||||||
|
BusyBox v1.28.4 () built-in shell (ash)
|
||||||
|
|
||||||
|
______ _ ____ _____
|
||||||
|
/_ __/_ ____________(_)____ / __ \/ ___/
|
||||||
|
/ / / / / / ___/ ___/ / ___/ / / / /\__
|
||||||
|
/ / / /_/ / / / / / (__ ) / /_/ /___/ /
|
||||||
|
/_/ \__,_/_/ /_/ /_/____/ \____//____/
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
TurrisOS 4.0.1, Turris Omnia
|
||||||
|
-----------------------------------------------------
|
||||||
|
root@turris:~#
|
||||||
|
```
|
||||||
|
|
||||||
|
### 插件
|
||||||
|
|
||||||
|
除了界面的灵活性之外,Turris Omnia 还有一个包管理器。你可以安装插件,包括网络附加存储(NAS)配置、Nextcloud 服务器、SSH 蜜罐、速度测试、OpenVPN、打印服务器、Tor 节点、运行容器的 LXC 等等。
|
||||||
|
|
||||||
|
![Package management for your router][5]
|
||||||
|
|
||||||
|
只需点击几下,你就可以安装自己的 [Nextcloud][6] 服务器,这样你就可以运行自己的云服务或 OpenVPN,这样你就可以在离家时安全地访问你的网络。
|
||||||
|
|
||||||
|
### 开源路由器
|
||||||
|
|
||||||
|
这个路由器最好的部分是它是开源的,并且通过开源提供支持。你可以从他们的 [gitlab.nic.cz][7] 下载 Turris 操作系统和许多相关的开源工具。你也不必满足于设备上的固件。有了 2GB 的内存和 miniPCIe 插槽,你可以在上面运行 Debian。甚至前面板上的 LED 灯也是可编程的。这是一个黑客的路由器,无论你是一个网络工程师还是一个好奇的业余爱好者,当你在市场上购买网络设备时,你都应该看一看它。
|
||||||
|
|
||||||
|
你可以从 [turris.com][8] 网站上获得 Turris Omnia 和其他几个型号的路由器,然后加入 [forum.turris.cz][9] 的社区。他们是一群友好的爱好者,热衷于分享知识、技巧和很酷的黑客技术,以促进你对开源路由器的使用。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/1/turris-omnia-open-source-router
|
||||||
|
|
||||||
|
作者:[Seth Kenlon][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/seth
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/mesh_networking_dots_connected.png?itok=ovINTRR3 (Mesh networking connected dots)
|
||||||
|
[2]: https://opensource.com/sites/default/files/uploads/turris-omnia.jpg (The Turris Omnia on my desk)
|
||||||
|
[3]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
[4]: https://opensource.com/sites/default/files/uploads/turris-omnia-wifi.jpg (Configuration)
|
||||||
|
[5]: https://opensource.com/sites/default/files/uploads/turris-omnia-packages.jpg (Package management for your router)
|
||||||
|
[6]: https://opensource.com/tags/nextcloud
|
||||||
|
[7]: https://gitlab.nic.cz/turris
|
||||||
|
[8]: https://www.turris.com/en/
|
||||||
|
[9]: http://forum.turris.cz
|
@ -0,0 +1,113 @@
|
|||||||
|
[#]: subject: "Logseq: A Free & Open-Source App to Create Notes, Manage Tasks, Build Knowledge Graph, and More"
|
||||||
|
[#]: via: "https://itsfoss.com/logseq/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14258-1.html"
|
||||||
|
|
||||||
|
Logseq:创建笔记、管理任务、构建知识图谱
|
||||||
|
======
|
||||||
|
|
||||||
|
> Logseq 是一个多功能的知识平台,支持 Markdown 和 Org 模式。你可以创建任务、管理笔记,并利用它们做更多的事情。
|
||||||
|
|
||||||
|
在信息时代,适当地组织你的思想、任务清单和任何其他与你的工作/个人生活有关的笔记是至关重要的。
|
||||||
|
|
||||||
|
虽然我们中的一些人选择使用单独的应用程序和服务,但使用一个一体化的、开源的、对隐私友好的应用程序来做这一切不是更好?
|
||||||
|
|
||||||
|
这就是 Logseq 出现的地方。
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
### Logseq:支持 Markdown & Org 模式的隐私友好知识平台
|
||||||
|
|
||||||
|
Logseq 旨在帮助你组织、创建待办事项清单,并建立一个知识图谱。
|
||||||
|
|
||||||
|
你可以使用现有的 Markdown 或 Org 模式文件来简单地编辑、编写和保存任何新的笔记。
|
||||||
|
|
||||||
|
官方称,Logseq 仍处于测试阶段,但自从进入 alpha 阶段以来,它就得到了广泛赞誉。
|
||||||
|
|
||||||
|
它也可以成为 [黑曜石][2] 的一个不错的开源替代品。默认情况下,它依赖于你的本地目录,但你可以选择任何云目录来通过你的文件系统进行同步。所以,你的数据在你控制之中。
|
||||||
|
|
||||||
|
如果你没有设置任何云存储,你可以尝试使用 [Rclone][3]、[Insync][4],甚至是 [rsync 命令][5]。
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
Logseq 具备强大的能力,也支持插件来进一步扩展功能。让我强调一些关键的功能来帮助你决定。
|
||||||
|
|
||||||
|
### Logseq 的功能
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
Logseq 提供了一个知识应用平台的所有基本要素。以下是你可以从它那里得到的东西:
|
||||||
|
|
||||||
|
* Markdown 编辑器
|
||||||
|
* 支持 Org 模式文件
|
||||||
|
* 反向链接
|
||||||
|
* 页面和块引用(链接它们)
|
||||||
|
* 页面和块嵌入,以添加引文/参考文献
|
||||||
|
* 支持添加任务和待办事项清单
|
||||||
|
* 能够按优先级或按字母顺序添加任务
|
||||||
|
* 发布页面并使用本地主机或 GitHub 页面访问它
|
||||||
|
* 支持高级命令
|
||||||
|
* 能够从你现有的资源中创建一个模板来重新使用它
|
||||||
|
* 页面别名
|
||||||
|
* PDF 高亮
|
||||||
|
* 创建卡片并快速回顾以记住东西
|
||||||
|
* Excalidraw 集成
|
||||||
|
* Zotero 集成
|
||||||
|
* 通过简单地创建一个 `custom.css` 文件添加一个自定义主题,也有可用的社区制作的文件供快速使用
|
||||||
|
* 自定义键盘快捷方式
|
||||||
|
* 自我托管 Logseq 的能力
|
||||||
|
* 跨平台支持
|
||||||
|
|
||||||
|
尽管这是一个测试版软件,但在我简短的测试中,它可以如预期的工作。我不是一个资深用户,没有检查它令人印象深刻的知识图谱功能,但如果你有许多 Markdown 笔记,你可以添加它们、链接它们,并看看生成的图谱。
|
||||||
|
|
||||||
|
我能够添加任务、链接页面、添加引用、嵌入页面,查看现有数据的知识图谱。
|
||||||
|
|
||||||
|
你可以随时从插件市场上改变主题,并使用插件增加功能,这应该有助于你为你的工作流程提供个性化的体验。
|
||||||
|
|
||||||
|
![][8]
|
||||||
|
|
||||||
|
我发现它非常容易使用,而且如果你在某个地方卡住了,[文档][9] 很好地解释了一切。
|
||||||
|
|
||||||
|
### 在 Linux 中安装 Logseq
|
||||||
|
|
||||||
|
你可以在它的 [GitHub 发布区][10] 中找到预发布和测试版本的 AppImage 文件。此外,你也应该在 [Flathub][11] 上找到它的列表。因此,你可以在你选择的任何 Linux 发行版上安装它。
|
||||||
|
|
||||||
|
如果你需要帮助,你可能想参考我们的 [AppImage][12] 和 [Flatpak 指南][13]来开始。
|
||||||
|
|
||||||
|
无论哪种情况,你都可以前往它的 [官方网页][14] 了解更多信息。
|
||||||
|
|
||||||
|
- [Logseq][14]
|
||||||
|
|
||||||
|
你试过 Logseq 了吗?请在下面的评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/logseq/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/logseq.png?resize=800%2C450&ssl=1
|
||||||
|
[2]: https://itsfoss.com/obsidian-markdown-editor/
|
||||||
|
[3]: https://itsfoss.com/use-onedrive-linux-rclone/
|
||||||
|
[4]: https://itsfoss.com/insync-linux-review/
|
||||||
|
[5]: https://linuxhandbook.com/rsync-command-examples/
|
||||||
|
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/logseq-screenshot.jpg?resize=800%2C602&ssl=1
|
||||||
|
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/logseq-themes.jpg?resize=800%2C479&ssl=1
|
||||||
|
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/logseq-screenshot-1.jpg?resize=800%2C603&ssl=1
|
||||||
|
[9]: https://logseq.github.io/#/page/Contents
|
||||||
|
[10]: https://github.com/logseq/logseq/releases
|
||||||
|
[11]: https://flathub.org/apps/details/com.logseq.Logseq
|
||||||
|
[12]: https://itsfoss.com/use-appimage-linux/
|
||||||
|
[13]: https://itsfoss.com/flatpak-guide/
|
||||||
|
[14]: https://logseq.com/
|
@ -0,0 +1,90 @@
|
|||||||
|
[#]: subject: "KDE’s Falkon Browser Adds Screen Capture and PDF Reader with its Latest Update in 3 Years"
|
||||||
|
[#]: via: "https://news.itsfoss.com/falkon-browser-3-2-release/"
|
||||||
|
[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14250-1.html"
|
||||||
|
|
||||||
|
KDE Falkon 浏览器三年来首次更新
|
||||||
|
======
|
||||||
|
|
||||||
|
> Falkon 的最新版本带来了截屏功能和基于 PDFium 的 PDF 阅读器以及其他改进。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
如果你是 KDE 的粉丝,你肯定接触过,甚至使用过 Falkon。所以,你一定会惊喜地发现,KDE 已经成功地为他们的网络浏览器发布了新的重大升级。
|
||||||
|
|
||||||
|
与其他主流网络浏览器不同,Falkon 的更新并不频繁。这个最新发布的版本是一个令人兴奋的更新,在间隔了近三年之后!
|
||||||
|
|
||||||
|
补充一句,[Falkon][1] 是一个建立在 QtWebEngine 上的简单的开源网络浏览器。它最初被称为 QupZilla,后来在 KDE 旗下被重新命名为 Falkon。
|
||||||
|
|
||||||
|
虽然并不是新浏览器,它早在 2010 年就发布了,但它为普通用户提供了一种极简的浏览体验。
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
### Falkon 3.2.0 有什么新内容?
|
||||||
|
|
||||||
|
即使你现在安装的是最新版本,Falkon 也没有定期提供安全更新。
|
||||||
|
|
||||||
|
因此,你可以考虑将 Falkon 作为满足特定要求的浏览器或作为辅助浏览器。
|
||||||
|
|
||||||
|
下面是这个版本的新内容:
|
||||||
|
|
||||||
|
#### 截屏和 PDF 阅读器支持
|
||||||
|
|
||||||
|
最新的版本带来了急需的截屏功能和可选的基于 PDFium 的 PDF 阅读器。这两个都是基于 Qt 5.13 的版本。
|
||||||
|
|
||||||
|
#### 主题和插件
|
||||||
|
|
||||||
|
对下载主题和扩展的初步支持也被添加进来了,同时偏好菜单也显示了对 KDE 商店的链接。此外,用户现在也可以删除本地安装的主题和插件。
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
#### 书签
|
||||||
|
|
||||||
|
由于有了上下文菜单项,用户现在可以创建文件夹并存储书签。人们已经注意到,填充书签栏和创建顶级的书签的能力已经没有了。
|
||||||
|
|
||||||
|
#### 其他功能
|
||||||
|
|
||||||
|
* 在 Falkon 中添加的一个非常常见但又必不可少的功能是暂停或恢复下载的能力。
|
||||||
|
* 更新的 CookieManager 现在允许同时选择一个以上的 cookie。
|
||||||
|
* 首选项扩展现在可以筛选查找。
|
||||||
|
* 用户现在可以通过上下文菜单分离标签。
|
||||||
|
* 现在包括 NetworkManager 集成。
|
||||||
|
|
||||||
|
要了解更多关于所有的技术变化,你可以参考 [官方发布说明][3]。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
Falkon 的最新版本表明 KDE 仍然计划继续支持它。这对 KDE 爱好者来说是个好消息,特别是对那些使用 Falkon 的人来说。但是,现在说他们是否计划定期推送更新,使其成为日常浏览的理想选择,还为时过早。
|
||||||
|
|
||||||
|
如果你觉得一个简单的、轻量级的网络浏览器就可以,而且有很好的广告屏蔽功能,一个与 KDE 桌面融合的浏览器,Falkon 是一个必须尝试的东西。
|
||||||
|
|
||||||
|
安装是非常直接的。你可以在你的软件库中找到它,或者使用 Flatpak 或 [Snap 包][5] 安装它。如果你想知道,它也可用于 Windows 用户。
|
||||||
|
|
||||||
|
- [下载 Falkon 3.2.0][6]
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/falkon-browser-3-2-release/
|
||||||
|
|
||||||
|
作者:[Rishabh Moharir][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/rishabh/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/falkon-browser/
|
||||||
|
[2]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/Falkon_1.png?w=1450&ssl=1
|
||||||
|
[3]: https://www.falkon.org/2022/01/31/320-released/#disqus_thread
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/Falkon_3.png?resize=780%2C460&ssl=1
|
||||||
|
[5]: https://snapcraft.io/falkon
|
||||||
|
[6]: https://www.falkon.org/download/
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/falkon_2.png?w=1450&ssl=1
|
@ -0,0 +1,107 @@
|
|||||||
|
[#]: subject: "Peppermint 11 Debuts With Debian Linux, Drops Ubuntu and LXDE Components"
|
||||||
|
[#]: via: "https://news.itsfoss.com/peppermint-11-release/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14246-1.html"
|
||||||
|
|
||||||
|
Peppermint 11 发布:2022 年值得期待的发行版之一
|
||||||
|
======
|
||||||
|
|
||||||
|
> 经过近三年的等待,Peppermint OS 11 来了,放弃了以 Ubuntu 作为其基础,并删除了 LXDE 组件。看起来不错!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Peppermint OS 11 是 [2022 年最值得期待的版本][1] 之一,而它终于到来了!
|
||||||
|
|
||||||
|
2020年,其主要开发者 Mark Greaves 不幸去世,Peppermint OS 失去了它最重要的贡献者之一。
|
||||||
|
|
||||||
|
现在,经过近两年的时间,Peppermint 11 来了!这不仅仅是一次普通的升级,Peppermint 11 是它的第一个以 Debian 为基础的版本,抛弃了 Ubuntu。
|
||||||
|
|
||||||
|
让我在下面指出该版本的所有关键细节。
|
||||||
|
|
||||||
|
### Peppermint 11 有什么新东西?
|
||||||
|
|
||||||
|
该版本的主要亮点是放弃 Ubuntu,使用 Debian 64 位作为其基础。
|
||||||
|
|
||||||
|
从技术上讲,它基于 [Debian 11 “Bullseye”][2] 的稳定分支。因此,你可以预期 Debian 的最新改进出现在 Peppermint OS 11 中。
|
||||||
|
|
||||||
|
除了新的基础之外,还有一些其他的变化,包括:
|
||||||
|
|
||||||
|
#### XFce 4.16.2,无 LXDE 组件
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
Peppermint OS 利用 XFce 桌面环境与 LXDE 组件来提供混合体验。
|
||||||
|
|
||||||
|
Peppermint 11 已经删除了所有的 LXDE 组件,专注于提供一个 XFce 驱动的桌面体验。
|
||||||
|
|
||||||
|
#### Calamares 安装程序取代了 Ubiquity
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
为了改善安装过程,Peppermint 11 使用了现代 Calamares 安装程序。
|
||||||
|
|
||||||
|
#### 新的欢迎应用程序
|
||||||
|
|
||||||
|
![][5]
|
||||||
|
|
||||||
|
为了让你有一个良好的开端,Peppermint OS 现在包括一个新的欢迎应用程序,让你了解更多关于所使用的系统/组件,并安装开始使用所需的软件。
|
||||||
|
|
||||||
|
例如,你在 Peppermint 11 中没有预装默认的网络浏览器。你可以快速启动软件包选择器,安装 Firefox、GNOME、Tor、Falkon 和 Chromium 等浏览器。
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
#### 新的 Peppermint Hub
|
||||||
|
|
||||||
|
新的 Peppermint Hub 合并了设置和控制中心来保持整洁,帮助你轻松管理系统。
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
#### 新的应用程序
|
||||||
|
|
||||||
|
该版本包括一个基于终端的广告屏蔽器,即 [hblock][8],可以在需要时启用或禁用。
|
||||||
|
|
||||||
|
![][9]
|
||||||
|
|
||||||
|
Nemo 取代了 Thunar 作为默认的文件管理器,它应该感觉很熟悉,对许多用户来说可以派上用场。
|
||||||
|
|
||||||
|
#### 其他改进
|
||||||
|
|
||||||
|
总的来说,有了新的基础和更新的 Linux 内核 5.10,Peppermint 11 应该是一个令人兴奋的选择。
|
||||||
|
|
||||||
|
在 [发布说明][10] 中的一些其他变化包括:
|
||||||
|
|
||||||
|
* 在安装过程中包含了一套精简的桌面墙纸。下载额外的壁纸请进入 Peppermint 中。
|
||||||
|
* 包括一套精简的图标和 XFce 主题。
|
||||||
|
|
||||||
|
- [Peppermint OS 11][11]
|
||||||
|
|
||||||
|
现在 Peppermint OS 11 来了,你会考虑在你的主系统上尝试一下吗?你已经试过了吗?请在下面的评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/peppermint-11-release/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/linux-distro-releases-2022/
|
||||||
|
[2]: https://news.itsfoss.com/debian-11-feature/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-neofetch.png?w=790&ssl=1
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-installer.png?w=1087&ssl=1
|
||||||
|
[5]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-welcome.png?w=895&ssl=1
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-software-package.png?w=718&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-hub.png?w=764&ssl=1
|
||||||
|
[8]: https://github.com/hectorm/hblock
|
||||||
|
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/peppermint-os-11-nemo.png?w=849&ssl=1
|
||||||
|
[10]: https://peppermintos.com/2022/02/peppermint-release-notes/
|
||||||
|
[11]: https://peppermintos.com/guide/downloading/
|
@ -0,0 +1,131 @@
|
|||||||
|
[#]: subject: "Oldest Active Linux Distro Slackware Finally Releases Version 15"
|
||||||
|
[#]: via: "https://news.itsfoss.com/slackware-15-release/"
|
||||||
|
[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14243-1.html"
|
||||||
|
|
||||||
|
最古老的活跃 Linux 发行版 Slackware 终于发布了第 15 版
|
||||||
|
======
|
||||||
|
|
||||||
|
> 带着 Linux 内核 5.15 LTS 和 KDE Plasma 5.23 的最新改进,Slackware 15.0 已经来到。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
欢呼吧!Linux 粉丝们会很高兴地知道,传奇发行版 Slackware 在很久之后发布了一个新版本。或许你不知道,Slackware 上一个版本的发布要追溯到 2016 年。
|
||||||
|
|
||||||
|
当开发者在去年(2021 年)2 月宣布 Slackware 15.0 的计划时,整个 Linux 社区都为此感到兴奋。
|
||||||
|
|
||||||
|
从年初的 Alpha 版本开始,在过去的一年里,开发人员在 Slackware Linux 15.0 的开发中取得了快速进展。经过一段时间后,他们发布了其最后一个候选版本,但现在它发布了!
|
||||||
|
|
||||||
|
让我们来看看 Slackware 15.0 有哪些新内容。
|
||||||
|
|
||||||
|
### Slackware 15.0 的新内容
|
||||||
|
|
||||||
|
![][1]
|
||||||
|
|
||||||
|
如前所述,Slackware 15.0 有许多变化。不要忘了,在最终发布之前,它可是发布了一个测试版和两个候选发布版(RC)。
|
||||||
|
|
||||||
|
如果你一直在关注我们的报道,早在去年 4 月份你就可能已经看到了我们的 [测试版][2] 报道。
|
||||||
|
|
||||||
|
在测试版 / RC 版中,还有一些东西没有被披露。因此,在这里,我们会介绍它的所有重要内容。
|
||||||
|
|
||||||
|
#### Linux 内核 5.15 LTS
|
||||||
|
|
||||||
|
Slackware 15 的主要亮点是增加了最新的 [Linux 内核 5.15 LTS][3]。这与我们在测试版中注意到的 Linux 内核 5.10 LTS 相比,有了很大的飞跃。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
值得注意的是,Slackware 团队在确定使用 Linux 内核 5.15.19 之前测试了数百个 Linux 内核版本。在发布说明中提到:
|
||||||
|
|
||||||
|
> 在最终宣布 Slackware 15.0 稳定版的过程中,我们在过去一年里实际上构建了超过 400 个不同的 Linux 内核版本(相比之下,我们在开发 Slackware 14.2 时测试了 34 个内核版本)。在 Greg Kroah-Hartman 确认 5.15.19 版内核将获得至少到 2023 年 10 月(很可能比这更久)的长期支持后,我们最终选择了它。
|
||||||
|
|
||||||
|
如果你感到好奇,Linux 内核 5.15 带来了一些更新,如增强的 NTFS 驱动支持和对英特尔 / AMD 处理器以及苹果 M1 芯片的改进。它还增加了对英特尔第 12 代处理器的初步支持。
|
||||||
|
|
||||||
|
总的来说,有了 Linux 内核 5.15 LTS,对于这个最古老的活跃 Linux 发行版,你应该会得到良好的硬件兼容性。
|
||||||
|
|
||||||
|
Linux 内核提供了两种版本,一种是带驱动的,不需要 initrd;另一种是依靠 initrd 来加载内核模块。发行说明中提到了更多关于它的内容:
|
||||||
|
|
||||||
|
> 像往常一样,内核提供了两种类型:通用内核和巨型内核。巨型内核包含足够多的内置驱动程序,在大多数情况下不需要 initrd 来启动系统。通用内核需要使用 initrd 来加载挂载根文件系统所需的内核模块。使用通用内核可以节省一些内存,并可能避免一些启动时的警告。我强烈建议使用通用内核以获得最佳的内核模块兼容性。
|
||||||
|
|
||||||
|
#### KDE Plasma 5.23 和 Xfce 4.16
|
||||||
|
|
||||||
|
谈到 KDE,你应该会发现 KDE Plasma 软件包更新到了 5.23,而 KDE 框架则更新到了 5.88 版本。
|
||||||
|
|
||||||
|
[KDE Plasma 5.23][5] 是 KDE 的 25 周年纪念版,包括了 UI 的改进,以及一系列细微的变化来改善用户体验。
|
||||||
|
|
||||||
|
除此之外,Slackware 15 还配备了 Xfce 4.16 作为桌面环境选项之一。
|
||||||
|
|
||||||
|
#### 对 PipeWire 和 Wayland 的支持
|
||||||
|
|
||||||
|
作为 PulseAudio 的替代品,Slackware 15 加入了对 PipeWire 的支持。
|
||||||
|
|
||||||
|
而且,对于那些想摆脱 X11 的用户来说,对 Wayland 的支持也在这个版本中出现。
|
||||||
|
|
||||||
|
#### 32 位支持
|
||||||
|
|
||||||
|
因为 Slackware 是 [适合 32 位系统的 Linux 发行版][6] 之一,最新版本提供了特定的内核版本来支持它。
|
||||||
|
|
||||||
|
从技术上讲,有 SMP 和非 SMP 内核,分别用于单核和多核处理器。
|
||||||
|
|
||||||
|
建议使用 SMP 内核以获得更好的性能和内存管理,但是如果你的处理器比奔腾 3 还要老,非 SMP 内核应该会派上用场。
|
||||||
|
|
||||||
|
#### 其他改进
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
一些技术上的升级包括 GCC 编译器升级到 11.2.0 版本。相当多的安全和错误也得到了解决。
|
||||||
|
|
||||||
|
公告上还说,开发人员正专注于将 Python 更新到 3.3.4 版本,以修复 Samba 的构建。
|
||||||
|
|
||||||
|
其他基本软件包和应用程序,如网络管理器、OpenSSH、Krita、Falkon 浏览器和 Ocular 也得到了升级。Mozilla Firefox 和 Thunderbird 也被更新到它们最新的可用软件包。
|
||||||
|
|
||||||
|
如果你想获得这个版本的所有技术细节,你可以查看 [官方更新日志][8]。其它一些重要的内容包括:
|
||||||
|
|
||||||
|
* 改进了 Slackware pkgtools,使软件安装体验无障碍,消除了并行冲突。
|
||||||
|
* Slackware 15 首次包括一个 `make_world.sh` 脚本,以帮助从源代码重建整个操作系统。
|
||||||
|
* 增加了更多的脚本,以方便重建安装程序和内核包。
|
||||||
|
* 抛弃了 Qt4,转而使用 Qt5。
|
||||||
|
* 增加了对<ruby>特权访问管理<rt>Privileged Access Management</rt></ruby>(PAM)的支持,以支持那些不支持<ruby>影子<rt>shadow</rt></ruby>密码的较新项目。
|
||||||
|
|
||||||
|
值得注意的是,你不能简单地从 Slackware 14.2 升级。因此,最好是进行一次全新的安装。
|
||||||
|
|
||||||
|
- Slackware 15 x86_64: ftp://ftp.slackware.com/pub/slackware-iso/slackware64-15.0-iso
|
||||||
|
- Slackware 15 x86_32: ftp://ftp.slackware.com/pub/slackware-iso/slackware-15.0-iso
|
||||||
|
|
||||||
|
|
||||||
|
无论是哪种情况,你都应该保留一份数据备份,如果你对使用新的 ISO 安装不感兴趣,可以尝试按照 [官方升级说明][10] 来进行。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
Slackware 是最古老的仍然活跃的 Linux 发行版,我很高兴看到 Slackware 有了新的版本。
|
||||||
|
|
||||||
|
虽然它仍然推荐给有经验的用户或手工爱好者使用,但最新的 Slackware 15.0 也支持 UEFI 和旧系统。如果你正在寻求冒险,并希望为你的桌面安装一个独特的 Linux 发行版,你可以试试 Slackware 15。
|
||||||
|
|
||||||
|
你用过 Slaceware 吗?你会测试 Slackware 15.0 吗?你认为 Slackware 的未来会是怎样的呢?
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/slackware-15-release/
|
||||||
|
|
||||||
|
作者:[Rishabh Moharir][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/rishabh/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/slackware-15-screenshot.png?w=1278&ssl=1
|
||||||
|
[2]: https://news.itsfoss.com/slackware-15-beta-release/
|
||||||
|
[3]: https://news.itsfoss.com/linux-kernel-5-15-release/
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/slackware-15-about.png?w=775&ssl=1
|
||||||
|
[5]: https://news.itsfoss.com/kde-plasma-5-23-release/
|
||||||
|
[6]: https://itsfoss.com/32-bit-linux-distributions/
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/slackware-firefox.png?w=679&ssl=1
|
||||||
|
[8]: http://www.slackware.com/changelog/current.php?cpu=x86_64
|
||||||
|
[9]: http://www.slackware.com/
|
||||||
|
[10]: https://ftp.osuosl.org/pub/slackware/slackware64-15.0/UPGRADE.TXT
|
@ -0,0 +1,98 @@
|
|||||||
|
[#]: subject: "Zorin OS 16 Education is a Linux Distro That Makes Learning More Accessible"
|
||||||
|
[#]: via: "https://news.itsfoss.com/zorin-os-16-education-release/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14240-1.html"
|
||||||
|
|
||||||
|
Zorin OS 16 教育版:一个让学习更容易的 Linux 发行版
|
||||||
|
======
|
||||||
|
|
||||||
|
> Zorin OS 16 教育版的重点是离线学习和新的教育应用程序,为学校和学生提供帮助。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Zorin OS 16 是 2021 年最令人印象深刻的发行版之一。你或许想先了解一下 [Zorin OS 16][1] 和 [Zorin OS 16 精简版][2] 的信息。
|
||||||
|
|
||||||
|
现在,经过一段时间,Zorin OS 团队终于决定发布 Zorin OS 16 教育版。
|
||||||
|
|
||||||
|
可以预期包含 Zorin OS 16 的所有改进,以及为教育而量身定做的具体修改。
|
||||||
|
|
||||||
|
请注意,教育版的 Zorin OS 16 是完全免费下载的。对于旧电脑,你还可以使用精简教育版。
|
||||||
|
|
||||||
|
### Zorin OS 16 教育版有什么新内容?
|
||||||
|
|
||||||
|
Zorin OS 16 教育版的重点是以离线为先的学习体验。换句话说,它包括一个合格的教育内容集,不需要上网就可以访问。
|
||||||
|
|
||||||
|
为了实现这一目标,Zorin OS 16 包括了 [Kolibri][3],这是一个自由开源的教育解决方案,支持自定进度的学习,并通过本地 Wi-Fi 网络进行同步/共享。
|
||||||
|
|
||||||
|
因此,即使没有互联网,你也可以依靠点对点的连接来分享教育内容,进行协作,并继续学习,不受任何干扰。
|
||||||
|
|
||||||
|
学校管理者还可以创建自己的课程,并从可汗学院、Open Stax、麻省理工学院等来源下载现成的资源。
|
||||||
|
|
||||||
|
当然,管理员需要互联网接入才能做到这一点。但是,一旦你下载了内容,就可以在没有互联网接入的情况下轻松地在本地网络上分享,从而使分发教育内容成为可能。
|
||||||
|
|
||||||
|
除了 Kolibri 之外,Zorin OS 16 还出炉了新的教育应用程序,其中一些是:
|
||||||
|
|
||||||
|
#### Minder:将想法和笔记可视化
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
与 [Obsidian][5] 和 [Logseq][6] 类似,Minder 是一个更简单有效的思维导图工具,帮助你将笔记和想法可视化,而进行头脑风暴会议。
|
||||||
|
|
||||||
|
#### Foliate:电子书阅读器
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
[Foliate][8] 是一个令人印象深刻的 Linux 电子书阅读器应用。它应该能让学生/教师提高阅读体验,也能在需要时提供公共领域书籍的下载。
|
||||||
|
|
||||||
|
#### OpenBoard:交互式白板
|
||||||
|
|
||||||
|
![][9]
|
||||||
|
|
||||||
|
我最近报道了 [OpenBoard][10],作为我们的应用亮点之一。它是一个自由开源的白板,应该会让老师和学生也感到有趣。
|
||||||
|
|
||||||
|
OpenBoard 应该有助于通过工具以及应用程序与多媒体内容互动的能力来改善学习过程。
|
||||||
|
|
||||||
|
#### Minuet:音乐教学
|
||||||
|
|
||||||
|
Minuet 专注于帮助你向学生教授音乐。你会发现视觉队列,以及和弦、音阶等方面的练耳练习。
|
||||||
|
|
||||||
|
#### 其他改进措施
|
||||||
|
|
||||||
|
根据你的系统配置,可以选择 Zorin OS 16 教育版或 Zorin OS 16 精简教育版。
|
||||||
|
|
||||||
|
这两个教育版应该会带来更快、更漂亮的桌面体验,可以访问更多的应用程序。
|
||||||
|
|
||||||
|
Zorin OS 16 教育版支持到 2025 年 4 月。
|
||||||
|
|
||||||
|
你可以从其官方网站下载 Zorin OS 16 教育版及其精简版。
|
||||||
|
|
||||||
|
- [Zorin OS 16 教育版][11]
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/zorin-os-16-education-release/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/zorin-os-16-features/
|
||||||
|
[2]: https://news.itsfoss.com/zorin-os-16-lite-release/
|
||||||
|
[3]: https://learningequality.org/kolibri/
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/minder.png?resize=1568%2C870&ssl=1
|
||||||
|
[5]: https://itsfoss.com/obsidian-markdown-editor/
|
||||||
|
[6]: https://itsfoss.com/logseq/
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/foliate.png?w=1300&ssl=1
|
||||||
|
[8]: https://itsfoss.com/foliate-ebook-viewer/
|
||||||
|
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/openboard.png?w=900&ssl=1
|
||||||
|
[10]: https://linux.cn/article-14212-1.html
|
||||||
|
[11]: https://zorin.com/os/education/
|
@ -0,0 +1,194 @@
|
|||||||
|
[#]: subject: "Brave vs Vivaldi: Which Chromium-Based Browser is Better?"
|
||||||
|
[#]: via: "https://itsfoss.com/brave-vs-vivaldi/"
|
||||||
|
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "imgradeone"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14255-1.html"
|
||||||
|
|
||||||
|
Brave vs Vivaldi:哪个浏览器更好?
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
毫无疑问,Brave 是一款出色的开源网页浏览器。它也是 [适用于 Linux 的最佳网页浏览器][1] 之一。
|
||||||
|
|
||||||
|
另一方面,Vivaldi 凭借其强劲的自定义能力和标签页管理功能,在 Linux 用户群中获得了不错的声誉。
|
||||||
|
|
||||||
|
Vivaldi 是否值得一试?它开源吗?为什么你会更喜欢 Brave 而不是它?或者,是否应该考虑使用 Vivaldi 呢?
|
||||||
|
|
||||||
|
在此,我将解答上述所有问题,并对这两款浏览器进行并列比较。
|
||||||
|
|
||||||
|
### 用户界面
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
虽然这两款网页浏览器都是基于开源的 Chromium 代码,但是它们提供了不同的用户体验。
|
||||||
|
|
||||||
|
Brave 专注于提供简洁的外观,而 Vivaldi 则尽力提供更多的功能。
|
||||||
|
|
||||||
|
如果你不想受到过多干扰,只想专心浏览网页,那么 Brave 应该能给你提供清爽的体验。
|
||||||
|
|
||||||
|
不过,Brave 也为你提供了定制现有界面的选项,例如使用更宽的地址栏、显示完整 URL、显示标签搜索按钮、显示或隐藏主页按钮等。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
说到主题,Brave 默认提供了亮色和暗色两款主题,同时也支持 Chrome 应用商店中的主题。
|
||||||
|
|
||||||
|
反观另一边,Vivaldi 默认情况下看上去似乎有点满满当当的 —— 能够快速访问的侧边栏、地址栏右边的搜索框,再加上浏览器底部还有更多要素。
|
||||||
|
|
||||||
|
Vivaldi 默认也提供了更多主题。别忘了,你可以无缝地编辑、定制主题,而 Brave 可没有这种功能。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
对于那些想要一款简洁明了,同时可以自定义的浏览器的人来说,Brave 就是合适的推荐项。而对于那些需要丰富的界面和大量设置项的用户来说,Vivaldi 是个不错的选择。
|
||||||
|
|
||||||
|
### 完全开源 vs 99% 开源
|
||||||
|
|
||||||
|
Brave 是完全开源的,可以免费 / 自由使用。你可以在 GitHub 上查看它的源代码,如果需要的话还可以<ruby>复刻<rt>Fork</rt></ruby>一份代码以用于实验和测试。
|
||||||
|
|
||||||
|
Vivaldi 的话,呃……只能说是几乎开源。整个浏览器基于 Chromium 开发,而修改过的 Chromium 源代码可以在它的官网中找到。不过,这款浏览器的用户界面却是专有的。
|
||||||
|
|
||||||
|
为确保提供独特的用户体验,并保持对它的控制权,Vivaldi 决定将用户界面闭源。
|
||||||
|
|
||||||
|
不过,他们在一篇 [博文][5] 中解释得很清楚。
|
||||||
|
|
||||||
|
### 标签页管理
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
对于大多数用户来说,这可能不算是一个比较标准,但考虑到 Vivaldi 以其标签页管理功能而著名,因此这一点仍旧值得比较。
|
||||||
|
|
||||||
|
在你打开了许多标签页时,标签页管理就会大有用场。如果你只开了少量的标签页,那你不需要同时考虑标签页管理,但它仍旧十分有用。
|
||||||
|
|
||||||
|
有了 Vivaldi,你可以体验两级堆叠标签栏,同时还可以拥有多个堆叠标签组。你还可以将标签栏从浏览器的顶部移动到左、右、底部。
|
||||||
|
|
||||||
|
标签的默认行为都可以修改。紧凑标签组可以修改为折叠式,标签宽度可以更改,按钮可选择显示或隐藏,还有许多配置项。
|
||||||
|
|
||||||
|
Brave 同样可以分组标签、指定颜色、命名标签组,以及展开、折叠标签组,以便管理。
|
||||||
|
|
||||||
|
![Brave 的标签页管理][7]
|
||||||
|
|
||||||
|
不过,在 Brave 里就没有 Vivaldi 那样的两级标签栏,以及自定义标签行为的功能。
|
||||||
|
|
||||||
|
此外,我个人认为 Brave 的标签管理(在开启暗色模式时)看上去有点混乱不堪。
|
||||||
|
|
||||||
|
当然,你可以决定新标签页展示什么内容,但这远远不及 Vivaldi 大量选项那么有用。
|
||||||
|
|
||||||
|
所以,在标签页管理这一方面,Vivaldi 明显完胜。不过,一切仍取决于你的实际需求。如果你不在多个标签页中反复横跳,那你其实也不需要什么额外的东西。
|
||||||
|
|
||||||
|
### 其他功能
|
||||||
|
|
||||||
|
两款浏览器都提供了所有基本功能,但你仍旧可以发现许多区别。
|
||||||
|
|
||||||
|
Brave 支持 IPFS 协议,你也可以使用 Brave 奖励功能,并通过由 Brave 提供的尊重隐私的广告来获取奖励。这些奖励可作为赞助费用,以支持网站的创作者。这些奖励同样也可以用于购买来自合作伙伴的 Brave 周边。
|
||||||
|
|
||||||
|
![][8]
|
||||||
|
|
||||||
|
Brave 搜索是 Brave 浏览器的默认搜索引擎。虽然这款搜索引擎并非开源,但 Brave 搜索所带来的功能足以使其成为其他隐私保护型搜索引擎的适当替代品。
|
||||||
|
|
||||||
|
来到 Vivaldi 这边,它提供了大量额外功能,包括侧边栏的 Web 面板、番茄钟、页面平铺、日历集成、电子邮箱集成、RSS 订阅等。
|
||||||
|
|
||||||
|
侧边栏(或者叫 Web 面板)允许你快速访问内容,不需额外新建标签或窗口,让你轻松进行多任务处理,而不会失去对当前活跃标签的专注。
|
||||||
|
|
||||||
|
![][9]
|
||||||
|
|
||||||
|
当然,它还有内置的翻译功能,让你能在不懂网站的语言时摆脱谷歌翻译。
|
||||||
|
|
||||||
|
除了这些功能以外,Vivaldi 允许你修改键盘快捷键、鼠标手势,以及大量快捷命令。在 Brave 里可没有这些东西。
|
||||||
|
|
||||||
|
因此,我认为 Vivaldi 对于喜欢键盘快捷键的人来说是一个不错的选择。
|
||||||
|
|
||||||
|
### 隐私一角
|
||||||
|
|
||||||
|
![][10]
|
||||||
|
|
||||||
|
Vivaldi 专注于提供隐私友好型网络体验,就和 Brave 一样。它内置了原生的广告 / 跟踪拦截保护,以及专门用于自行调整体验的隐私设置。
|
||||||
|
|
||||||
|
就如上方的截图那样,你可以选择启用或禁用谷歌的安全服务,隐藏输入历史,修改历史记录的存储行为,并修改默认的网站权限。
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
Brave 同样给你类似的控制级别,当然也有更高级的设置项,比如修改 WebRTC IP 处理政策,以及消息推送服务控制。
|
||||||
|
|
||||||
|
如果你单纯想要拦截跟踪器和广告的功能,那么两款浏览器都有。不过,如果你更担心某项特定需求,那你可以试着查看它们的设置项,然后自行决定。
|
||||||
|
|
||||||
|
### 性能
|
||||||
|
|
||||||
|
![][12]
|
||||||
|
|
||||||
|
一如既往,我借助一些知名的基准工具来测试浏览器的性能,例如:[JetStream 2][13]、[Speedometer 2.0][14] 和 [Basemark Web 3.0][15]。
|
||||||
|
|
||||||
|
我使用 Pop!\_OS 21.10 作为我的 Linux 发行版,而测试的浏览器版本为 **Vivaldi 5.0.2497.51 稳定版** 和 **Brave 97.0.4692.99**。
|
||||||
|
|
||||||
|
在这些基准跑分测试中,Brave 总体更快,但 Vivaldi 在 Speedometer 2.0 中得分更高。
|
||||||
|
|
||||||
|
作为参考,我后台没有运行任何程序,只运行了浏览器。电脑配置为 **英特尔 15-11600K @4.7GHz、32GB 3200 MHz 内存、英伟达 1050Ti 显卡**。
|
||||||
|
|
||||||
|
因此,两款浏览器都应该能带来快速、便捷的网络体验。
|
||||||
|
|
||||||
|
### 安装
|
||||||
|
|
||||||
|
Vivaldi 在它的 [官网][16] 提供了最新的 DEB/RPM 软件包,而且同样支持 ARM 设备。不过目前稳定版本的 Vivaldi 暂时不提供 Flatpak 和 Snap 版本。
|
||||||
|
|
||||||
|
![][17]
|
||||||
|
|
||||||
|
另一边,Brave 并没有直接在官网提供这些软件包。你必须 [在终端中输入一组命令][18] 以安装 Brave,至少这是官方推荐的安装方式。
|
||||||
|
|
||||||
|
![][19]
|
||||||
|
|
||||||
|
你也能下载 [Snap 版软件包][20],但这并非是最佳方法,官方也承认有许多问题存在。
|
||||||
|
|
||||||
|
但无论如何,你都可以查阅我们的 [在 Fedora 上安装 Brave 的指南][21] 以获得帮助。
|
||||||
|
|
||||||
|
### 最终结论
|
||||||
|
|
||||||
|
如果说到开源浏览器,那 Brave 占绝对优势,毕竟它是完全开源的。不过,Vivaldi 对于隐私型网络体验的承诺,以及对 Linux 平台的重视,反而更具吸引力。
|
||||||
|
|
||||||
|
从功能上看,Vivaldi 的标签页管理功能已经是极具竞争力的选择,它可以帮助你在大量标签中更加游刃有余。
|
||||||
|
|
||||||
|
需要注意的是,Vivaldi 的双显示器体验似乎不太友好(至少在我这边是这样的)。目前来看,Vivaldi 在我的双显示器环境下出现卡顿,甚至无响应,但在单显示器上从来没有这种情况。
|
||||||
|
|
||||||
|
而 Brave 就没有这种问题。因此,建议你自行测试一下。
|
||||||
|
|
||||||
|
Brave 提供简洁和快速的体验,Vivaldi 则更适合那些喜欢更多自定义配置和丰富界面的用户。
|
||||||
|
|
||||||
|
考虑到 Vivaldi 标签页管理功能确实能省下不少时间,我会选择 Vivaldi,不过我最后还是换回了 Firefox,至少等到 Vivaldi 能够在双显示器环境下流畅运行。
|
||||||
|
|
||||||
|
你又会选择哪款呢?欢迎在评论区留言,让我了解你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://itsfoss.com/brave-vs-vivaldi/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[imgradeone](https://github.com/imgradeone)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://linux.cn/article-14075-1.html
|
||||||
|
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-vivaldi-ui.png?resize=784%2C600&ssl=1
|
||||||
|
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-appearance-settings.png?resize=800%2C519&ssl=1
|
||||||
|
[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/vivaldi-themes-default.png?resize=800%2C580&ssl=1
|
||||||
|
[5]: https://help.vivaldi.com/desktop/privacy/is-vivaldi-open-source/
|
||||||
|
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/vivaldi-tab-stack.png?resize=732%2C551&ssl=1
|
||||||
|
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-tab-management.png?resize=800%2C523&ssl=1
|
||||||
|
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/brave-search-browser.png?resize=749%2C600&ssl=1
|
||||||
|
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/vivaldi-other-features.png?resize=800%2C589&ssl=1
|
||||||
|
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/01/vivaldi-privacy.png?resize=800%2C560&ssl=1
|
||||||
|
[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/02/brave-privacy-settings.png?resize=800%2C618&ssl=1
|
||||||
|
[12]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/02/vivaldi-brave-benchmarks.png?resize=800%2C450&ssl=1
|
||||||
|
[13]: https://webkit.org/blog/8685/introducing-the-jetstream-2-benchmark-suite/
|
||||||
|
[14]: https://webkit.org/blog/8063/speedometer-2-0-a-benchmark-for-modern-web-app-responsiveness/
|
||||||
|
[15]: https://web.basemark.com/
|
||||||
|
[16]: https://vivaldi.com/download/
|
||||||
|
[17]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/02/vivaldi-download.png?resize=800%2C408&ssl=1
|
||||||
|
[18]: https://brave.com/linux/#linux
|
||||||
|
[19]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2022/02/brave-install-on-linux.png?resize=800%2C358&ssl=1
|
||||||
|
[20]: https://snapcraft.io/brave
|
||||||
|
[21]: https://linux.cn/article-14028-1.html
|
@ -0,0 +1,201 @@
|
|||||||
|
[#]: subject: "Best Whiteboard Applications for Linux Systems"
|
||||||
|
[#]: via: "https://www.debugpoint.com/2022/02/top-whiteboard-applications-linux/"
|
||||||
|
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14271-1.html"
|
||||||
|
|
||||||
|
适用于 Linux 系统的最佳白板应用
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> 我们将向你展示几个用于 Linux 的白板应用程序。我相信这些会对你有很大的帮助。
|
||||||
|
|
||||||
|
一般来说,数字白板是一种包含一块白板形式的大型互动显示器的工具。白板设备的一些例子,如平板电脑、大屏幕手机、触摸屏笔记本电脑、平面显示器等。
|
||||||
|
|
||||||
|
如果教员使用白板,可以使用触摸感应笔、手写笔、手指或鼠标在这些设备屏幕上画、写或操作元素。你可以拖动、点击、擦除、绘制,在白板上做一切可以用笔在纸上完成的事情。
|
||||||
|
|
||||||
|
但要做到这些,你需要支持所有这些功能的软件,即在你的触摸和显示器之间架起桥梁。
|
||||||
|
|
||||||
|
现在,有许多商业应用程序可用于这项工作。但我们将在本文中谈论一些可用于 Linux 的自由开源的白板应用程序。
|
||||||
|
|
||||||
|
### Linux 上的最佳白板应用
|
||||||
|
|
||||||
|
#### 1、Xournal++
|
||||||
|
|
||||||
|
我们介绍的第一个应用是 [Xournal++][1]。在我看来,这是这份名单上最好的应用。它相当可靠,而且已经出现了一段时间了。
|
||||||
|
|
||||||
|
Xournal++ 可以让你写字、画画,做一切你通常在纸上做的事情。它支持手写、带高亮的自定义笔、橡皮擦等。它支持分层、多页功能、添加外部图片、添加音频等功能。
|
||||||
|
|
||||||
|
这个应用程序支持几乎所有的压敏平板,包括 Wacom、Huion、XP-Pen。我在一台触摸板笔记本电脑上测试了它,只需稍作设置就能工作。所以,你可以用它使用任何压敏设备。
|
||||||
|
|
||||||
|
它是用 C++ 和 GTK3 编写的。
|
||||||
|
|
||||||
|
![Xournal++ 白板应用程序(Linux)][2]
|
||||||
|
|
||||||
|
对于 Linux 系统,可以安装如下软件包。它是免费的,也可用于 Linux、macOS 和 Windows。如果你想在手机上试用,也可以使用它的测试版。
|
||||||
|
|
||||||
|
这个应用程序有 AppImage、Snap、Flatpak 和 deb 包。对于基于 Ubuntu/Debian 的系统,也有 PPA 版本。
|
||||||
|
|
||||||
|
此外,还有适用于 Fedora、SUSE 和 Arch 的专用软件包。请点击下面的链接下载 Xournal++,获取你喜欢的可执行文件格式。
|
||||||
|
|
||||||
|
* [主页][1]
|
||||||
|
* [文档][4]
|
||||||
|
* [源代码][5]
|
||||||
|
* [下载 Xournal++][3]
|
||||||
|
|
||||||
|
#### 2、OpenBoard
|
||||||
|
|
||||||
|
我们想重点介绍的下一个是 [OpenBoard][6]。这个简单的白板绘图应用程序很容易使用,不会有太多的选项让你操心。
|
||||||
|
|
||||||
|
这款软件非常适合初学者和初级学生在在线课程中做笔记。
|
||||||
|
|
||||||
|
![OpenBoard][7]
|
||||||
|
|
||||||
|
OpenBoard 加载了很多功能。如颜色、画笔、文本、简单的绘图形状、页面支持等。这个应用程序是使用 Qt 技术构建的。
|
||||||
|
|
||||||
|
这个应用程序只适用于 Ubuntu,它是一个独立的 deb 包。你可以从下面的链接下载 OpenBoard。
|
||||||
|
|
||||||
|
* [主页][6]
|
||||||
|
* [文档][9]
|
||||||
|
* [源代码][10]
|
||||||
|
* [下载 OpenBoard][8]
|
||||||
|
|
||||||
|
#### 3、Notelab
|
||||||
|
|
||||||
|
[NoteLab][11] 是上个年代最古老的白板应用程序之一。它是一个自由开源的应用程序,有大量的功能。因此,你可以理解这个应用程序是多么的稳定和流行。
|
||||||
|
|
||||||
|
以下是它的一些特点:
|
||||||
|
|
||||||
|
* 这个应用程序支持所有流行的图像格式作为导出选项。例如,SVG、PNG、JPG、BMP 等。
|
||||||
|
* 用于定制笔和纸的配置选项。
|
||||||
|
* 内置内存管理器,用于自定义分配 NoteLab 使用的内存。
|
||||||
|
* 多种样式的纸张。
|
||||||
|
* 所有标准的绘图工具。
|
||||||
|
* 你可以在笔记的任何部分调整大小、移动、删除、改变颜色和执行其他操作。
|
||||||
|
|
||||||
|
![NoteLab][12]
|
||||||
|
|
||||||
|
然而,这个应用程序是一个 Java 应用程序,并以一个 .jar 文件分发。因此,你需要 Java 运行时才能工作。你可以参考我们的指南,通过以下链接在 Linux 系统中安装 Java 或 JRE。
|
||||||
|
|
||||||
|
* [如何在基于 Ubuntu的系统中安装 Java/JRE][13] 。
|
||||||
|
* [如何在 Arch Linux 中安装 Java/JRE][14] 。
|
||||||
|
|
||||||
|
NoteLab 带有一个独立的可执行的 .jar 文件,你可以通过以下链接从 SourceForge 下载。记住,你需要 JRE 来运行这个应用程序。
|
||||||
|
|
||||||
|
* [主页][11]
|
||||||
|
* [文档][17]
|
||||||
|
* [下载 NoteLab][16]
|
||||||
|
|
||||||
|
#### 4、Rnote
|
||||||
|
|
||||||
|
我们要介绍的第三个应用程序叫做 [Rnote][18]。Rnote 是一个通过触摸设备进行手写笔记的优秀应用。这个应用程序是基于矢量图像的,可以绘制、注释图片和 PDF 文件。它有原生的 .rnote 文件格式,也支持导入/导出 png、jpeg、svg 和 PDF 的选项。
|
||||||
|
|
||||||
|
Rnote 的一个很酷的特点是,它支持 Xournal++ 文件格式(本列表中的第一个应用程序),这使它成为一个必备的工具。
|
||||||
|
|
||||||
|
Rnote 使用 GTK4 和 Rust 构建,非常适合 GNOME 桌面和各种类型的 Linux 系统。
|
||||||
|
|
||||||
|
这个应用程序目前正在开发中,在使用时请记住这一点。
|
||||||
|
|
||||||
|
![Rnote - 基于 GTK4 和 Rust 的 Linux 白板应用程序][19]
|
||||||
|
|
||||||
|
这个应用程序是以 Flatpak 包的形式提供的。你可以使用 [这篇指南][20] 为你的 Linux 系统设置 Flatpak,然后点击 [此链接安装][21]。
|
||||||
|
|
||||||
|
- [主页和源代码][18]
|
||||||
|
|
||||||
|
#### 5、Lorien
|
||||||
|
|
||||||
|
[Lorien][22] 是一个完美的数字笔记本软件,可以用于你的构思会议,你可以用它的各种工具创建笔记。Lorien 是一个基于 Godot 游戏引擎的跨平台、自由开源的“无限画布绘画/记事”应用程序。这个应用程序非常适合于为头脑风暴会议做快速笔记。
|
||||||
|
|
||||||
|
工具箱相当标准,有自由画笔、橡皮擦、线条工具和选择工具。你可以移动或删除你的笔触的选定部分,这是一个点的集合,在运行时渲染。
|
||||||
|
|
||||||
|
![Linux 的 Lorien 白板应用程序][23]
|
||||||
|
|
||||||
|
使用 Lorien 不需要安装。可以从下面的链接中下载一个独立的可执行 tar 文件。下载后,解压文件并双击运行。
|
||||||
|
|
||||||
|
- [主页和源代码][22]
|
||||||
|
- [下载 Lorien][24]
|
||||||
|
|
||||||
|
#### 6、Rainbow Board
|
||||||
|
|
||||||
|
Rainbow Board 是一个基于 Electron 和 React 的自由开源的白板应用。一般来说,因为它们的性能和笨重的性质,人们不喜欢 Electron 应用程序。但是,既然我们要列出这个类别的应用,我认为这个应用是值得一提的。
|
||||||
|
|
||||||
|
它有一个标准的画布,支持触摸和手写笔绘制。工具箱包括画笔尺寸、颜色、填充颜色、字体、撤销和重做动作。你可以将你的绘图导出为 PNG 或 SVG 文件。
|
||||||
|
|
||||||
|
![Linux 的 Rainbow Board 白板应用程序][25]
|
||||||
|
|
||||||
|
这个应用程序有 Snap、Flatpak 和独立的 deb 安装程序。你可以从下面的链接中的页面下载它们。
|
||||||
|
|
||||||
|
* [主页][27]
|
||||||
|
* [源代码][28]
|
||||||
|
* [下载 Rainbow Board][26]
|
||||||
|
|
||||||
|
### 荣誉提名
|
||||||
|
|
||||||
|
我想在这里提到的最后两个绘图应用程序是 Vectr 和 Ecxalidraw。这些是基于网络的白板绘图应用程序。我把它们放在一个单独的部分,因为它们不是桌面应用程序。
|
||||||
|
|
||||||
|
所以,如果你不愿意再安装一个应用程序;或者使用的是学校或工作系统,没有权限安装,你可以打开网络浏览器,使用这些。以下是它们的网址:
|
||||||
|
|
||||||
|
- [Vectr][29]
|
||||||
|
- [Ecxalidraw][30]
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
这就是一些适用于 Linux 和其他操作系统的现代白板 [绘图][31] 应用程序。由于疫情和在家工作的原因,你们中的许多人可能正在用纸笔为你们的在线课程或课堂做笔记。我相信这些会对你的学习工作有所帮助。
|
||||||
|
|
||||||
|
试试这些,你一定会找到最适合你的那一个。请在下面的留言框中告诉我你对这份清单的意见或反馈。
|
||||||
|
|
||||||
|
加油!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://www.debugpoint.com/2022/02/top-whiteboard-applications-linux/
|
||||||
|
|
||||||
|
作者:[Arindam][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://www.debugpoint.com/author/admin1/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://xournalpp.github.io/
|
||||||
|
[2]: https://www.debugpoint.com/wp-content/uploads/2022/02/Xournal-Whiteboard-Application-for-Linux-1024x576.jpg
|
||||||
|
[3]: https://xournalpp.github.io/installation/linux/
|
||||||
|
[4]: https://xournalpp.github.io/guide/overview/
|
||||||
|
[5]: https://github.com/xournalpp/xournalpp/
|
||||||
|
[6]: https://openboard.ch/
|
||||||
|
[7]: https://www.debugpoint.com/wp-content/uploads/2022/02/OpenBoard.jpg
|
||||||
|
[8]: https://openboard.ch/download.en.html
|
||||||
|
[9]: https://openboard.ch/support.html
|
||||||
|
[10]: https://github.com/OpenBoard-org/OpenBoard
|
||||||
|
[11]: http://java-notelab.sourceforge.net/
|
||||||
|
[12]: https://www.debugpoint.com/wp-content/uploads/2022/02/NoteLab.jpg
|
||||||
|
[13]: https://www.debugpoint.com/2016/05/how-to-install-java-jre-jdk-on-ubuntu-linux-mint/
|
||||||
|
[14]: https://www.debugpoint.com/2021/02/install-java-arch/
|
||||||
|
[15]: https://www.debugpoint.com/2018/05/gimp-2-10-download-install-linux-ubuntu/
|
||||||
|
[16]: https://sourceforge.net/projects/java-notelab/files/NoteLab/
|
||||||
|
[17]: http://java-notelab.sourceforge.net/features.html
|
||||||
|
[18]: https://github.com/flxzt/rnote
|
||||||
|
[19]: https://www.debugpoint.com/wp-content/uploads/2022/02/Rnote-Whiteboard-Application-for-Linux-based-on-GTK4-and-Rust-1024x576.jpg
|
||||||
|
[20]: https://flatpak.org/setup/
|
||||||
|
[21]: https://dl.flathub.org/repo/appstream/com.github.flxzt.rnote.flatpakref
|
||||||
|
[22]: https://github.com/mbrlabs/Lorien
|
||||||
|
[23]: https://www.debugpoint.com/wp-content/uploads/2022/02/Lorien-Whiteboard-Application-for-Linux.jpg
|
||||||
|
[24]: https://github.com/mbrlabs/Lorien/releases
|
||||||
|
[25]: https://www.debugpoint.com/wp-content/uploads/2022/02/Rainbow-Board-Whiteboard-application-for-Linux-1024x560.jpg
|
||||||
|
[26]: https://www.electronjs.org/apps/rainbow-board
|
||||||
|
[27]: https://harshkhandeparkar.github.io/rainbow-board/
|
||||||
|
[28]: https://github.com/HarshKhandeparkar/rainbow-board
|
||||||
|
[29]: https://vectr.com/
|
||||||
|
[30]: https://excalidraw.com/
|
||||||
|
[31]: https://www.debugpoint.com/tag/digital-drawing
|
||||||
|
[32]: https://unsplash.com/photos/doTjbfxrmRw
|
||||||
|
[33]: https://t.me/debugpoint
|
||||||
|
[34]: https://twitter.com/DebugPoint
|
||||||
|
[35]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||||
|
[36]: https://facebook.com/DebugPoint
|
@ -0,0 +1,139 @@
|
|||||||
|
[#]: subject: "BitTorrent Client ‘Fragments 2.0’ for Linux is Here, Rebuilt Using Rust with a New UI"
|
||||||
|
[#]: via: "https://news.itsfoss.com/fragments-2-0-release/"
|
||||||
|
[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14252-1.html"
|
||||||
|
|
||||||
|
Linux BitTorrent 客户端 Fragments 2.0 全新发布
|
||||||
|
======
|
||||||
|
|
||||||
|
> Fragments 2.0 的发布使其成为 Linux 发行版中最方便用户使用的 BitTorrent 客户端之一。让我们来看看有什么新变化。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Fragments 是 [Linux 上最好的 BitTorrent 客户端之一][1]。
|
||||||
|
|
||||||
|
最新的 Fragments 2.0 是一个重大升级,它使用 Rust、GTK 4 和 Libadwaita 从头开始完全重写。
|
||||||
|
|
||||||
|
除了技术上的改进之外,你还会发现一些新的功能和改进的用户界面。
|
||||||
|
|
||||||
|
让我重点介绍一下它的变化。
|
||||||
|
|
||||||
|
### Fragments 2.0 的新变化
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
最近,Gnome 应用程序的生态系统经历了一些大规模的变化。在这个变化的最前沿是向 Gtk4 和 [Libadwaita][3] 的过渡。不幸的是,这种变化并不小,许多应用程序需要从头开始重建,以支持这些新标准。
|
||||||
|
|
||||||
|
与许多其他应用程序开发者一起,Fragment 的开发者 [Felix Häcker][4] 决定从头开始重建 Fragments,现在作为 Fragments 2.0 发布。因此,我们现在得到了一个改进的 Linux 的 BitTorrent 客户端。
|
||||||
|
|
||||||
|
其中的一些改进包括。
|
||||||
|
|
||||||
|
* 一个基于 Libadwaita 的漂亮的新用户界面
|
||||||
|
* 新的模块化架构
|
||||||
|
* 能够被用作远程 Fragments / Transmission 会话的远程控制
|
||||||
|
* 新的偏好对话框有更多的选项
|
||||||
|
* 能够查看有关网络的统计数据
|
||||||
|
|
||||||
|
#### 一个新的用户界面
|
||||||
|
|
||||||
|
![][5]
|
||||||
|
|
||||||
|
Fragments 2.0 现在有一个基于 Libadwaita 的新 UI。补充一句,Libadwaita 是 GTK4 对 Gnome 应用程序的一个扩展。它有几个优点,最明显的是在所有 Gnome 应用程序中具有一致的外观。
|
||||||
|
|
||||||
|
它比旧的主题更加扁平和圆润,我觉得,看起来非常时尚。
|
||||||
|
|
||||||
|
你可以得到一个外观简洁的 BitTorrent 应用程序,易于浏览,你也可以快速访问一些基本的选项。
|
||||||
|
|
||||||
|
#### 新的模块化架构
|
||||||
|
|
||||||
|
虽然不能直接看到,但 Fragments 2.0 具有一个全新的模块化架构。在内部,该应用程序的所有不同部分都是模块化的。虽然这起初看起来没有那么大的影响,但我可以看到它对用户和开发者都有深远的影响。
|
||||||
|
|
||||||
|
首先,它应该意味着更容易维护,希望能让开发人员花更多时间在新功能和错误修复上。其次,它也应该意味着应用程序的更大稳定性。如果 Fragments 的一个部分崩溃了,应用程序的其他部分应该保持工作,希望不会对用户产生任何重大影响。
|
||||||
|
|
||||||
|
这只是我想到的这个新架构的两个好处,我相信还可以有更多。
|
||||||
|
|
||||||
|
#### 新的首选项对话框
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
最后,Fragments 2.0 引入了几个经常要求的设置选项。在这些选项中,我认为最重要的是能够改变尚未完全下载的种子的默认文件夹。
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
虽然仍然不像它的一些替代品那样可以定制,但这些新增功能可以帮助你调整设置以适应你的要求。
|
||||||
|
|
||||||
|
其中一些选项包括:
|
||||||
|
|
||||||
|
* 添加种子后自动启动它们
|
||||||
|
* 启用/禁用下载队列
|
||||||
|
* 可定制的对等体限制
|
||||||
|
* 网络端口设置
|
||||||
|
* 自动端口转发的切换
|
||||||
|
|
||||||
|
#### 控制远程 Fragments / Transmission 会话
|
||||||
|
|
||||||
|
远程控制你的下载的能力可以产生相当大的影响。随着 Fragments 2.0,该应用程序终于获得了类似的功能,允许用户远程控制其他安装的 Fragments 和 Transmission 客户端。
|
||||||
|
|
||||||
|
这对使用单独的下载服务器的人来说非常有用,因为他们往往不能直接访问它。
|
||||||
|
|
||||||
|
虽然这在其他应用程序中一直提供的,但这一功能被直接整合到 Fragments 中,使得它成为一个对高级用户有用的 BitTorrent 客户端!
|
||||||
|
|
||||||
|
#### 其他改进措施
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
除了所有这些大的变化之外,还有一些错误的修复和一些新的能力。
|
||||||
|
|
||||||
|
一些关键的亮点包括:
|
||||||
|
|
||||||
|
* 添加的种子的磁力链可以被复制到剪贴板上
|
||||||
|
* 可以查看关于当前会话的统计数据(速度、总下载数据等)
|
||||||
|
|
||||||
|
你可以在其 [GitLab 页面][8] 上探索更多关于 Fragments 2.0 的信息。
|
||||||
|
|
||||||
|
### 下载 Fragments 2.0
|
||||||
|
|
||||||
|
Fragments 是以 Flatpak 应用程序的形式提供的。如果你的 Linux 发行版没有内置的支持,你可以通过我们的 [Flatpak 指南][9] 来设置 Flatpak。
|
||||||
|
|
||||||
|
- [Fragments(Flathub)][10]
|
||||||
|
|
||||||
|
你可以尝试在你的软件中心搜索它(启用 Flatpak 集成)或在终端键入以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
flatpak install flathub de.haeckerfelix.Fragments
|
||||||
|
```
|
||||||
|
|
||||||
|
Fragments 2.0.1(有一些小的修正)也可以在其 GitLab 页面上找到,但还没有反映在 Flathub 上。
|
||||||
|
|
||||||
|
如果你在使用 Fragments 2.0 时有问题,你可能想等更新版本进入 Flathub。
|
||||||
|
|
||||||
|
你最喜欢的 BitTorrent Linux 客户端是什么?Fragments 2.0 是否令人印象深刻?请在下面的评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/fragments-2-0-release/
|
||||||
|
|
||||||
|
作者:[Jacob Crume][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/jacob/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/best-torrent-ubuntu/
|
||||||
|
[2]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fragments-2-0-home.png?resize=1568%2C1109&ssl=1
|
||||||
|
[3]: https://adrienplazas.com/blog/2021/03/31/introducing-libadwaita.html
|
||||||
|
[4]: https://twitter.com/haeckerfelix
|
||||||
|
[5]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fragments-2-0-screenshot.png?resize=1568%2C1424&ssl=1
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fragments-2-0-preferences.png?resize=1568%2C1454&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fragments-2-other.png?w=1376&ssl=1
|
||||||
|
[8]: https://gitlab.gnome.org/World/Fragments
|
||||||
|
[9]: https://itsfoss.com/flatpak-guide/
|
||||||
|
[10]: https://flathub.org/apps/details/de.haeckerfelix.Fragments
|
||||||
|
[11]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fragments-2-downloads.png?resize=1568%2C1454&ssl=1
|
105
published/20220207 Customize your shell prompt with Starship.md
Normal file
105
published/20220207 Customize your shell prompt with Starship.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
[#]: subject: "Customize your shell prompt with Starship"
|
||||||
|
[#]: via: "https://opensource.com/article/22/2/customize-prompt-starship"
|
||||||
|
[#]: author: "Moshe Zadka https://opensource.com/users/moshez"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14274-1.html"
|
||||||
|
|
||||||
|
用 Starship 定制你的 shell 提示符
|
||||||
|
======
|
||||||
|
|
||||||
|
> 控制你的提示符,让你需要的所有信息触手可及。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
没有什么比我忘记在我的 Git 仓库中 `git add` 文件更让我恼火的了。我在本地测试,提交,然后推送,却发现在持续集成阶段失败了。更糟糕的是,我在 `main` 分支而不是特性分支上,并不小心推送到它。最好的情况是,因为分支保护而失败,我需要做一些操作才能把改动推送到一个分支。更糟糕的是,我没有正确配置分支保护,不小心直接推送到了 `main` 分支。
|
||||||
|
|
||||||
|
如果这些信息能在提示中直接获得,那不是很好吗?
|
||||||
|
|
||||||
|
在提示符中甚至还有更多有用的信息。虽然 Python 虚拟环境的名称在提示符中,但虚拟环境的 Python 版本却不在提示符中。
|
||||||
|
|
||||||
|
可以仔细地将 `PS1` 环境变量配置为所有相关的信息。这可能会变得很长,很烦人,而且调试起来并不简单。
|
||||||
|
|
||||||
|
这就是 Starship 被设计来解决的问题。
|
||||||
|
|
||||||
|
### 安装 Starship
|
||||||
|
|
||||||
|
Starship 的初始设置只需要两个步骤:安装并配置你的 shell。安装可以很简单:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ curl -fsSL https://starship.rs/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
阅读安装脚本,确保你理解它的作用,然后让它可执行并运行它:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ chmod +x install.sh
|
||||||
|
$ ./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
还有其他的安装方法,在其网站上有介绍。你可以在构建镜像的步骤中设置虚拟机或容器。
|
||||||
|
|
||||||
|
### 配置 Starship
|
||||||
|
|
||||||
|
下一步是配置你的 shell 来使用它。要一次性尝试,假设 shell 是 `bash` 或 `zsh`,请运行以下命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ eval "$(starship init $(basename $SHELL))"
|
||||||
|
```
|
||||||
|
|
||||||
|
你的提示符立即改变:
|
||||||
|
|
||||||
|
```
|
||||||
|
localhost in myproject on master
|
||||||
|
>
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你喜欢你所看到的,把 `eval "$(starship init $(basename $SHELL))"` 添加到你的 shell 的 `rc` 文件中,使其永久化。
|
||||||
|
|
||||||
|
### 自定义 Starship
|
||||||
|
|
||||||
|
默认安装假定你可以安装“电脑迷字体”,例如 [Fantasque Sans Mono][2]。 特别是,你需要一种带有来自 Unicode 的“私有实现”部分的字形的字体。
|
||||||
|
|
||||||
|
这在控制终端时非常有效,但有时,终端的配置并不容易。例如,当使用一些浏览器内的 shell 抽象时,配置浏览器的字体可能是不太容易的。
|
||||||
|
|
||||||
|
该码位的最大用户是 Git 集成,它使用一个特殊的自定义符号来表示“分支”。禁用它可以通过使用文件 `~/.config/starship.toml` 来配置 `starship.rs`。
|
||||||
|
|
||||||
|
禁用分支符号是通过配置 `git_branch` 部分的 `format` 变量完成的:
|
||||||
|
|
||||||
|
```
|
||||||
|
[git_branch]
|
||||||
|
format = "on [$branch]($style) "
|
||||||
|
```
|
||||||
|
|
||||||
|
`starship.rs` 的一个好处是,改变配置会立即生效。保存文件,按下**回车**,看看字体是否符合预期。
|
||||||
|
|
||||||
|
还可以配置提示符中不同部分的颜色。例如,如果 Python 部分的亮黄色在白色背景上有点难看,你可以配置为蓝色:
|
||||||
|
|
||||||
|
```
|
||||||
|
[python]
|
||||||
|
style = "blue bold"
|
||||||
|
```
|
||||||
|
|
||||||
|
许多语言都有配置支持,包括 Go、.NET 和 JavaScript。还支持显示命令的持续时间(只针对耗时超过阈值的命令)等。
|
||||||
|
|
||||||
|
### 控制提示符
|
||||||
|
|
||||||
|
控制你的提示符,让你需要的所有信息触手可及。安装 Starship,让它为你工作,并享受吧!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/2/customize-prompt-starship
|
||||||
|
|
||||||
|
作者:[Moshe Zadka][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/moshez
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/space_stars_cosmic.jpg?itok=bE94WtN- (Cosmic stars in outer space)
|
||||||
|
[2]: https://github.com/belluzj/fantasque-sans
|
@ -0,0 +1,90 @@
|
|||||||
|
[#]: subject: "5 steps to migrate your application to containers"
|
||||||
|
[#]: via: "https://opensource.com/article/22/2/migrate-application-containers"
|
||||||
|
[#]: author: "Alan Smithee https://opensource.com/users/alansmithee"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14273-1.html"
|
||||||
|
|
||||||
|
将应用程序迁移到容器的 5 个步骤
|
||||||
|
======
|
||||||
|
|
||||||
|
> 如果你是容器的新手,不要被那些术语所吓倒。这些关键原则将帮助你把应用迁移到云中。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
一般来说,人们想使用你的应用程序这是一件好事。然而,当应用程序在服务器上运行时,应用程序受欢迎是有代价的。随着用户对资源需求的增加,在某些时候,你可能会发现你需要扩展你的应用程序。一种选择是在这种情况下增加更多的服务器,建立一个像 Nginx 这样的 [负载平衡器][2],以满足需求。但是,这种方法的成本可能很昂贵,因为当需求低的时候,在没有流量的服务器上运行你的应用程序的实例并不会节省资源。容器的优点是它是非持久的,在有需求时启动新实例,而随着需求的减少逐渐消失。如果这听起来像是你需要的功能,那么现在可能是将你的应用程序迁移到容器的时候了。
|
||||||
|
|
||||||
|
将应用程序迁移到容器中,很快就会变得迷失方向。虽然容器内的环境可能感觉很熟悉,但许多容器镜像是最小化的,而且它们被设计为无状态的。不过在某种程度上,这也是容器的优势之一。就像 Python 虚拟环境一样,它是一块白板,可以让你构建(或重建)你的应用程序,而没有许多其他环境所提供的无形的默认值。
|
||||||
|
|
||||||
|
每一次向云服务的迁移都是独一无二的,但在将你的应用程序移植到容器之前,你应该注意以下几个重要原则。
|
||||||
|
|
||||||
|
### 1、理解你的依赖关系
|
||||||
|
|
||||||
|
将你的应用程序移植到容器中是一个很好的机会,可以了解你的应用程序实际依赖的东西。由于除了最基本的系统组件外,很少有默认安装的组件,你的应用程序一开始不太可能在容器中运行。
|
||||||
|
|
||||||
|
在重构之前,确定你的依赖关系。首先,在你的源代码中用 `grep` 查找 `include`、`import`、`require`、`use` 或你选择的语言中用来声明依赖关系的任何关键词。
|
||||||
|
|
||||||
|
```
|
||||||
|
$ find ~/Code/myproject -type f \
|
||||||
|
-iname ".java" \
|
||||||
|
-exec grep import {} \;
|
||||||
|
```
|
||||||
|
|
||||||
|
不过,仅仅识别你使用的特定语言的库可能是不够的。审计依赖关系,这样你就能知道是否有语言本身运行所需的低级库,或者特定的模块以预期的功能运行。
|
||||||
|
|
||||||
|
### 2、评估你的数据存储
|
||||||
|
|
||||||
|
容器是无状态的,当一个容器崩溃或停止运行时,该容器的实例就永远消失了。如果你要在该容器中保存数据,这些数据也会消失。如果你的应用程序存储用户数据,所有的存储必须发生在容器之外,在你的应用程序的实例可以访问的某个位置。
|
||||||
|
|
||||||
|
你可以使用映射到容器内某个位置的本地存储来存储简单的应用程序配置文件。这是一种常见的技术,适用于需要管理员提供简单配置值的 Web 应用程序,如管理员的电子邮件地址、网站标题等。比如说:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ podman run \
|
||||||
|
--volume /local/data:/storage:Z \
|
||||||
|
mycontainer
|
||||||
|
```
|
||||||
|
|
||||||
|
然而,你可以配置一个数据库,如 MariaDB 或 PostgreSQL,将大量数据在几个容器中的共享存储。对于私人信息,如密码,[你可以配置一个机密存储][3]。
|
||||||
|
|
||||||
|
对于你需要如何重构你的代码,相应地调整存储位置,这可能意味着改变路径到新的容器存储映射,移植到不同的数据库,甚至是纳入容器特定的模块。
|
||||||
|
|
||||||
|
### 3、准备好你的 Git 仓库
|
||||||
|
|
||||||
|
容器在构建时通常会从 Git 仓库中拉取源代码。一旦你的 Git 仓库成为你的应用程序的生产就绪代码的标准来源,你必须有一个管理 Git 仓库的计划。要有一个发布分支或生产分支,并考虑使用 [Git 钩子][5] 来拒绝意外的未经批准的提交。
|
||||||
|
|
||||||
|
### 4、了解你的构建系统
|
||||||
|
|
||||||
|
容器化应用程序可能没有传统的发布周期。当容器被构建时,它们会被从 Git 中拉取出来。你可以启动任何数量的构建系统作为容器构建的一部分,但这可能意味着调整你的构建系统,使其比过去更加自动化。你应该重构你的构建过程,使你完全有信心它能在无人值守的情况下工作。
|
||||||
|
|
||||||
|
### 5、构建镜像
|
||||||
|
|
||||||
|
构建镜像不一定是复杂的任务。你可以使用 [现有的容器镜像][6] 作为基础,用一个简单的 Docker 文件对其进行调整。另外,你也可以使用 [Buildah][7] 从头开始构建你自己的镜像。
|
||||||
|
|
||||||
|
在某种程度上,构建容器的过程与实际重构代码一样,都是开发的一部分。容器的构建是为了获取、组装和执行你的应用程序,所以这个过程必须是自动化的、健壮的。建立一个好的镜像,就为你的应用程序建立了一个坚实可靠的基础。
|
||||||
|
|
||||||
|
### 容器化
|
||||||
|
|
||||||
|
如果你是容器的新手,不要被这些术语所吓倒。容器只是另一种环境。容器化开发的感知约束实际上可以帮助你专注于你的应用程序,并更好地了解它是如何运行的、它需要什么才能可靠地运行,以及当出错时有哪些潜在的风险。相反,这导致系统管理员在安装和运行你的应用程序时受到的限制要少得多,因为从本质上讲,容器是一个受控的环境。仔细审查你的代码,了解你的应用程序需要什么,并相应地重构它。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/2/migrate-application-containers
|
||||||
|
|
||||||
|
作者:[Alan Smithee][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/alansmithee
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/business_clouds.png?itok=IRsi1qOF (A person holding on to clouds that look like balloons)
|
||||||
|
[2]: https://opensource.com/article/21/4/load-balancing
|
||||||
|
[3]: https://www.redhat.com/sysadmin/new-podman-secrets-command
|
||||||
|
[4]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet
|
||||||
|
[5]: http://redhat.com/sysadmin/git-hooks
|
||||||
|
[6]: https://www.redhat.com/sysadmin/top-container-images
|
||||||
|
[7]: https://opensource.com/article/22/1/build-your-own-container-scratch
|
@ -0,0 +1,150 @@
|
|||||||
|
[#]: subject: "7 New Features That Make GNOME 42 an Awesome Release"
|
||||||
|
[#]: via: "https://news.itsfoss.com/gnome-42-features/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14267-1.html"
|
||||||
|
|
||||||
|
值得关注的 GNOME 42 的 7 个新特色
|
||||||
|
======
|
||||||
|
|
||||||
|
> GNOME 42 是一个令人激动的版本,它将应用程序移植到了 GTK 4,还有一个新的暗色风格偏好。你觉得怎么样?
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
GNOME 42 将是一个值得关注的版本。
|
||||||
|
|
||||||
|
它包括明显的视觉变化和对桌面体验的改进。当然,[GNOME 41][1] 中的变化所赢得的赞誉也适用于新版本。
|
||||||
|
|
||||||
|
GNOME 42 将于 2022 年 3 月 23 日发布,但它快到测试阶段了(计划于 2022 年 2 月 12 日)。
|
||||||
|
|
||||||
|
因此,让我们来看看在最终版本中你应该看到的变化。
|
||||||
|
|
||||||
|
你可以期待在 Fedora 36 工作站和 [Ubuntu 22.04 LTS][2] 中看到 GNOME 42。
|
||||||
|
|
||||||
|
### GNOME 42 有什么新变化?
|
||||||
|
|
||||||
|
请注意,GNOME 42 还没有完全就绪。因此,到下个月的正式宣布前,我们可以期待更多关于新功能和变化的细节。而且,我们将确保在这时更新文章。
|
||||||
|
|
||||||
|
#### 1、系统级的暗色风格偏好
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
与 elementary OS 团队为 [elementary OS 6][4] 所做的努力类似,GNOME 开发者也为实现系统级的暗色模式做出了努力。
|
||||||
|
|
||||||
|
在我们的 [最初报道][5] 中,我们提到了为什么 GNOME 计划跟随 elementary OS 添加一个暗色风格的偏好。
|
||||||
|
|
||||||
|
你可以在系统设置中的外观菜单下找到切换主题的选项。你在改变背景时,也可以通过右键菜单访问它。
|
||||||
|
|
||||||
|
#### 2、文件夹图标主题更新
|
||||||
|
|
||||||
|
尽管 GNOME 专注于提供现代的桌面体验,但原来的文件夹图标看起来已经过时。
|
||||||
|
|
||||||
|
随着 GNOME 42 和对于新的文件夹图标主题的 [一些讨论][6] ,他们最终确定了一个蓝灰色的梯度设计。
|
||||||
|
|
||||||
|
![][19]
|
||||||
|
|
||||||
|
下面是它在浅色主题下的样子:
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
#### 3、GTK 4 和 libadwaita
|
||||||
|
|
||||||
|
GNOME 41 引入了 [libadwaita][8],旨在推动 GNOME 应用程序的用户体验改变。
|
||||||
|
|
||||||
|
当然,这也意味着开发者要做更多的工作,但到目前为止,移植到 GTK 4 的过程很顺利,而且情况应该会在 GNOME 42 中变得更好。
|
||||||
|
|
||||||
|
当许多应用程序正在为 GNOME 42 做准备时,你会发现像 [Fragments 2.0][9] 这样的软件已经准备好为你提供漂亮的用户体验。
|
||||||
|
|
||||||
|
在这一点上,几乎所有的 GNOME 应用程序似乎都在 UI 方面取得了进步。
|
||||||
|
|
||||||
|
总的来说,按钮、图标、圆角和细微的视觉变化都反映了这些改进。
|
||||||
|
|
||||||
|
#### 4、改造后的系统设置
|
||||||
|
|
||||||
|
从功能上看,系统设置没有变化,但视觉上的差异是明显的。
|
||||||
|
|
||||||
|
![][10]
|
||||||
|
|
||||||
|
你应该发现用户界面更干净、更现代、更有美感。从技术上讲,由于移植到了GTK 4,维护它有技术上的好处,但你不必担心找不到选项,都是一样的。
|
||||||
|
|
||||||
|
#### 5、GNOME 文本编辑器
|
||||||
|
|
||||||
|
![][11]
|
||||||
|
|
||||||
|
Gedit 将被 GNOME 的新文本编辑器所取代,它支持新的功能和主题设计。
|
||||||
|
|
||||||
|
虽然我们已经 [在我们的早期报道中讨论了它的功能][12],但它的测试版似乎已经准备好了,准备进入表演时间了。
|
||||||
|
|
||||||
|
#### 6、对截屏用户界面和本地录屏的改进
|
||||||
|
|
||||||
|
[GNOME 截屏][13] 应用程序目前提供了一个简单的 GUI,帮助你对整个屏幕、一个区域或一个窗口进行截屏。
|
||||||
|
|
||||||
|
在 GNOME 42 中,它的用户界面得到了一些重大的改变,包括录制屏幕的能力。
|
||||||
|
|
||||||
|
![][14]
|
||||||
|
|
||||||
|
不仅仅是新功能,通过其新的用户界面,你可以轻松地在截屏或录屏之间切换。
|
||||||
|
|
||||||
|
它看起来很棒,你觉得呢?
|
||||||
|
|
||||||
|
#### 7、夜间/白天的墙纸
|
||||||
|
|
||||||
|
![][15]
|
||||||
|
|
||||||
|
默认壁纸是蓝色背景,如上面的截图所示。然而,你会注意到一个紫色的变体壁纸,它按时间(白天结束时)启动。
|
||||||
|
|
||||||
|
下面是壁纸的夜间变体的样子:
|
||||||
|
|
||||||
|
![][16]
|
||||||
|
|
||||||
|
#### 其他改进
|
||||||
|
|
||||||
|
除了上述改进,GNOME 42 还包括性能调整和错误修复。
|
||||||
|
|
||||||
|
从 GNOME Shell 到核心应用程序,所有的东西都得到了微小的修复。
|
||||||
|
|
||||||
|
不要忘了,许多第三方项目已经为 GNOME 42 进行了改进,你应该会很高兴看到他们的成果。
|
||||||
|
|
||||||
|
### 下载 GNOME 42
|
||||||
|
|
||||||
|
你可以使用 Boxes 运行 [GNOME OS][17] 来测试 GNOME 42 的最新夜间构建版本。到目前为止,这是测试最新功能/变化的唯一方法。
|
||||||
|
|
||||||
|
- [GNOME 42][18]
|
||||||
|
|
||||||
|
如果你不想体验测试版,那你可能想等待 Ubuntu 22.04 LTS 或 Fedora 36 为你的桌面加入 GNOME 42。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/gnome-42-features/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/gnome-41-release/
|
||||||
|
[2]: https://itsfoss.com/ubuntu-22-04-release-features/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-dark-style.jpg?w=1400&ssl=1
|
||||||
|
[4]: https://news.itsfoss.com/elementary-os-6-features/
|
||||||
|
[5]: https://news.itsfoss.com/gnome-42-dark-style-preference/
|
||||||
|
[6]: https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/merge_requests/38
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-file-manager-light.jpg?resize=1568%2C1017&ssl=1
|
||||||
|
[8]: https://aplazas.pages.gitlab.gnome.org/blog/blog/2021/03/31/introducing-libadwaita.html
|
||||||
|
[9]: https://news.itsfoss.com/fragments-2-0-release/
|
||||||
|
[10]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-settings-gtk4.jpg?resize=1568%2C1050&ssl=1
|
||||||
|
[11]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-text-editor-alpha.jpg?w=1480&ssl=1
|
||||||
|
[12]: https://news.itsfoss.com/gnome-text-editor-to-replace-gedit/
|
||||||
|
[13]: https://itsfoss.com/using-gnome-screenshot-tool/
|
||||||
|
[14]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-screenshot.jpg?w=1340&ssl=1
|
||||||
|
[15]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-day-wallpaper.jpg?w=1500&ssl=1
|
||||||
|
[16]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-night-wallpaper.jpg?w=1500&ssl=1
|
||||||
|
[17]: https://itsfoss.com/gnome-os/
|
||||||
|
[18]: https://os.gnome.org
|
||||||
|
[19]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/gnome-42-file-manager-dark.jpg?resize=1568%2C1002&ssl=1
|
@ -0,0 +1,109 @@
|
|||||||
|
[#]: subject: "How to Upgrade to KDE Plasma 5.24 from 5.23"
|
||||||
|
[#]: via: "https://www.debugpoint.com/2022/02/upgrade-kde-plasma-5-24/"
|
||||||
|
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14264-1.html"
|
||||||
|
|
||||||
|
如何从 KDE Plasma 5.23 升级到 5.24
|
||||||
|
======
|
||||||
|
|
||||||
|
> KDE 团队宣布了 KDE Plasma 5.24 LTS 版,已经可以下载和安装了。如果你打算从以前的版本升级,在这里我们给你提供了从 5.23 升级到 5.24 的简明步骤。
|
||||||
|
|
||||||
|
![KDE Plasma 5.24 桌面][1]
|
||||||
|
|
||||||
|
KDE Plasma 5.24 是 Plasma 桌面的第 26 个版本,带来了显著的视觉改变和一些后端性能的提升。在这个版本中,你会看到全新的墙纸、Breeze 主题的视觉变化、指纹登录和一个全新的概览屏幕等等。
|
||||||
|
|
||||||
|
你可以在我们的综述文章里阅读有关 [KDE Plasma 5.24 功能的细节][2]。
|
||||||
|
|
||||||
|
如果你正在运行 KDE Plasma 的早期版本,你可以按本文说明升级到最新版本。
|
||||||
|
|
||||||
|
### 如何升级到 KDE Plasma 5.24
|
||||||
|
|
||||||
|
这个版本的升级包大小适中,在我的测试机器上大约是 450MB 以上。在开始升级过程之前,请确保关闭所有应用程序并保存你的数据。
|
||||||
|
|
||||||
|
一般来说,KDE 的升级是非常稳定的,它从来不会失败。但是,如果你想格外谨慎,并且有宝贵的数据,你可能想对这些进行备份。但同样,在我看来,我相信这是没有必要的。
|
||||||
|
|
||||||
|
#### 步骤
|
||||||
|
|
||||||
|
如果你是在 KDE Neon 之中、滚动发布的发行版(如 Arch Linux、Manjaro 之类)中运行 KDE Plasma 5.23,你可以打开 KDE 工具 “<ruby>发现<rt>Discover</rt></ruby>”,点击检查更新。
|
||||||
|
|
||||||
|
你可以通过“<ruby>发现<rt>Discover</rt></ruby>”的升级包列表验证 Plasma 5.24 是否可用。
|
||||||
|
|
||||||
|
一旦确认可用,点击“<ruby>发现<rt>Discover</rt></ruby>”窗口右上方的“<ruby>全部更新<rt>Update All</rt></ruby>”按钮。
|
||||||
|
|
||||||
|
另外,你也可以从终端运行下面的命令,在 KDE Neon 中开始升级过程。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt update
|
||||||
|
sudo pkcon update
|
||||||
|
```
|
||||||
|
|
||||||
|
升级过程完成后重启系统。
|
||||||
|
|
||||||
|
而重启后,你应该看到全新的 KDE Plasma 5.24 出现在你面前。
|
||||||
|
|
||||||
|
### 在 Fedora 35 和 Ubuntu 21.10 中升级 KDE Plasma 5.24
|
||||||
|
|
||||||
|
截至目前,[Fedora 35][3] 和 [Ubuntu 21.10][4] 是两个主要的 KDE 的发行版。由于 [更新政策][5],Fedora 35 不会得到这个版本,而 Fedora 36 也将很快发布。
|
||||||
|
|
||||||
|
然而,如果你仍然想做实验,你可以在 Ubuntu 21.10 和 Ubuntu 21.04 中使用下面的 Backports PPA 安装这个新版本的 Plasma 桌面。在这样做的时候,请确保你保留一份数据备份。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo add-apt-repository ppa:kubuntu-ppa/backports
|
||||||
|
sudo apt-get full-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
在 Fedora 35 中,我试图通过下面的 COPR 仓库来安装。但是有太多的依赖性冲突需要解决,在一个稳定的系统中尝试这样做是有风险的。我建议目前不要在 Fedora 35 中尝试下面的方法。当然你仍然可以通过 `allowerasing` 标志来安装。但不要这样做。
|
||||||
|
|
||||||
|
另外,我猜 Fedora 35 的官方版本会在第一个小版本(即 5.24.1)发布时更新,该版本将于 2022 年 2 月 15 日发布,所以你可以等到那时。
|
||||||
|
|
||||||
|
另外,等待 Fedora 36 也是比较明智的做法,因为它将这个版本作为默认版本。Fedora 36 将于 2022 年 4 月发布。
|
||||||
|
|
||||||
|
![试图在 Fedora 35 中安装 Plasma 5.24][6]
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo dnf copr enable marcdeop/plasma
|
||||||
|
sudo dnf copr enable marcdeop/kf5
|
||||||
|
sudo dnf upgrade --refresh
|
||||||
|
```
|
||||||
|
|
||||||
|
### 升级后的反馈
|
||||||
|
|
||||||
|
我在虚拟机中运行了升级过程,并安装了新的 KDE Plasma 5.23。升级过程很顺利,没有出现意外或错误。好吧,到目前为止,它对我来说从未失败过。
|
||||||
|
|
||||||
|
升级时间完全取决于你的互联网连接和 KDE 服务器。一般来说,它应该在 30 分钟内完成。
|
||||||
|
|
||||||
|
升级过程后的第一次重启很顺利,没有花费多少时间。
|
||||||
|
|
||||||
|
从性能上讲,我觉得它比之前的版本更流畅,这要归功于几个错误的修复和底层的性能优化。
|
||||||
|
|
||||||
|
所以,总的来说,如果你在使用 KDE Neon,你可以安全地升级。否则就等待 Ubuntu 和 Fedora 稳定版的软件包。
|
||||||
|
|
||||||
|
享受全新的 KDE Plasma 吧!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://www.debugpoint.com/2022/02/upgrade-kde-plasma-5-24/
|
||||||
|
|
||||||
|
作者:[Arindam][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://www.debugpoint.com/author/admin1/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://www.debugpoint.com/wp-content/uploads/2022/02/KDE-Plasma-5.4-Desktop-1024x576.jpg
|
||||||
|
[2]: https://www.debugpoint.com/2022/01/kde-plasma-5-24/
|
||||||
|
[3]: https://www.debugpoint.com/2021/09/fedora-35/
|
||||||
|
[4]: https://www.debugpoint.com/2021/07/ubuntu-21-10/
|
||||||
|
[5]: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#stable-releases
|
||||||
|
[6]: https://www.debugpoint.com/wp-content/uploads/2022/02/Trying-to-Install-Plasma-5.24-in-Fedora-35-1024x576.jpg
|
||||||
|
[7]: https://t.me/debugpoint
|
||||||
|
[8]: https://twitter.com/DebugPoint
|
||||||
|
[9]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||||
|
[10]: https://facebook.com/DebugPoint
|
@ -0,0 +1,88 @@
|
|||||||
|
[#]: subject: "My tips for maintaining dotfiles in source control"
|
||||||
|
[#]: via: "https://opensource.com/article/22/2/dotfiles-source-control"
|
||||||
|
[#]: author: "Moshe Zadka https://opensource.com/users/moshez"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14283-1.html"
|
||||||
|
|
||||||
|
我在源码控制中维护点文件的技巧
|
||||||
|
======
|
||||||
|
|
||||||
|
> 当你把环境保持在源码控制中,开发虚拟机和容器就成了一个解决方案,而不是一个问题。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
你是否曾经开始使用一台新的电脑,不管是出于自愿还是因为旧的电脑让你的魔法烟消云散,并且对花了多长时间才把所有东西都 _弄好_ 而感到沮丧?更糟糕的是,有没有花了一些时间重新配置你的 shell 提示符,然后意识到你更喜欢以前的样子?
|
||||||
|
|
||||||
|
对我来说,当我决定要在 [容器][2] 中进行开发时,这个问题就变得很严重了。容器是非持久的。开发工具很容易解决:一个带有工具的容器镜像就可以工作。源码很容易解决:源码控制维护它,开发是在分支上。但是,如果每次我创建一个容器,我都需要仔细地配置它,这就太痛苦了。
|
||||||
|
|
||||||
|
### 主目录的版本控制
|
||||||
|
|
||||||
|
将配置文件保存在版本控制中一直是一个有吸引力的选择。但是天真地这么做是令人担忧的。不可能直接对 `~` 进行版本控制。
|
||||||
|
|
||||||
|
首先,太多的程序认为把秘密放在那里是安全的。此外,它也是 `~/Downloads` 和 `~/Pictures` 等文件夹的位置,这些文件夹可能不应该被版本化。
|
||||||
|
|
||||||
|
小心翼翼地在主目录下保留一个 `.gitignore` 文件来管理 `include` 和 `exclude` 列表是有风险的。在某些时候,其中一个路径会出错,花费了几个小时的配置会丢失,大文件会出现在 Git 历史记录中,或者最糟糕的是,秘密和密码会被泄露。当这一策略失败时,它就成了灾难性的失败。
|
||||||
|
|
||||||
|
手动维护大量的符号链接也是行不通的。版本控制的全部原因是为了避免手动维护配置。
|
||||||
|
|
||||||
|
### 写一个安装脚本
|
||||||
|
|
||||||
|
这暗示了在源码控制中维护点文件的第一条线索:写一个安装脚本。
|
||||||
|
|
||||||
|
就像所有好的安装脚本一样,让它 _幂等_:运行两次不会两次增加配置。
|
||||||
|
|
||||||
|
像所有好的安装脚本一样,让它 _只做最少的事情_:使用其他的技巧来指向你的源码控制中的配置文件。
|
||||||
|
|
||||||
|
### ~/.config 目录
|
||||||
|
|
||||||
|
现代 Linux 程序在直接在主目录中寻找配置之前,会先在 `~/.config` 中寻找。最重要的例子是 `git`,它在 `~/.config/git` 中寻找。
|
||||||
|
|
||||||
|
这意味着安装脚本可以将 `~/.config` 符号链接到主目录中源码控制的管理目录中的一个目录:
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
DOTFILES="$(dirname $(realpath $0))"
|
||||||
|
[ -L ~/.config ] || ln -s $DOTFILES/config ~/.config
|
||||||
|
```
|
||||||
|
|
||||||
|
此脚本寻找它的位置,然后将 `~/.config` 链接到它被签出的地方。这意味着几乎没有关于它需要位于主目录中的位置的假设。
|
||||||
|
|
||||||
|
### 获取文件
|
||||||
|
|
||||||
|
大多数 shells 仍然直接在主目录下寻找文件。为了解决这个问题,你要增加一层指示。从 `$DOTFILES` 中获取文件意味着在修改 shell 配置时不需要重新运行安装程序。
|
||||||
|
|
||||||
|
```
|
||||||
|
$!/bin/bash
|
||||||
|
set -e
|
||||||
|
DOTFILES="$(dirname $(realpath $0))"
|
||||||
|
grep -q 'SETTING UP BASH' ~/.bashrc || \
|
||||||
|
echo "source $DOTFILES/starship.bash # SETTING UP BASH" >> ~/.bashrc
|
||||||
|
```
|
||||||
|
|
||||||
|
再次注意,这个脚本很仔细地做了幂等:如果这一行已经在那里了,它就不会再添加。它还考虑到了你在 `.bashrc` 上已经做的任何编辑,虽然这不是一个好主意,但也没有必要惩罚它。
|
||||||
|
|
||||||
|
### 反复测试
|
||||||
|
|
||||||
|
当你把环境保持在源码控制中时,开发虚拟机和容器就成了一个解决方案,而不是一个问题。试着做一个实验。建立一个新的开发环境,克隆你的点文件,安装,并看看有什么问题。
|
||||||
|
|
||||||
|
不要只做一次。至少每周做一次。这将使你更快地完成工作,同时也会告诉你什么是不可行的。暴露问题,修复它们,然后重复。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/2/dotfiles-source-control
|
||||||
|
|
||||||
|
作者:[Moshe Zadka][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/moshez
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coffee_tea_laptop_computer_work_desk.png?itok=D5yMx_Dr (Person drinking a hot drink at the computer)
|
||||||
|
[2]: https://opensource.com/tags/containers
|
@ -0,0 +1,118 @@
|
|||||||
|
[#]: subject: "Nobara Project Aims to Offer an Unofficial Fedora Linux 35 Spin Tailored for Gaming"
|
||||||
|
[#]: via: "https://news.itsfoss.com/fedora-nobara-gaming/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14282-1.html"
|
||||||
|
|
||||||
|
Nobara:一个为游戏量身定做的非官方 Fedora Linux 35 衍生版
|
||||||
|
======
|
||||||
|
|
||||||
|
> Nobara 项目添加了必要的软件包/工具,并修复了一些问题,使 Fedora Linux 适合游戏,并计划在未来进行进一步的完善!
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Fedora 35 是一个令人印象深刻的 Linux 发行版,在这个版本中首次推出了 GNOME 41 并引入了一个新的 KDE 变体。
|
||||||
|
|
||||||
|
你可以阅读我们的 [原始报道][1],了解更多关于它的信息。
|
||||||
|
|
||||||
|
虽然 Fedora Linux 一直在不断改进桌面体验,但它可能不是每个用户的理想桌面发行版。此外,即使它包括开箱即用的开源工具和实用程序,它也不是为了提供毫不费力的游戏体验。
|
||||||
|
|
||||||
|
你需要安装一些依赖性的东西,并配置好发行版,才能轻松地玩一个游戏。
|
||||||
|
|
||||||
|
由红帽工程师 Thomas Crider(又名 Glorious Eggroll)发起 的 Nobara 项目旨在改变这种状况,并提供一个为游戏而生的非官方 Fedora 35 工作站衍生版。
|
||||||
|
|
||||||
|
### Nobara 工作站 35 有什么新东西?
|
||||||
|
|
||||||
|
Fedora 35 支持几个 Linux 游戏。然而,如果你需要使用 Proton 或 Wine 来玩 Windows 专属的游戏,你得配置一些东西,并可能需要排除一些游戏中的故障。
|
||||||
|
|
||||||
|
所以,Nobara 项目旨在提供一个非官方的衍生版,为其添加用户友好的修复,使其成为 Linux 玩家的理想选择。
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
#### 对于 Fedora 35 的小白用户
|
||||||
|
|
||||||
|
如果你已经使用了一段时间的 Linux,并且能够自如地使用 Linux终端,你应该知道 [在 Linux 上设置 Wine][3]、Proton 和安装任何额外的编解码器是相当容易的。
|
||||||
|
|
||||||
|
然而,对于依赖预装包和软件中心提供的应用程序的小白用户来说,他们需要做出一些努力来了解它。
|
||||||
|
|
||||||
|
#### Lutris、Steam、OBS Studio 和 Kdenlive 预装版
|
||||||
|
|
||||||
|
Lutris 可以帮助你在 Linux 上管理和进行游戏。不要忘了,它已经 [帮助 Linux 成长为一个适合游戏的平台][4],提供了一个易于使用的 GUI,让用户可以玩只支持 Windows 的游戏。
|
||||||
|
|
||||||
|
使用 Nobara 工作站 35,已经预装了 Lutris。这个项目背后的开发者也正好在维护 Lutris。因此,可以在 Nobara 工作站 35 上看到 Lutris 的最新版本。
|
||||||
|
|
||||||
|
不仅仅是 Lutris,你还会得到 Steam、OBS Studio 和 Kdenlive 的支持。
|
||||||
|
|
||||||
|
当然,顺便说一句,你也会得到标准的 Fedora 工作站软件包。
|
||||||
|
|
||||||
|
#### 对游戏的修复
|
||||||
|
|
||||||
|
在 Fedora 35 上玩几个游戏时有一些已知的问题。该项目提到,游戏开发者希望 Fedora 解决这些问题,显然,Fedora 将问题抛给了游戏开发者。而这些问题仍然没有解决。
|
||||||
|
|
||||||
|
因此,在 Nobara 工作站 35 中,其中一些问题已经得到解决。问题如:
|
||||||
|
|
||||||
|
* 由于 libusb 和 xow(Xbox One 无线加密狗的驱动)的问题导致 CPU 负载过高
|
||||||
|
* 为 Dying Light 添加必要的符号链接
|
||||||
|
|
||||||
|
#### X11 作为默认的显示服务器
|
||||||
|
|
||||||
|
Wayland 可能提供了比 X11 会话更多的技术改进。然而,X11 与游戏的兼容性更好。
|
||||||
|
|
||||||
|
此外,它也是 AMD 的 FSR 技术、以及 [Steam Play/Proton][5] 和 Wine 的一些其他东西的可以工作的必要条件。
|
||||||
|
|
||||||
|
#### 其他变化
|
||||||
|
|
||||||
|
考虑到 Nobara 工作站 35 相对较新,令人惊讶的是,你可以发现一些明显的不同。
|
||||||
|
|
||||||
|
一些值得一提的关键亮点包括:
|
||||||
|
|
||||||
|
* Nobara 工作站 35 禁用了 Fedora 官方软件库中的一些软件包,而倾向于使用自己的。例如,与 Fedora 的官方软件库相比,你应该在 Nobara 的软件库中找到一个更新一些的 Lutris 版本。
|
||||||
|
* Nobara 工作站 35 使用了一个定制的内核。
|
||||||
|
* [RPM Fusion 仓库][6] 是默认启用的。
|
||||||
|
* 用于 Wine 64/32 位游戏兼容性的额外软件包。
|
||||||
|
|
||||||
|
开发者计划很快通过添加以下内容来进一步改进它。
|
||||||
|
|
||||||
|
* 添加自定义的 OBS Studio 及浏览器集成插件,和 vulkan+opengl 捕捉支持。
|
||||||
|
* Nobara 特定的主题设计。
|
||||||
|
* 包括 [Proton-GE][7] 和 Lutris Win-GE 的构建。
|
||||||
|
|
||||||
|
你可以在其 [官方网站][8] 上了解其他技术变化。
|
||||||
|
|
||||||
|
### 结束语
|
||||||
|
|
||||||
|
如果 Nobara 项目使 Fedora Linux 适用于游戏,我们应该多了一个 [以游戏为重点的 Linux 发行版][9]。
|
||||||
|
|
||||||
|
对于适应 Fedora Linux 的 Linux 玩家来说,这将是一个不错的选择。
|
||||||
|
|
||||||
|
- [下载 Nobara 工作站 35][8]
|
||||||
|
|
||||||
|
你可以从其官方网站下载合适的 ISO(GNOME 和 KDE 版本)来尝试。请注意,这是一个相当新的衍生版,所以在它取代作为你的日常用机之前,你可能要三思而行。
|
||||||
|
|
||||||
|
你对 Noboara 项目有什么看法?我们是否需要一个针对游戏的 Fedora Linux 版本?请在评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/fedora-nobara-gaming/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/fedora-35-release/
|
||||||
|
[2]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/fedora-nobara-scaled.jpg?resize=1568%2C773&ssl=1
|
||||||
|
[3]: https://itsfoss.com/use-windows-applications-linux/
|
||||||
|
[4]: https://news.itsfoss.com/lutris-creator-interview/
|
||||||
|
[5]: https://itsfoss.com/steam-play/
|
||||||
|
[6]: https://itsfoss.com/fedora-third-party-repos/
|
||||||
|
[7]: https://github.com/GloriousEggroll/proton-ge-custom
|
||||||
|
[8]: https://nobaraproject.org/
|
||||||
|
[9]: https://itsfoss.com/linux-gaming-distributions/
|
@ -0,0 +1,104 @@
|
|||||||
|
[#]: subject: "6 Linux metacharacters I love to use on the command line"
|
||||||
|
[#]: via: "https://opensource.com/article/22/2/metacharacters-linux"
|
||||||
|
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14270-1.html"
|
||||||
|
|
||||||
|
我喜欢在 Linux 命令行中使用的 6 个元字符
|
||||||
|
======
|
||||||
|
|
||||||
|
> 在 Linux 命令行上使用元字符是提高生产力的一个好方法。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
在我的 Linux 之旅的早期,我学会了如何使用命令行。这就是 Linux 的与众不同之处。我可以失去图形用户界面(GUI),但没有必要完全重建机器。许多 Linux 电脑是<ruby>无头<rt>headless</rt></ruby>运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 `ls`、`ls-l`、`ls-l`、`cd`、`pwd`、`top` 等等。
|
||||||
|
|
||||||
|
### Linux 上的 Shell 元字符
|
||||||
|
|
||||||
|
你可以通过使用元字符来扩展这些命令。我不知道你怎么称呼它们,但这些元字符使我的生活变得更轻松。
|
||||||
|
|
||||||
|
### 管道符 |
|
||||||
|
|
||||||
|
假设我想知道我的系统上运行的 Firefox 的所有实例。我可以使用带有 `-ef` 参数的 `ps` 命令来列出我系统上运行的所有程序实例。现在我想只看那些涉及 Firefox 的实例。我使用了我最喜欢的元字符之一,管道符 `|`,将其结果送到 `grep`,用它来搜索模式:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ps -ef | grep firefox
|
||||||
|
```
|
||||||
|
|
||||||
|
### 输出重定向 >
|
||||||
|
|
||||||
|
另一个我最喜欢的元字符是输出重定向 `>`。我用它来打印 `dmesg` 命令结果中所有 AMD 相关的结果。你可能会发现这在硬件故障排除中很有帮助:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ dmesg | grep amd > amd.txt
|
||||||
|
$ cat amd.txt
|
||||||
|
[ 0.897] amd_uncore: 4 amd_df counters detected
|
||||||
|
[ 0.897] amd_uncore: 6 amd_l3 counters detected
|
||||||
|
[ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
|
||||||
|
```
|
||||||
|
|
||||||
|
### 星号 *
|
||||||
|
|
||||||
|
星号 `*`(通配符)是寻找具有相同扩展名的文件时我的最爱,如 `.jpg` 或 `.png`。我首先进入我的系统中的 `Picture` 目录,并使用类似以下的命令:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls *.png
|
||||||
|
BlountScreenPicture.png
|
||||||
|
DisplaySettings.png
|
||||||
|
EbookStats.png
|
||||||
|
StrategicPlanMenu.png
|
||||||
|
Screenshot from 01-24 19-35-05.png
|
||||||
|
```
|
||||||
|
|
||||||
|
### 波浪号 ~
|
||||||
|
|
||||||
|
波浪号 `~` 是在 Linux 系统上通过输入以下命令快速返回你的家目录的一种方法:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd ~
|
||||||
|
$ pwd
|
||||||
|
/home/don
|
||||||
|
```
|
||||||
|
|
||||||
|
### 美元符号 $
|
||||||
|
|
||||||
|
`$` 符号作为一个元字符有不同的含义。当用于匹配模式时,它意味着任何以给定字符串结尾的字符串。例如,当同时使用元字符 `|` 和 `$` 时:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls | grep png$
|
||||||
|
BlountScreenPicture.png
|
||||||
|
DisplaySettings.png
|
||||||
|
EbookStats.png
|
||||||
|
StrategicPlanMenu.png
|
||||||
|
Screenshot from 01-24 19-35-05.png
|
||||||
|
```
|
||||||
|
|
||||||
|
### 上尖号 ^
|
||||||
|
|
||||||
|
符号 `^` 将结果限制在以给定字符串开始的项目上。例如,当同时使用元字符 `|` 和 `^` 时:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls | grep ^Screen
|
||||||
|
Screenshot from 01-24 19-35-05.png
|
||||||
|
```
|
||||||
|
|
||||||
|
这些元字符中有许多是通往 [正则表达式][2] 的大门,所以还有很多东西可以探索。你最喜欢的 Linux 元字符是什么,它们是如何节省你的工作的?
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://opensource.com/article/22/2/metacharacters-linux
|
||||||
|
|
||||||
|
作者:[Don Watkins][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://opensource.com/users/don-watkins
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/terminal_command_linux_desktop_code.jpg?itok=p5sQ6ODE (Terminal command prompt on orange background)
|
||||||
|
[2]: https://opensource.com/article/18/5/getting-started-regular-expressions
|
@ -0,0 +1,119 @@
|
|||||||
|
[#]: subject: "KDE Plasma 5.24 LTS Releases with Updated Breeze Theme and New Overview Effect"
|
||||||
|
[#]: via: "https://news.itsfoss.com/kde-plasma-5-24-lts-release/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14259-1.html"
|
||||||
|
|
||||||
|
KDE Plasma 5.24 LTS 发布
|
||||||
|
======
|
||||||
|
|
||||||
|
> KDE Plasma 5.24 带来了更新的 Breeze 主题、新的概览效果、新的墙纸,以及进一步的改进。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
我们已经关注 KDE Plasma 5.24 有一段时间了。
|
||||||
|
|
||||||
|
从发现 [GNOME 风格的概览效果][1] 到增加 [指纹支持][2]。如果你一直在关注我们的报道,你已经知道了 KDE Plasma 5.24 所带来的变化。
|
||||||
|
|
||||||
|
现在,KDE Plasma 5.24 稳定版终于来了,让我重点介绍一下主要新增内容和改进。
|
||||||
|
|
||||||
|
### KDE Plasma 5.24 的新变化
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
KDE Plasma 5.24 是一个长期支持版本,它会不断得到更新,直到 Plasma 5 发布最终版本(并过渡到 Plasma 6)。
|
||||||
|
|
||||||
|
在这个版本中,你不会看到大幅度的视觉变化,但你可以找到各种功能改进和细微的视觉完善。
|
||||||
|
|
||||||
|
#### 对 Breeze 主题的更新
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
Breeze 主题得到了一些视觉上的调整,以提高与应用程序的 Breeze 风格的视觉一致性。
|
||||||
|
|
||||||
|
除此之外,默认的 Breeze 配色方案被重新命名为 “Breeze Classic”,以将其与 “Breeze Light” 和 “Breeze Dark” 颜色主题分开。
|
||||||
|
|
||||||
|
选择重点颜色的能力最初是在 [KDE Plasma 5.23][5] 中引入的,但现在你也可以为其选择一个自定义的颜色。
|
||||||
|
|
||||||
|
#### 对通知的改进
|
||||||
|
|
||||||
|
![来自:PointiestStick 博客][6]
|
||||||
|
|
||||||
|
为了从视觉上区分重要的通知,你会注意到它的边上有一个橙色的条纹,以帮助它们从不太紧急的消息中脱颖而出。
|
||||||
|
|
||||||
|
此外,为了提高用户体验,如果通知是关于视频/图片的,通知会显示一个内容的缩略图,以给你一个视觉提示。
|
||||||
|
|
||||||
|
#### 概览效果
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
在 KDE Plasma 5.24 中,你终于可以看到新的“<ruby>概览<rt>Overview</rt></ruby>”效果了。请注意,这个功能还在测试阶段。
|
||||||
|
|
||||||
|
它可以让你轻松地浏览多个桌面,而默认是禁用的。你必须前往“<ruby>系统设置<rt>System settings</rt></ruby>→<ruby>工作区行为<rt>Workspace Behavior</rt></ruby>→<ruby>桌面效果<rt>Desktop Effects</rt></ruby>”,在“<ruby>窗口管理<rt>Window Management</rt></ruby>”选项下启用它并测试它。
|
||||||
|
|
||||||
|
![][8]
|
||||||
|
|
||||||
|
你可以按住 `Windows`/`Super` 键,然后按 `W` 键,查看所有活动窗口和虚拟桌面的概况。
|
||||||
|
|
||||||
|
#### 对“发现”的改进
|
||||||
|
|
||||||
|
![来自:PointiestStick 博客][9]
|
||||||
|
|
||||||
|
KDE 的软件中心,即“<ruby>发现<rt>Discover</rt></ruby>”也得到了一些升级,包括防止用户删除重要软件包的能力。它还允许你在更新后自动重新启动。因此,你不必等待更新完成,然后再重新启动你的系统。
|
||||||
|
|
||||||
|
![][10]
|
||||||
|
|
||||||
|
除此之外,你现在可以打开本地下载的 Flatpak 软件包,并通过“发现”进行安装(软件库也应会自动添加)。
|
||||||
|
|
||||||
|
#### 锁屏/登录中的指纹识别支持
|
||||||
|
|
||||||
|
在 Plasma 5.24 中,加入了指纹认证支持。你最多可以添加 10 个指纹,用它们来解锁屏幕或验证一个应用程序内的操作。
|
||||||
|
|
||||||
|
#### 其他改进
|
||||||
|
|
||||||
|
Plasma 5.24 还有其他一些变化。你可以通过 [变更日志][11] 了解所有技术细节。
|
||||||
|
|
||||||
|
一些亮点包括:
|
||||||
|
|
||||||
|
* 对屏幕键盘的改进
|
||||||
|
* “Plasma Pass” 密码管理器采用了现代化的设计
|
||||||
|
* 在没有电池的电脑上,“电池和亮度”现在变成了只有亮度控制。
|
||||||
|
* 对 Krunner 的改进
|
||||||
|
* 当你拖放小部件时,它们现在可以平滑地以动画方式移动到最终位置,而不是立即传送到那里。
|
||||||
|
* 在“<ruby>关于这个系统<rt>About this System</rt></ruby>”的页面上有一个新的按钮,可以让你快速访问信息中心。
|
||||||
|
* 即使屏幕被关闭或拔掉电源,活动窗口也会留在各自的桌面屏幕上。
|
||||||
|
|
||||||
|
截至目前,你可以使用 [KDE Neon][12] 尝试 KDE Plasma 5.24,它专注于提供最新、最棒的 KDE 软件包。但请注意,它可能不是其他流行的 Linux 发行版的完整桌面替代品。
|
||||||
|
|
||||||
|
如果你想在你目前的发行版上使用最新的 KDE Plasma,你得等待它进入默认仓库。
|
||||||
|
|
||||||
|
你对 KDE Plasma 5.24 有什么看法?你试过了吗?让我在下面的评论中知道你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/kde-plasma-5-24-lts-release/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/kde-plasma-5-24-dev/
|
||||||
|
[2]: https://news.itsfoss.com/kde-plasma-5-24-beta/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kde-plasma-5-24-home.jpg?w=1360&ssl=1
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kde-plasma-5-24-breeze.png?w=789&ssl=1
|
||||||
|
[5]: https://news.itsfoss.com/kde-plasma-5-23-release/
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/01/notifications-kde-plasma-5-24-beta-1.png?w=433&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kde-plasma-5-24-overview.png?w=1352&ssl=1
|
||||||
|
[8]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kde-plasma-5-24-overview-option.png?w=1037&ssl=1
|
||||||
|
[9]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2021/11/cant-remove-plasma-1.png?w=1022&ssl=1
|
||||||
|
[10]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/flatpakrepos.png?w=850&ssl=1
|
||||||
|
[11]: https://kde.org/announcements/changelogs/plasma/5/5.23.5-5.24.0/
|
||||||
|
[12]: https://neon.kde.org/download
|
@ -0,0 +1,111 @@
|
|||||||
|
[#]: subject: "Vivaldi 5.1 Introduces Horizontal Scrollable Tabs and a New Reading List"
|
||||||
|
[#]: via: "https://news.itsfoss.com/vivaldi-5-1-release/"
|
||||||
|
[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "imgradeone"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14262-1.html"
|
||||||
|
|
||||||
|
Vivaldi 5.1 发布:引入可横向滚动的标签和在读清单
|
||||||
|
======
|
||||||
|
|
||||||
|
> 对于那些涉足多款浏览器的人来说,Vivaldi 5.1 版本更新极富趣味,且更加实用。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Vivaldi 对于 Linux 用户来说是个不错的选择。他们将 Linux 平台作为其官方主力维护平台之一,这一点弥足珍贵。
|
||||||
|
|
||||||
|
在 [Vivaldi 5.0 版本][1] 中,它已经成为许多 Linux 用户喜爱且极具功能性的 Chromium 内核浏览器之选。如今,Vivaldi 5.1 也终于问世!
|
||||||
|
|
||||||
|
作为一款凭借强大的多任务管理功能而著名的浏览器,这一新版本想必是干货满满。
|
||||||
|
|
||||||
|
接下来就一起深入探索吧!
|
||||||
|
|
||||||
|
### Vivaldi 5.1 的新功能
|
||||||
|
|
||||||
|
[![][2]](https://youtu.be/I2PhNDzuTSY)
|
||||||
|
|
||||||
|
还是提醒一下,Vivaldi 是一款几乎开源的浏览器,它的源代码是开放给所有用户的,但用户界面并不开源。
|
||||||
|
|
||||||
|
和之前的 5.0 版本类似,该版本带来了一些关键性的改进,包括:
|
||||||
|
|
||||||
|
* 可滚动的标签栏
|
||||||
|
* 全新的在读清单
|
||||||
|
* 新的开始页面快速设置面板
|
||||||
|
|
||||||
|
#### 可滚动的标签栏
|
||||||
|
|
||||||
|
[![][3]](https://youtu.be/UeFcUWRpX-0)
|
||||||
|
|
||||||
|
在 Vivaldi 5.1 中,你不必再沉没于狭窄而海量的标签之中。你可以直接滚动标签栏,无需缩小标签。
|
||||||
|
|
||||||
|
考虑到大多数人喜欢把标签栏放到顶部或者底部,这一新功能可以让你直接通过滚轮或者箭头键来寻找标签。
|
||||||
|
|
||||||
|
我敢相信,许多人听到这个功能能够与标签堆叠功能整合并进一步提高标签查找效率后,一定会很高兴的。是的,两级标签栏均可以使用标签滚动功能。
|
||||||
|
|
||||||
|
这一新功能使 Vivaldi 的横向标签栏与垂直标签栏有了更高的一致性,后者已经支持滚动许久。
|
||||||
|
|
||||||
|
#### 在读列表
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
当阅读新闻这件事开始成为日常事务之后,设置一个在读列表会很有用。在此之前,这一功能是靠浏览器拓展实现的,而如今它已被整合到浏览器当中,大幅增强了便利性和实用性。
|
||||||
|
|
||||||
|
这一引入看上去更像是 Vivaldi 推动为其浏览器增添新服务功能的一大延续,不仅取代了一些常见拓展,更试图与 Firefox 的 Pocket 等同类平台进行竞争。
|
||||||
|
|
||||||
|
你可以直接通过键盘快捷键和鼠标手势来访问相应页面,或添加页面到在读列表中。
|
||||||
|
|
||||||
|
#### 开始页面的快速设置
|
||||||
|
|
||||||
|
![][5]
|
||||||
|
|
||||||
|
开始页面一直都是网页浏览的关键节点,用户多年来也一直在定制它。不幸的是,用户往往要深入到设置页面去寻找自己需要的选项。
|
||||||
|
|
||||||
|
如今,得益于 Vivaldi 新增的开始页面快速设置面板,这种情况将成为过去式。现在,所有与开始页面有关的选项都在同一位置,大幅改进了用户体验。
|
||||||
|
|
||||||
|
你可以通过开始页面右上角的齿轮图标查看快速设置。
|
||||||
|
|
||||||
|
#### 其他变更
|
||||||
|
|
||||||
|
除了上述改进之外,还有许多 bug 修复,以及针对翻译、邮件、日历和订阅阅读器功能的细节改进。
|
||||||
|
|
||||||
|
你可以阅读 [版本发布公告][6] 来了解更多技术性改进。
|
||||||
|
|
||||||
|
Android 版本同样也新增了一些新功能,包括修改标签宽度和选择更多强调色。你可以在这篇 [博文][7] 中了解详情。
|
||||||
|
|
||||||
|
### 获取 Vivaldi 5.1
|
||||||
|
|
||||||
|
如果这些新功能很合你的胃口,你可以前往 Vivaldi 官方网站下载 Vivaldi 5.1。如果你正在使用 Debian、Ubuntu 或者 Fedora,那么很简单,直接从 Vivaldi 官网下载相应软件包就可以了。
|
||||||
|
|
||||||
|
Vivaldi 同样也提供针对 ARM 架构的 32 位及 64 位软件包。
|
||||||
|
|
||||||
|
- [下载 Vivaldi][8]
|
||||||
|
|
||||||
|
对于其他发行版,很不幸,你只能等待 Vivaldi 5.1 降临到发行版的相应仓库中,毕竟它可没有 Flatpak 和 Snap 版本。
|
||||||
|
|
||||||
|
总的来说,我认为 Vivaldi 5.1 是一次巨大改进,足以让我迁移主力。
|
||||||
|
|
||||||
|
你对 Vivaldi 5.1 的更新有什么看法吗?欢迎在评论区留言,让我了解你的想法!
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/vivaldi-5-1-release/
|
||||||
|
|
||||||
|
作者:[Jacob Crume][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[imgradeone](https://github.com/imgradeone)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/jacob/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://linux.cn/article-14044-1.html
|
||||||
|
[2]: https://i0.wp.com/i.ytimg.com/vi/I2PhNDzuTSY/hqdefault.jpg?w=780&ssl=1
|
||||||
|
[3]: https://i0.wp.com/i.ytimg.com/vi/UeFcUWRpX-0/hqdefault.jpg?w=780&ssl=1
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/Vivaldi-5.1-reading-list.png?resize=1568%2C882&ssl=1
|
||||||
|
[5]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/Vivaldi-5.1-quick-settings.png?w=720&ssl=1
|
||||||
|
[6]: https://vivaldi.com/blog/vivaldi-5-1-gets-scrollable-tabs-reading-list/
|
||||||
|
[7]: https://vivaldi.com/blog/vivaldi-5-1-on-android/
|
||||||
|
[8]: https://vivaldi.com/download/
|
@ -0,0 +1,131 @@
|
|||||||
|
[#]: subject: "How to Get KDE Plasma 5.24 in Kubuntu 21.10 Impish Indri"
|
||||||
|
[#]: via: "https://www.debugpoint.com/2022/02/kde-plasma-5-24-kubuntu-21-10/"
|
||||||
|
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "geekpi"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14279-1.html"
|
||||||
|
|
||||||
|
如何在 Kubuntu 21.10 中升级 KDE Plasma 5.24
|
||||||
|
======
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> KDE 开发人员启用了有名的 Backports PPA,以便你在 Kubuntu 21.10 中安装/升级到 KDE Plasma 5.24。 以下是方法。
|
||||||
|
|
||||||
|
KDE Plasma 5.24 最近的 [发布][1] 带来了令人兴奋的变化。在这个新版本中,你会得到一个全新的概览页面,它很像 GNOME 的概览。此外,还有崭新的默认 Breeze 主题、性能提升、通知外观的调整等。在我们的 [官方综述页面][2] 可以阅读更多关于这些功能的信息。
|
||||||
|
|
||||||
|
如果你很匆忙,没有时间阅读文章,这里有一组简短的命令,可以做到这些。😃
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo add-apt-repository ppa:kubuntu-ppa/backports
|
||||||
|
sudo apt update
|
||||||
|
sudo apt full-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
如果你运行 Kubuntu 21.10 Impish Indri,你不会马上得到这个更新。因为 Kubuntu 21.10 Impish Indri 目前采用 KDE Plasma 5.22.5 作为稳定版本。尽管 Kubuntu 21.10 计划在 2022 年 7 月结束生命,但你仍然可以通过 Backports PPA 安装 KDE Plasma 5.24。
|
||||||
|
|
||||||
|
然而,请注意,你将在 2022 年 4 月的 Kubuntu 22.04 LTS 中得到 KDE Plasma 5.24,这要比 Kubuntu 21.10 的寿命结束早得多。
|
||||||
|
|
||||||
|
### 如何在 Kubuntu 21.10 中安装 KDE Plasma 5.24
|
||||||
|
|
||||||
|
下面是你如何将 Kubuntu 21.10 中现有的 KDE Plasma 更新到最新版本。
|
||||||
|
|
||||||
|
#### 如何在 Kubuntu 21.10 中安装 KDE Plasma 5.24
|
||||||
|
|
||||||
|
如果你习惯使用“<ruby>发现<rt>Discover</rt></ruby>” 感到满意,请添加 Backports PPA `ppa:kubuntu-ppa/backports` 作为软件源并点击更新。一旦检索到更新的软件包信息,就可以安装。
|
||||||
|
|
||||||
|
我建议使用以下终端方法,以获得更快和无错误的安装。
|
||||||
|
|
||||||
|
打开 Konsole,运行以下命令来添加 backports PPA。如果你喜欢,你可以验证你运行的 Plasma 是什么版本。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo add-apt-repository ppa:kubuntu-ppa/backports
|
||||||
|
```
|
||||||
|
|
||||||
|
![Add the PPA][7]
|
||||||
|
|
||||||
|
现在,刷新软件包列表并验证最新的 5.24 软件包是否可供升级。
|
||||||
|
|
||||||
|
![Check the latest KDE Plasma 5.24 packages before upgrading][8]
|
||||||
|
|
||||||
|
现在运行最后的命令来启动升级。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt full-upgrade
|
||||||
|
```
|
||||||
|
|
||||||
|
上面的命令会下载大约 270MB 以上的软件包。升级过程大约需要 10 分钟。命令完成后,重启你的系统。
|
||||||
|
|
||||||
|
而你应该通过 Kubuntu 21.10 Impish Indri 获得了全新的 KDE Plasma 5.24。
|
||||||
|
|
||||||
|
![KDE Plasma 5.24 in Kubuntu 21.10][9]
|
||||||
|
|
||||||
|
#### 如何在 Ubuntu 21.10 中与 GNOME 一起安装 KDE Plasma 5.24
|
||||||
|
|
||||||
|
如果你正在运行带有默认 GNOME 的 Ubuntu 21.10 Impish Indri,你也可以体验全新的 KDE Plasma 桌面,只需对上述命令稍作修改即可。
|
||||||
|
|
||||||
|
打开一个终端,依次运行下面的命令。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo add-apt-repository ppa:kubuntu-ppa/backpots
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install kubuntu-desktop
|
||||||
|
```
|
||||||
|
|
||||||
|
上述命令完成后,重启系统。在登录页面上,选择 KDE Plasma 作为桌面环境。然后你就可以开始了。
|
||||||
|
|
||||||
|
这将与 GNOME 桌面一起安装 KDE Plasma 5.24。
|
||||||
|
|
||||||
|
#### 我可以在 Ubuntu 20.04 LTS 中安装 KDE Plasma 5.24 吗?
|
||||||
|
|
||||||
|
Ubuntu 20.04 LTS 版有早期的 KDE Plasma 5.18、KDE Framework 5.68、KDE Applications 19.12.3。所以,在它的整个生命周期中,它不会收到最新的 KDE 更新。所以,从技术上讲,你可以添加上述 PPA 并安装 KDE Plasma 5.24。但我不建议这样做,因为不兼容的软件包框架可能会导致系统不稳定。
|
||||||
|
|
||||||
|
所以,建议你使用 Kubuntu 21.10 和上述的 Backports PPA 或者使用 KDE Neon 来体验最新的 Plasma 桌面。
|
||||||
|
|
||||||
|
### 如何卸载
|
||||||
|
|
||||||
|
在任何时候,如果你想回到 KDE Plasma 桌面的原始版本,那么你可以安装 `ppa-purge` 并删除 PPA,接着刷新软件包。
|
||||||
|
|
||||||
|
打开一个终端,依次执行以下命令。
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install ppa-purge
|
||||||
|
sudo ppa-purge ppa:kubuntu-ppa/backports
|
||||||
|
sudo apt update
|
||||||
|
```
|
||||||
|
|
||||||
|
当命令完成,重启你的系统。
|
||||||
|
|
||||||
|
### 结束语
|
||||||
|
|
||||||
|
我希望这个快速指南能让你从不同的使用情况下全面升级到 KDE Plasma 5.24。希望你能在没有任何错误的情况下完成升级。
|
||||||
|
|
||||||
|
请在下面的评论栏里告诉我进展如何。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://www.debugpoint.com/2022/02/kde-plasma-5-24-kubuntu-21-10/
|
||||||
|
|
||||||
|
作者:[Arindam][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://www.debugpoint.com/author/admin1/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://kde.org/announcements/plasma/5/5.24.0/
|
||||||
|
[3]: tmp.iA5hKjVLOx#how-to-install-kde-plasma-5-24-in-kubuntu-21-10-1
|
||||||
|
[4]: tmp.iA5hKjVLOx#how-to-install-kde-plasma-5-24-in-ubuntu-21-10-alongside-gnome
|
||||||
|
[5]: tmp.iA5hKjVLOx#can-i-install-kde-plasma-5-24-in-ubuntu-20-04-lts
|
||||||
|
[6]: tmp.iA5hKjVLOx#how-to-uninstall
|
||||||
|
[7]: https://www.debugpoint.com/wp-content/uploads/2022/02/Add-the-PPA.jpg
|
||||||
|
[8]: https://www.debugpoint.com/wp-content/uploads/2022/02/Check-the-latest-KDE-Plasma-5.24-packages-before-upgrade.jpg
|
||||||
|
[9]: https://www.debugpoint.com/wp-content/uploads/2022/02/KDE-Plasma-5.24-in-Kubuntu-21.10-1024x579.jpg
|
||||||
|
[10]: https://t.me/debugpoint
|
||||||
|
[11]: https://twitter.com/DebugPoint
|
||||||
|
[12]: https://www.youtube.com/c/debugpoint?sub_confirmation=1
|
||||||
|
[13]: https://facebook.com/DebugPoint
|
@ -0,0 +1,76 @@
|
|||||||
|
[#]: subject: "KDE’s Latest Move Will Help Raspberry Pi and PinePhone Pro Users Immensely"
|
||||||
|
[#]: via: "https://news.itsfoss.com/kde-apps-arm/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14276-1.html"
|
||||||
|
|
||||||
|
KDE 的新进展将为树莓派和 PinePhone Pro 用户提供极大帮助
|
||||||
|
======
|
||||||
|
|
||||||
|
> KDE 分享了它在应用开发方面的计划和迄今为止的进展。不但有新的应用发布,如 Falkon 3.2,在 ARM 平台方面也有有趣的进展。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
KDE 最近像往常一样分享了它的月度更新,介绍了最新的应用发展和进展。
|
||||||
|
|
||||||
|
虽然 [Falkon 3.2 版本][1] 是一个重要的升级,但还有其他几个 KDE 应用程序的更新/bug 修复。
|
||||||
|
|
||||||
|
然而,有一件有趣的事情。
|
||||||
|
|
||||||
|
KDE 开始为 ARM 平台提供应用程序了。
|
||||||
|
|
||||||
|
但是,这究竟是什么意思呢?让我们来看看!
|
||||||
|
|
||||||
|
### KDE 应用于 ARM:一个令人兴奋的发展!
|
||||||
|
|
||||||
|
你可以在各种仓库、Flatpak 和 Snap 商店中找到 KDE 应用程序。
|
||||||
|
|
||||||
|
而 KDE 选择了 Snap 商店来发布其第一个用于 ARM64 的 Snap 软件包。
|
||||||
|
|
||||||
|
换句话说,KDE 应用程序正在以 Snap 的方式进入 ARM 平台。
|
||||||
|
|
||||||
|
当然,对于一个应用程序来说,支持各种平台和各种发行版是有意义的,所有这些都在单一的商店提供。
|
||||||
|
|
||||||
|
第一个可用于 ARM64 的 Snap 软件包是 [kblocks][2]。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
这是一个经典的掉落式积木游戏,它是一个有趣的游戏,也许对于 ARM 平台来说不算什么。
|
||||||
|
|
||||||
|
然而,如果你有树莓派或 PinePhone Pro,这意味着你可以期待有更多为 ARM 平台优化的 KDE 应用程序通过 Snap 商店提供。
|
||||||
|
|
||||||
|
### ARM 芯片的未来
|
||||||
|
|
||||||
|
考虑到 ARM 平台的早期发展,与现有的设备数量相比,我认为这是很好的进展。
|
||||||
|
|
||||||
|
就目前而言,树莓派用户和 PinePhone pro 用户可以立即从新的 KDE 应用程序中受益。
|
||||||
|
|
||||||
|
当我们开始看到更多的由 ARM 驱动的设备或笔记本电脑时,你可以期望大家都开始为 ARM 做准备。
|
||||||
|
|
||||||
|
希望在时机成熟时,Linux 平台及其应用程序将为 ARM 平台做好准备。
|
||||||
|
|
||||||
|
我们应该避免出现像苹果 M1 系列那样的情况,在没有适当的应用生态系统可用的情况下,性能会有很大的不同。
|
||||||
|
|
||||||
|
关于 KDE 应用程序以 Snap 包支持 ARM64,你怎么看?假设你有一个树莓派或 PinePhone Pro,你对它的未来有什么期待?
|
||||||
|
|
||||||
|
请在下面的评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/kde-apps-arm/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/falkon-browser-3-2-release/
|
||||||
|
[2]: https://snapcraft.io/kblocks
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kblocks.jpg?w=754&ssl=1
|
@ -0,0 +1,112 @@
|
|||||||
|
[#]: subject: "Kali Linux 2022.1 Release Introduces a New “Everything” Offline ISO"
|
||||||
|
[#]: via: "https://news.itsfoss.com/kali-linux-2022-1-release/"
|
||||||
|
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14280-1.html"
|
||||||
|
|
||||||
|
Kali Linux 2022.1 发布:引入了新的“全都有”离线 ISO
|
||||||
|
======
|
||||||
|
|
||||||
|
> Kali Linux 在 2022 年的第一次升级带来了明显的视觉更新和一个新的“全都有”离线 ISO。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2022 年的第一个 Kali Linux 版本来了。
|
||||||
|
|
||||||
|
Kali Linux 在 2021 年做了许多改进,包括 Linux 内核升级、新的黑客工具、实时虚拟机支持([Kali Linux 2021.3][1])、苹果 M1 支持等等。
|
||||||
|
|
||||||
|
让我们来看看 Kali Linux 2022.1 版本中的主要亮点。
|
||||||
|
|
||||||
|
### Kali Linux 2022.1 有什么新内容?
|
||||||
|
|
||||||
|
从这个版本开始,Kali Linux 团队决定对他们每年的 20xx.1 版本(每年的第一个版本)进行明显的视觉更新。
|
||||||
|
|
||||||
|
因此,Kali Linux 2022.1 的更新带来了视觉上的刷新和其他新的增加和改变。
|
||||||
|
|
||||||
|
#### 主题更新
|
||||||
|
|
||||||
|
![][2]
|
||||||
|
|
||||||
|
随着最新的升级,你可以看到一些新的桌面、登录和启动屏幕的壁纸。
|
||||||
|
|
||||||
|
安装程序的主题也得到了视觉上的更新,使其具有现代的外观。
|
||||||
|
|
||||||
|
总的来说,通过主题更新、新壁纸和细微的布局变化,你可以期待从 UEFI/BIOS 启动菜单到桌面的统一用户体验。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
浏览器的登录页面也有了视觉上的更新,让你可以访问 Kali 文档和工具,以及通常的搜索功能。
|
||||||
|
|
||||||
|
![][4]
|
||||||
|
|
||||||
|
#### 新的 “全都有” ISO
|
||||||
|
|
||||||
|
Kali Linux 现在将提供一个新的分发方式,提供一个独立的离线 ISO,包括了 “kali-linux-everything” 软件包的所有内容。
|
||||||
|
|
||||||
|
这个产品的目的是让你下载一个离线 ISO,而不需要在安装后单独下载软件包。
|
||||||
|
|
||||||
|
它应该对偏远地区的教育机构使用 Kali Linux 进行道德黑客学习很有帮助。
|
||||||
|
|
||||||
|
考虑到它是一个大的 ISO 文件(大小达 9.4GB),你只能通过 BitTorrent 找到这个 ISO。
|
||||||
|
|
||||||
|
#### 对 VMware 的 i3 桌面的改进
|
||||||
|
|
||||||
|
如果你在带有 i3 桌面环境的虚拟机上使用 Kali Linux,一些客户功能是默认禁用的。
|
||||||
|
|
||||||
|
现在,这些功能,如拖放、复制/粘贴已经默认启用,可以给你更好的开箱即用的 i3 虚拟机的体验。
|
||||||
|
|
||||||
|
#### 其他改进
|
||||||
|
|
||||||
|
除了关键的新增功能外,Kali Linux 2022.1 还带来了新的工具和整体改进。其中一些值得强调的包括。
|
||||||
|
|
||||||
|
* 在 Kali 设置屏幕中使用带有合成语音的无障碍性改进。
|
||||||
|
* 新的工具,如 dnsx、email2phonenumber、naabu、proxify 等等。
|
||||||
|
* 可用于 ARM64 架构的新软件包,包括 feroxbuster 和 ghidra。
|
||||||
|
* [Linux 内核 5.15][5]。
|
||||||
|
* 你现在可以使用 kali-tweaks 中的设置来启用传统的算法、密码和 SSH。
|
||||||
|
* 对 shell 提示符进行了调整,删除了骷髅头图标、退出码和后台进程数量的显示。
|
||||||
|
|
||||||
|
总的来说,这个版本对桌面和树莓派的重大改进值得期待。
|
||||||
|
|
||||||
|
你可以通过 [官方公告][6] 了解更多细节。
|
||||||
|
|
||||||
|
### 下载 Kali Linux 2022.1
|
||||||
|
|
||||||
|
你可以前往其 [官方网站][7],选择你打算下载的平台。
|
||||||
|
|
||||||
|
值得注意的是,“全都有” 的版本只能通过种子下载。所以,你得用 [Torrent 客户端][8]。
|
||||||
|
|
||||||
|
如果你已经使用 Kali Linux,你可以使用以下命令进行快速更新:
|
||||||
|
|
||||||
|
```
|
||||||
|
echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" | sudo tee /etc/apt/sources.list
|
||||||
|
sudo apt update && sudo apt -y full-upgrade
|
||||||
|
cp -rbi /etc/skel/. ~
|
||||||
|
[ -f /var/run/reboot-required ] && sudo reboot -f
|
||||||
|
```
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/kali-linux-2022-1-release/
|
||||||
|
|
||||||
|
作者:[Ankush Das][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/ankush/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://news.itsfoss.com/kali-linux-2021-3-release/
|
||||||
|
[2]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/kali-linux-desktop-wallpaper.jpg?w=1360&ssl=1
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/boot-theme-kali-linux.jpg?resize=1568%2C588&ssl=1
|
||||||
|
[4]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/firefox-home-page-kali-linux.jpg?w=1200&ssl=1
|
||||||
|
[5]: https://news.itsfoss.com/linux-kernel-5-15-release/
|
||||||
|
[6]: https://www.kali.org/blog/kali-linux-2022-1-release/
|
||||||
|
[7]: https://www.kali.org/get-kali/
|
||||||
|
[8]: https://itsfoss.com/best-torrent-ubuntu/
|
||||||
|
[9]: https://www.kali.org/
|
@ -0,0 +1,105 @@
|
|||||||
|
[#]: subject: "Bottles 2022.2.14 Release Lets You Easily Install Windows Apps on Linux"
|
||||||
|
[#]: via: "https://news.itsfoss.com/bottles-2022-2-14-release/"
|
||||||
|
[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/"
|
||||||
|
[#]: collector: "lujun9972"
|
||||||
|
[#]: translator: "wxy"
|
||||||
|
[#]: reviewer: "wxy"
|
||||||
|
[#]: publisher: "wxy"
|
||||||
|
[#]: url: "https://linux.cn/article-14285-1.html"
|
||||||
|
|
||||||
|
Bottles:在 Linux 上轻松安装 Windows 应用程序
|
||||||
|
======
|
||||||
|
|
||||||
|
> 随着最新发布的更新,Bottles 正在成为一个近乎完美的解决方案,无需任何特别的努力就可以在 Linux 上安装 Windows 应用程序。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
你可以 [使用 Wine 在 Linux 上安装 Windows 应用程序][1],但它并不适用所有的应用程序。此外,它还需要你手动配置东西。那么,有什么简单的选择呢?
|
||||||
|
|
||||||
|
虽然 [CrossOver][2] 一直在尽力使这个过程更容易,但还另一个解决方案:Bottles。
|
||||||
|
|
||||||
|
随着 Bottles 的最新发布,它的目标是更加顺滑地以最小的调整来运行你喜欢的 Windows 应用程序。
|
||||||
|
|
||||||
|
### Bottles 2022.2.14 的新变化
|
||||||
|
|
||||||
|
该版本带来了一些新功能、改进和大量的错误修复。让我强调一下以下关键变化:
|
||||||
|
|
||||||
|
#### 安装程序
|
||||||
|
|
||||||
|
以下是开发者对新功能的介绍:
|
||||||
|
|
||||||
|
> 这些是由 Bottles 解释的指令集,以重现程序的安装。这个过程是由维护者写在清单文件中的,他们能够按照同样的步骤安装程序。
|
||||||
|
|
||||||
|
![][3]
|
||||||
|
|
||||||
|
简单来说,这些一键式安装程序会自动安装软件,而不需要你手动调整什么。这类似于 [Lutris][4] 帮助游戏玩家安装一个需要大量调整的游戏。
|
||||||
|
|
||||||
|
目前只有不多的几个安装程序,主要是第三方游戏启动程序。用户如果想安装像 Origin 这样的程序,可以简单地在他们的首选“瓶子”中进入安装程序部分,点击下载按钮。(LCTT 译注:“瓶子”指一个虚拟环境。)
|
||||||
|
|
||||||
|
开发人员还承诺,你可以期待很快有更多的安装程序。
|
||||||
|
|
||||||
|
#### 一个专门的应用程序商店
|
||||||
|
|
||||||
|
为了展示可用的安装程序,他们在其官方网站上推出了一个 [应用商店][5]。它包含了所有可用安装程序的列表和必要的信息,如依赖性、配置和支持的架构。用户可以期待更多有用的功能,如评论功能很快就会到来。
|
||||||
|
|
||||||
|
![][6]
|
||||||
|
|
||||||
|
需要注意的一点是,并不是所有的安装程序都能完美无缺地工作。因此,开发者引入了一种叫做“等级”的东西,指的是安装的程序的顺利工作的程度。分级范围从铜级到白金级,与 Wine 的兼容性评级方式非常相似。
|
||||||
|
|
||||||
|
用户可以放心,每个安装程序至少都可以运行该程序并执行程序所需完成的主要功能。但除非安装程序被评为白金级,否则用户应该对错误、图形故障和崩溃的出现有所预期。此外,安装程序也会与还原点一起工作。
|
||||||
|
|
||||||
|
#### 新的搜索栏
|
||||||
|
|
||||||
|
拥有多个“瓶子”的用户现在可以使用全新的搜索功能来寻找特定的“瓶子”。请注意,它在默认情况下是隐藏的,如果你至少安装了 10 个“瓶子”,就会自动启用。
|
||||||
|
|
||||||
|
![][7]
|
||||||
|
|
||||||
|
我觉得,作为搜索栏的基本功能应该已经实现了,总比没有强!
|
||||||
|
|
||||||
|
#### “瓶子”的自定义路径
|
||||||
|
|
||||||
|
以前,用户不能为“瓶子”设置自定义路径。在这个版本中,用户可以在偏好部分中实现这一功能。如果用户的存储空间不足,并计划使用一个单独的驱动器,这非常有帮助。
|
||||||
|
|
||||||
|
请注意,Flatpak 用户得专门为 Bottles 启用权限,以访问 Flatpak 环境之外的任何位置。你也可以试试 [Flatseal 来管理 Flatpak 的权限][8]。
|
||||||
|
|
||||||
|
#### 改进和错误修复
|
||||||
|
|
||||||
|
除了主要的功能升级外,还有一些有用的全面改进,一些值得强调的有:
|
||||||
|
|
||||||
|
* 可用于非 Flapak 软件包的运行环境,可通过首选项中的核心部分安装。
|
||||||
|
* 用户现在能够使用内置的任务管理器终止正在进行的进程。
|
||||||
|
* 用户还可以从位于上下文菜单中的终端中启动程序。
|
||||||
|
* 已经有了对 Gamescope 和 dxvk-async 组件的支持。
|
||||||
|
|
||||||
|
这个版本中也修复了各种基本的错误。其中包括 Flatpak 版本中游戏模式的修复,以及 DXVK 版本的改变,删除了初始备份。
|
||||||
|
|
||||||
|
你可以参考他们的 [官方发布说明][9] 来了解更多的技术细节。
|
||||||
|
|
||||||
|
### 总结
|
||||||
|
|
||||||
|
Bottles 的目标是成为每个运行 Windows 软件的 Linux 用户的必备应用。而且,有了所有这些改进,它看起来很有前景!
|
||||||
|
|
||||||
|
安装程序的增加应该对很多用户有极大的帮助。你怎么看?请在下面的评论中告诉我你的想法。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://news.itsfoss.com/bottles-2022-2-14-release/
|
||||||
|
|
||||||
|
作者:[Rishabh Moharir][a]
|
||||||
|
选题:[lujun9972][b]
|
||||||
|
译者:[wxy](https://github.com/wxy)
|
||||||
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]: https://news.itsfoss.com/author/rishabh/
|
||||||
|
[b]: https://github.com/lujun9972
|
||||||
|
[1]: https://itsfoss.com/use-windows-applications-linux/
|
||||||
|
[2]: https://news.itsfoss.com/crossover-21-1-0-release/
|
||||||
|
[3]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/bottles-installers.png?w=955&ssl=1
|
||||||
|
[4]: https://lutris.net/
|
||||||
|
[5]: https://usebottles.com/appstore/
|
||||||
|
[6]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/bottles-app-details.png?w=1395&ssl=1
|
||||||
|
[7]: https://i0.wp.com/news.itsfoss.com/wp-content/uploads/2022/02/bottles-search.png?w=902&ssl=1
|
||||||
|
[8]: https://itsfoss.com/flatseal/
|
||||||
|
[9]: https://usebottles.com/blog/release-2022.2.14/
|
@ -69,6 +69,14 @@ rule_published_translation_revised() {
|
|||||||
&& [ "$TOTAL" -eq 1 ] && echo "匹配规则:校对已发布译文"
|
&& [ "$TOTAL" -eq 1 ] && echo "匹配规则:校对已发布译文"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 一步翻译发布
|
||||||
|
rule_onestep() {
|
||||||
|
[ "$SRC_D" -eq 1 ] && [ "$PUB_A" -eq 1 ] \
|
||||||
|
&& ensure_identical SRC D PUB A 1 \
|
||||||
|
&& check_category SRC D \
|
||||||
|
&& [ "$TOTAL" -eq 2 ] && echo "匹配规则:一步翻译发布"
|
||||||
|
}
|
||||||
|
|
||||||
# 定义常见错误
|
# 定义常见错误
|
||||||
|
|
||||||
# 未知错误
|
# 未知错误
|
||||||
@ -97,6 +105,7 @@ do_check() {
|
|||||||
|| rule_translation_revised \
|
|| rule_translation_revised \
|
||||||
|| rule_translation_published \
|
|| rule_translation_published \
|
||||||
|| rule_published_translation_revised \
|
|| rule_published_translation_revised \
|
||||||
|
|| rule_onestep \
|
||||||
|| {
|
|| {
|
||||||
error_translation_requested_multiple \
|
error_translation_requested_multiple \
|
||||||
|| error_translation_completed_multiple \
|
|| error_translation_completed_multiple \
|
||||||
|
@ -1,125 +0,0 @@
|
|||||||
[#]: subject: "I Tried System76’s New Rust-based COSMIC Desktop!"
|
|
||||||
[#]: via: "https://news.itsfoss.com/system76-rust-cosmic-desktop/"
|
|
||||||
[#]: author: "Community https://news.itsfoss.com/author/team/"
|
|
||||||
[#]: collector: "lujun9972"
|
|
||||||
[#]: translator: " "
|
|
||||||
[#]: reviewer: " "
|
|
||||||
[#]: publisher: " "
|
|
||||||
[#]: url: " "
|
|
||||||
|
|
||||||
I Tried System76’s New Rust-based COSMIC Desktop!
|
|
||||||
======
|
|
||||||
|
|
||||||
If you didn’t know already, System76 developers have been [working on a new Desktop Environment][1] (dubbed COSMIC) written in [Rust][2]: a memory-safe and superfast programming language.
|
|
||||||
|
|
||||||
Creating a desktop environment from scratch is no small feat. That involves creating everything from the compositor, panel, window manager to the APIs for your desktop environment and other back-end tasks.
|
|
||||||
|
|
||||||
It is not an easy task, and maintaining it is another story.
|
|
||||||
|
|
||||||
And, it looks like System76 has already started working on it!
|
|
||||||
|
|
||||||
On GitHub, you will notice there is already a repository called [cosmic][3], but it is mainly in JavaScript (the language used to create GNOME shell extensions). This is the cosmic shell extension repository, which is what Pop!_OS ships with now.
|
|
||||||
|
|
||||||
There are a couple of newer repositories on their GitHub profile, which happen to be the elements of their upcoming Rust-based COSMIC Desktop.
|
|
||||||
|
|
||||||
So, it is time to build, test, and get an early look!
|
|
||||||
|
|
||||||
**Note:** _To clarify, the current GNOME-based desktop environment on Pop!_OS is COSMIC. This article discusses the Rust-based COSMIC desktop environment, built from scratch_, _meant to replace the current offering._
|
|
||||||
|
|
||||||
### Rust-based COSMIC Desktop Experience
|
|
||||||
|
|
||||||
The three repositories intended to be a part of the COSMIC desktop environment as a whole are
|
|
||||||
|
|
||||||
* [Settings app][4]
|
|
||||||
* [Top panel][5] (currently for X11 systems)
|
|
||||||
* [Compositor][6] (appears to have support for native wayland, xwayland and X11 systems)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### COSMIC Settings
|
|
||||||
|
|
||||||
![][7]
|
|
||||||
|
|
||||||
**Note:** This is a half-baked early preview to get an idea. The user interface can be fundamentally different as the development continues. So, hold your thoughts!
|
|
||||||
|
|
||||||
This is the settings app for Pop!_OS’s new COSMIC Desktop. It is currently WIP and not ready for use, although if you want to run it and play around with the GUI, feel free!
|
|
||||||
|
|
||||||
So, how does it look different from the current COSMIC experience?
|
|
||||||
|
|
||||||
![Rust-based COSMIC Settings vs. GNOME-based COSMIC][8]
|
|
||||||
|
|
||||||
When writing this, the GUI does not seem to be connected to any back-end APIs. Enabling and disabling “Enable top-left hot corner for Workspaces” toggle does not make a difference, nor does any other toggles, except for the information shown by the ‘About’ section of the Settings app.
|
|
||||||
|
|
||||||
Looking closer at the screenshot, the placements are messy but expected from an early preview (or prototype).
|
|
||||||
|
|
||||||
It looks like they are approaching everything with rounded corners and a cleaner look to it.
|
|
||||||
|
|
||||||
The toggle animation feels quick, smooth and snappy (even inside a virtual machine, cannot wait to try it on bare metal). Considering it’s not even functional, let’s forget about the performance.
|
|
||||||
|
|
||||||
![][9]
|
|
||||||
|
|
||||||
Personally, not a fan of the rounded corner look they are going with. GNOME’s implementation of rounded corners seems perfect to me. But, it should be interesting to see how it turns out.
|
|
||||||
|
|
||||||
#### Top Panel
|
|
||||||
|
|
||||||
As part of the COSMIC desktop environment, the top panel is also being implemented using Rust language.
|
|
||||||
|
|
||||||
As for the appearance of this top panel, I am not exactly sure how to test it without being unfair to it. Launching it from GNOME opens it behind the top bar that GNOME has. So I thought of opening it in a separate window manager (tried only with [bspwm][10] and [i3-wm][11] so far), but that resulted in some quirky behavior like the panel taking full vertical space like a normal GUI software.
|
|
||||||
|
|
||||||
#### COSMIC Compositor
|
|
||||||
|
|
||||||
The compositor for COSMIC desktop environment compiled successfully but would not launch when used with bspwm or i3-wm. I tried launching it in window managers because GNOME does not allow changing compositors.
|
|
||||||
|
|
||||||
This is due to the mess of video drivers in a virtual machine using VirtualBox and the fact that the COSMIC compositor is not ready.
|
|
||||||
|
|
||||||
But, there’s more!
|
|
||||||
|
|
||||||
Developer **Eduardo Flores** also tried the new COSMIC Desktop, sharing some screenshots of the app launcher and the dock in his [blog post][12].
|
|
||||||
|
|
||||||
![Credits: Eduardo Flores][13]
|
|
||||||
|
|
||||||
The application launcher looks similar, but built using GTK. Similarly, you can also expect a similar-looking application library, introduced with [Pop!_OS 21.10][14], and the good-old dock.
|
|
||||||
|
|
||||||
![Credits: Eduardo Flores][15]
|
|
||||||
|
|
||||||
### Concluding Thoughts
|
|
||||||
|
|
||||||
Sure, it is too early to tell where the development is heading.
|
|
||||||
|
|
||||||
It should take a while to expect a beta release for a full-fledged Rust-based COSMIC Desktop experience.
|
|
||||||
|
|
||||||
But, from what we’ve seen here, I am excited!
|
|
||||||
|
|
||||||
_What do you think? You are welcome to share your thoughts in the comments down below!_
|
|
||||||
|
|
||||||
_Originally written by [Pratham Patel][16]._
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
via: https://news.itsfoss.com/system76-rust-cosmic-desktop/
|
|
||||||
|
|
||||||
作者:[Community][a]
|
|
||||||
选题:[lujun9972][b]
|
|
||||||
译者:[译者ID](https://github.com/译者ID)
|
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
||||||
|
|
||||||
[a]: https://news.itsfoss.com/author/team/
|
|
||||||
[b]: https://github.com/lujun9972
|
|
||||||
[1]: https://news.itsfoss.com/pop-os-cosmic-rust/
|
|
||||||
[2]: https://research.mozilla.org/rust/
|
|
||||||
[3]: https://github.com/pop-os/cosmic
|
|
||||||
[4]: https://github.com/pop-os/cosmic-settings
|
|
||||||
[5]: https://github.com/pop-os/cosmic-panel
|
|
||||||
[6]: https://github.com/pop-os/cosmic-comp
|
|
||||||
[7]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjU4MyIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
|
||||||
[8]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1MSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
|
||||||
[9]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQwNCIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
|
||||||
[10]: https://github.com/baskerville/bspwm
|
|
||||||
[11]: https://github.com/i3/i3
|
|
||||||
[12]: https://blog.edfloreshz.dev/articles/linux/system76/rust-based-desktop-environment/
|
|
||||||
[13]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzNSIgd2lkdGg9Ijc3MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
|
||||||
[14]: https://news.itsfoss.com/pop-os-21-10/
|
|
||||||
[15]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4OSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
|
||||||
[16]: https://itsfoss.com/author/pratham/
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user