mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Merge branch 'LCTT:master' into 11stTrans
This commit is contained in:
commit
e05a37d43c
@ -0,0 +1,197 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (Drwhooooo)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15798-1.html)
|
||||
[#]: subject: (Server-sent events: a simple way to stream events from a server)
|
||||
[#]: via: (https://jvns.ca/blog/2021/01/12/day-36--server-sent-events-are-cool--and-a-fun-bug/)
|
||||
[#]: author: (Julia Evans https://jvns.ca/)
|
||||
|
||||
服务器推送事件:一种从服务器流式推送事件的简易方法
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
哈喽!昨天我见识到了一种我以前从没见过的从服务器推送事件的炫酷方法:<ruby>[服务器推送事件][1]<rt>server-sent events</rt></ruby>!如果你只需要让服务器发送事件,相较于 Websockets,它们或许是一个更简便的选择。
|
||||
|
||||
我会聊一聊它们的用途、运作原理,以及我昨日在试着运行它们的过程中遇到的几个错误。
|
||||
|
||||
### 问题:从服务器流式推送更新
|
||||
|
||||
现在,我有一个启动虚拟机的 Web 服务,客户端轮询服务器,直到虚拟机启动。但我并不想使用轮询方式。
|
||||
|
||||
相反,我想让服务器流式推送更新。我跟 Kamal 说我要用 Websockets 来实现它,而他建议使用服务器推送事件不失为一个更简便的选择!
|
||||
|
||||
我登时就愣住了——那什么玩意???听起来像是些我从来没见过的稀罕玩意儿。于是乎我就查了查。
|
||||
|
||||
### 服务器推送事件就是个 HTTP 请求协议
|
||||
|
||||
下文便是服务器推送事件的运作流程。我-很-高-兴-地了解到它们就是个 HTTP 请求协议。
|
||||
|
||||
1.客户端提出一个 GET 请求(举个例子)`https://yoursite.com/events`
|
||||
2.客户端设置 `Connection: keep-alive`,这样我们就能有一个长连接
|
||||
3.服务器设置设置一个 `Content-Type: text/event-stream` 响应头
|
||||
4.服务器开始推送事件,就比如下文这样:
|
||||
|
||||
```
|
||||
event: status
|
||||
data: one
|
||||
```
|
||||
|
||||
举个例子,这里是当我借助 `curl` 发送请求时,一些服务器推送事件的样子:
|
||||
|
||||
```
|
||||
$ curl -N 'http://localhost:3000/sessions/15/stream'
|
||||
event: panda
|
||||
data: one
|
||||
|
||||
event: panda
|
||||
data: two
|
||||
|
||||
event: panda
|
||||
data: three
|
||||
|
||||
event: elephant
|
||||
data: four
|
||||
```
|
||||
|
||||
服务器可以根据时间推移缓慢推送事件,并且客户端也能够在它们到来时读取它们。你也可以将 JSON 或任何你想要的东西放在事件当中,就比如 `data: {'name': 'ahmed'}`。
|
||||
|
||||
线路协议真的很简单(只需要设置 `event:` 和 `data:`,或者如果你愿意,可设置为 `id:` 和 `retry:`),所以你并不需要任何花里胡哨的服务器库来实现服务器推送事件。
|
||||
|
||||
### JavaScript 的代码也超级简单(仅使用 EventSource)
|
||||
|
||||
以下是用于流式服务器推送事件的浏览器 JavaScript 的代码。(我从 [服务器推送事件的 MND 页面][2] 得到的这个范例)
|
||||
|
||||
你可以订阅所有事件,也可以为不同类型的事件使用不同的处理程序。这里我有一个只接受类型为 `panda` 的事件的处理程序(就像我们的服务器在上一节中推送的那样)。
|
||||
|
||||
```
|
||||
const evtSource = new EventSource("/sessions/15/stream", { withCredentials: true })
|
||||
evtSource.addEventListener("panda", function(event) {
|
||||
console.log("status", event)
|
||||
});
|
||||
```
|
||||
|
||||
### 客户端在中途不能推送更新
|
||||
|
||||
不同于 Websockets,服务器推送事件不允许大量的来回事件通讯。(这体现在它的字眼中 —— **服务器** 推送所有事件)。初始的时候客户端发出一个请求,然后服务器发出一连串响应。
|
||||
|
||||
### 如果 HTTP 连接结束,它会自动重连
|
||||
|
||||
使用 `EventSource` 发出的 HTTP 请求和常规 HTTP 请求有一个很大的区别,MDN 文档中对此有所说明:
|
||||
|
||||
> 默认情况下,如果客户端和服务器之间的连接断开,则连接会重启。请使用 `.close()` 方法来终止连接。
|
||||
|
||||
很奇怪,一开始我真的被它吓到了:我打开了一个连接,然后在服务器端将其关闭,然后两秒过后客户端向我的传送终端发送了另一条请求!
|
||||
|
||||
我觉得这里可能是因为连接在完成之前意外断开了,所以客户端自动重新打开了它以防止类似情况再发生。
|
||||
|
||||
所以如果你不想让客户端继续重试,你就得通过调用 `.close()` 直截了当地关闭连接。
|
||||
|
||||
### 这里还有些其它特性
|
||||
|
||||
你还能在服务器推送事件中设置 `id:` 和 `retry:` 字段。似乎,如果你在服务器推送事件上设置,那么当重新连接时,客户端将发送一个 `Last-Event-ID` 响应头,带有它收到的最后一个 ID。酷!
|
||||
|
||||
我发现 [W3C 的服务器推送事件页面][3] 令人惊讶地容易理解。
|
||||
|
||||
### 在设置服务器推送事件的时候我遇到了两个错误
|
||||
|
||||
我在 Rails 中使用服务器推送事件时遇到了几个问题,我认为这些问题挺有趣的。其中一个缘于 Nginx,另一个是由 Rails 引起的。
|
||||
|
||||
**问题一:我不能在事件推送的过程中暂停**
|
||||
|
||||
这个奇怪的错误是在我做以下操作时出现的:
|
||||
|
||||
```
|
||||
def handler
|
||||
# SSE is Rails' built in server-sent events thing
|
||||
sse = SSE.new(response.stream, event: "status")
|
||||
sse.write('event')
|
||||
sleep 1
|
||||
sse.write('another event')
|
||||
end
|
||||
```
|
||||
|
||||
它会写入第一个事件,但不能写入第二个事件。我对此-非-常-困-惑,然后放开脑洞,试着理解 Ruby 中的 `sleep` 是如何运作的。但是 Cass 将我引领到一个与我有着相同困惑的 [Stack Overflow 问答帖][4],而这里包含了让我为之震惊的回答!
|
||||
|
||||
事实证明,问题出在我的 Rails 服务器位于 Nginx 之后,似乎 Nginx 默认使用 HTTP/1.0 向上游服务器发起请求(为啥?都 2021 年了,还这么干?我相信这其中一定有合乎情理的解释,也许是为了向下兼容之类的)。
|
||||
|
||||
所以客户端(Nginx)会在服务器推送第一个事件之后直接关闭连接。我觉得如果在我推送第二个事件的过程中 _没有_ 暂停,它继续正常工作,基本上就是服务器在连接关闭之前和客户端在争速度,争着推送第二部分响应,如果我这边推送速度足够快,那么服务器就会赢得比赛。
|
||||
|
||||
我不确定为什么使用 HTTP/1.0 会使客户端的连接关闭(可能是因为服务器在每个事件结尾写入了两个换行符?),但因为服务器推送事件是一个比较新的玩意儿,HTTP/1.0 (这种老旧协议)不支持它一点都会不意外。
|
||||
|
||||
设置 `proxy_http_version 1.1` 从而解决那个麻烦。好欸!
|
||||
|
||||
**问题二:事件被缓冲**
|
||||
|
||||
这个事情解决完,第二个麻烦接踵而至。不过这个问题实际上非常好解决,因为 Cass 已经建议将 [stackoverflow 里另一篇帖的回答][5] 作为前一个问题的解决方案,虽然它并没有是导致问题一出现的源头,但它-确-实-解-释-了问题二。
|
||||
|
||||
问题在这个示例代码中:
|
||||
|
||||
```
|
||||
def handler
|
||||
response.headers['Content-Type'] = 'text/event-stream'
|
||||
# Turn off buffering in nginx
|
||||
response.headers['X-Accel-Buffering'] = 'no'
|
||||
sse = SSE.new(response.stream, event: "status")
|
||||
10.times do
|
||||
sse.write('event')
|
||||
sleep 1
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
我本来期望它每秒返回 1 个事件,持续 10 秒,但实际上它等了 10 秒才把 10 个事件一起返回。这不是我们想要的流式传输方式!
|
||||
|
||||
原来这是因为 Rack ETag 中间件想要计算 ETag(响应的哈希值),为此它需要整个响应为它服务。因此,我需要禁用 ETag 生成。
|
||||
|
||||
Stack Overflow 的回答建议完全禁用 Rack ETag 中间件,但我不想这样做,于是我去看了 [链接至 GitHub 上的议题][6]。
|
||||
|
||||
那个 GitHub 议题建议我可以针对仅流式传输终端应用一个解决方法,即 `Last-Modified` 响应头,显然,这么做可以绕过 ETag 中间件。
|
||||
|
||||
所以我设置为:
|
||||
|
||||
```
|
||||
headers['Last-Modified'] = Time.now.httpdate
|
||||
```
|
||||
|
||||
然后它起作用了!!!
|
||||
|
||||
我还通过设置响应头 `X-Accel-Buffering: no` 关闭了位于 Nginx 中的缓冲区。我并没有百分百确定我要那样做,但这么做似乎更安全。
|
||||
|
||||
### Stack Overflow 很棒
|
||||
|
||||
起初,我全身心致力于从头开始调试这两个错误。Cass 为我指向了那两个 Stack Overflow 帖子,一开始我对那些帖下提出的解决方案持怀疑态度(我想:“我没有使用 HTTP/1.0 啊!ETag 响应头什么玩意,跟这一切有关系吗??”)。
|
||||
|
||||
但结果证明,我确实无意中使用 _了_ HTTP/1.0,并且 Rack ETag 中间件确实给我带来了问题。
|
||||
|
||||
因此,也许这个故事告诉我,有时候计算机就是会以奇怪的方式相互作用,其它人在过去也遇到过计算机以完全相同的奇怪方式相互作用的问题,而 Stack Overflow 有时会提供关于为什么会发生这些情况的答案 : )
|
||||
|
||||
我认为重要的是不要随意从 Stack Overflow 中尝试各种解决方案(当然,在这种情况下不会有人建议这样做!)。对于这两个问题,我确实需要去仔细思考,了解发生了什么,还有为什么更改这些设置会起作用。
|
||||
|
||||
### 就是这样!
|
||||
|
||||
今天我要继续着手实现服务器推送事件,因为昨天一整天我都沉浸在上述这些错误里。好在我学到了一个以前从未听说过的易学易用的网络技术,心里还是很高兴的。
|
||||
|
||||
*(题图:MJ/4c08a193-086e-4efe-a662-00401c928c41)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://jvns.ca/blog/2021/01/12/day-36--server-sent-events-are-cool--and-a-fun-bug/
|
||||
|
||||
作者:[Julia Evans][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Drwhooooo](https://github.com/Drwhooooo)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://jvns.ca/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://html.spec.whatwg.org/multipage/server-sent-events.html
|
||||
[2]: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
|
||||
[3]: https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation
|
||||
[4]: https://stackoverflow.com/questions/25660399/sse-eventsource-closes-after-first-chunk-of-data-rails-4-puma-nginx
|
||||
[5]: https://stackoverflow.com/questions/63432012/server-sent-events-in-rails-not-delivered-asynchronously/65127528#65127528
|
||||
[6]: https://github.com/rack/rack/issues/1619
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/10/085812xdwdd0lhh0il5e5k.jpg
|
@ -0,0 +1,69 @@
|
||||
[#]: subject: (How the Apache Software Foundation selects open source projects)
|
||||
[#]: via: (https://opensource.com/article/21/6/apache-software-foundation)
|
||||
[#]: author: (Justin Mclean https://opensource.com/users/justin-mclean)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (hanszhao80)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15795-1.html)
|
||||
|
||||
Apache 软件基金会如何选择开源项目
|
||||
======
|
||||
|
||||
> Apache 软件基金会(ASF)围绕一套独特的流程和价值观构建,以确保其开放性。
|
||||
|
||||
![][0]
|
||||
|
||||
作为 <ruby>[Apache 软件基金会][2]<rt>Apache Software Foundation</rt></ruby>(ASF) 的长期志愿者和导师(以及现任董事会成员)和 Apache 孵化器的副总裁,我很自豪能够提供我对 ASF 运营的独特流程和价值观的见解。
|
||||
|
||||
ASF 以开源 [Apache 许可证][3] 为中心,采用开放而务实的方式运作,与许多其他基金会不同,是一个为公共利益而建立的慈善组织。例如,ASF 董事会由成员选举产生。没有人可以购买董事会席位,ASF 的联属关系是与个人建立的,而不是与公司建立的。一般来说,参与 ASF 的任何个人的公司隶属关系都不会被说明,这并不重要。结果是,ASF 营造了一个供应商中立的环境,公司可以在其中舒适地协作构建有价值的项目。
|
||||
|
||||
让我们看一下 ASF 如何选择其项目、开源许可证的现状以及你对 ASF 未来的展望。
|
||||
|
||||
### Apache 孵化器流程和 “Apache 之道”
|
||||
|
||||
潜在的 Apache 项目始于 <ruby>[Apache 孵化器][4]<rt>Apache Incubator</rt></ruby>,在那里它们接受帮助和指导,以期望能够毕业成为顶级的 Apache 项目。任何人都可以为孵化器制定项目提案(他们只需要找到 ASF 内部愿意帮助支持它的人)。在审查潜在的项目时,ASF 更愿意看到涉及到的人和实体的多样性,而不仅仅是一个单一的法人团体。我们发现,这种更广泛的多样性会导致项目被更广泛地使用并具有更长久的生命力。
|
||||
|
||||
孵化器的主要目的是帮助项目学习并按照我们所说的 <ruby>[Apache 之道][5]<rt>The Apache Way</rt></ruby> 运作。这是一套为社区主导的发展提供最佳实践的价值观。“Apache 之道”的最重要方面包括严格的供应商中立性优先考虑社区,甚至优先于项目代码。开放和透明的交流也是至关重要的:ASF 要求所有项目交流都是公开可访问的,并永久归档以支持异步协作。此外,开源的 Apache 许可证附加在所有被接受的项目上,确保所有源代码也是公开可用的。
|
||||
|
||||
在孵化器中,我们首先会根据项目与 Apache 价值观的一致程度来考察项目是否适合。不需要百分之百的一致,但项目需要愿意适应。还将从许可证的角度讨论确保项目与 Apache 完全兼容,在某些情况下,将根据需要删除或替换依赖项。“Apache 之道”会朝构建自我维持的社区方向做准备。尽管如此,对于一些项目来说,建立社区可能很困难,有些项目无法通过孵化器。
|
||||
|
||||
“Apache 之道”对繁荣社区至关重要的另一个关键元素,是基于共识做出决策。根据我们的经验,开放讨论和避免单个项目负责人对该流程至关重要。我们曾经有过一些孵化项目,有一个试图保持控制权的强势人物,由于这个原因,这些项目没有成功。
|
||||
|
||||
### 开源和 Apache 许可证
|
||||
|
||||
开源项目有很多种。同时,使用开源许可证不会自动使项目开源。项目的社区才是释放开源的益处,并促进更大的开放和透明度的关键。
|
||||
|
||||
一些公司高调地从 Apache 许可转向不太宽松的许可。如果你的公司从开源许可证更改为非开源许可证,我不得不质疑你们当初为什么要选择开源许可证。这可能意味着商业模式不适合开源。我认为,企业改变开源许可证,对他们的社区和用户造成了巨大的伤害。
|
||||
|
||||
正如我所说,ASF 是一个非营利性慈善组织,致力于为公共利益而开发软件。这就是宽松的 Apache 许可证的目的。从软件中赚钱很好,但这不是 Apache 许可证的目的。作为一个规则,ASF 不允许任何使用领域限制。_任何人_ 都可以以任何理由使用 Apache 项目。真正开源背后的理念是一些使用项目的人会回馈它,但绝对不能强制要求贡献。那些似乎困扰于这一点的公司需要明白,这不是开源的运作方式,也不是它应该的运作方式。
|
||||
|
||||
### 开源和 ASF 的未来
|
||||
|
||||
在过去的五到十年里,开源无疑得到了广泛的采用,尤其是在企业中加速采用。我可以肯定地说,地球上几乎没有哪个软件不包含或不依赖某种方式的开源项目。这种采用率只会增长。
|
||||
|
||||
与某些基金会不同,ASF 在项目招募方面相当放手。期待 ASF 能一如既往地坚持下去,并与那些看到 ASF 方式的价值的项目一同,阐明 “Apache 之道”的价值。随着 ASF 项目在重大行业变革中处于领先地位(最初是 Web 服务器,最近是通过 Apache Hadoop 和 Spark、Cassandra 和 Kafka 等大数据项目),这种放手的做法已被证明是成功和可持续的。
|
||||
|
||||
下一步,ASF 有几个大型的人工智能和机器学习项目。此外,一些物联网项目也通过了 Apache 孵化器,其中几个可能会变得相当有影响力。展望未来,期待 ASF 将一如既往,推出一些主要行业参与者使用的非常成功的开源项目,以及其他小型项目,提供至关重要的(如果有更多的利基市场的话)吸引力。
|
||||
|
||||
*(选题:MJ/05f6689e-49df-47db-ba00-924d4fc612fd)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/6/apache-software-foundation
|
||||
|
||||
作者:[Justin Mclean][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/justin-mclean
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/nature_open_sky_tree.png?itok=2J79Futp (Wide open sky and trees)
|
||||
[2]: https://www.apache.org/
|
||||
[3]: https://www.apache.org/licenses/LICENSE-2.0
|
||||
[4]: https://incubator.apache.org/
|
||||
[5]: https://apache.org/theapacheway/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/09/104050dz5x7dyxszxp7ajy.png
|
119
published/20211202 Edit video on Linux with Kdenlive.md
Normal file
119
published/20211202 Edit video on Linux with Kdenlive.md
Normal file
@ -0,0 +1,119 @@
|
||||
[#]: subject: "Edit video on Linux with Kdenlive"
|
||||
[#]: via: "https://opensource.com/article/21/12/kdenlive-linux-creative-app"
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "yjacks"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15801-1.html"
|
||||
|
||||
在 Linux 上用 Kdenlive 编辑视频
|
||||
======
|
||||
|
||||
> 尝试用这个 KDE 程序做专业的视频编辑。
|
||||
|
||||
![][0]
|
||||
|
||||
无论是雪日、季节性假期,或是任何假期,都是在你电脑前专心发挥创造力的好时候。我最喜欢的一种消遣就是剪视频。有时,我为了讲个故事来剪;其他时候,我则是为了表达我的心情、观点、为我发现或创作的音乐提供视觉效果。也许这是因为我在学校为从事这一领域的职业学习了剪视频,或就只是因为我喜欢强大的开源工具。至今,我最喜欢的视频剪辑程序是优秀的 Kdenlive,这是一个强大而专业的剪辑工具,提供了直观的工作流、大量的特效和转场。
|
||||
|
||||
### 在 Linux 上安装 Kdenlive
|
||||
|
||||
Kdenlive 可以通过大部分的 Linux 发行版的包管理器安装。在 Fedora、Mageia 或类似的发行版:
|
||||
|
||||
```
|
||||
$ sudo dnf install kdenlive
|
||||
```
|
||||
|
||||
在 Elementary、Mine 或其他基于 Debian 的发行版:
|
||||
|
||||
```
|
||||
$ sudo apt install kdenlive
|
||||
```
|
||||
|
||||
不过,我用 [Flatpak][2] 来安装 Kdenlive。
|
||||
|
||||
### 如何籍视频讲故事
|
||||
|
||||
到底“编辑”视频是什么意思?
|
||||
|
||||
剪辑视频有些夸张的误解。当然,它是使鸿篇巨制的大片影响全世界数百万人的过程,但当你在你的笔记本前坐下时,你不必那样想。剪辑视频就是一个十分简单的,移除“坏的”部分,直到只剩下“好的”部分的工作。
|
||||
|
||||
什么是“好”镜头还是“坏”镜头,完全取决于你自己的品味,甚至可能根据你想用你的创作 “说” 的内容而改变。如果你在剪辑你在后院发现的野生动物的镜头,你可能会剪掉那些突出你的垃圾桶或你踩着耙子的镜头。剩下的部分肯定会使你的后院看起来像一个神奇的秘密花园,里面有蜂鸟、蝴蝶、好奇的兔子和一只俏皮的狗。另一方面,留下这些 “坏” 镜头,你就可以创造一部喜剧,讲述一个郊区人在清理垃圾时,踩到了耙子上,把所有的动物都吓跑了,总之是在捣乱。这没有对错之分。无论你切掉什么,没有人知道曾经存在过。无论你保留什么,都会有一个故事。
|
||||
|
||||
### 导入镜头
|
||||
|
||||
当你启动 Kdenlive,你会有个空项目。Kdenlive 窗口包括在左上角 <ruby>项目箱<rt>Project Bin</rt></ruby>、一个在中间的信息框,以及一个在右上的 <ruby>项目监视器<rt>Project Monitor</rt></ruby>。在下面的是十分重要的部分—— <ruby>时间轴<rt>Timeline</rt></ruby>。时间轴是创建你的故事的地方。在你的项目结束时,时间轴中的所有内容都是你的观众所看到的。这就是你的影片。
|
||||
|
||||
在你开始在你的时间轴上构建故事前,你需要一些素材。假设你已经从相机或手机上获得了一些视频,你必须在项目箱中增加一些素材。右键点击项目箱面板的空位置,然后选择 <ruby>添加素材或文件夹<rt>Add Clip or Folder</rt></ruby>。
|
||||
|
||||
![Adding clips in Kdenlive][3]
|
||||
|
||||
### 裁剪镜头
|
||||
|
||||
Kdenlive 中有许多方式来裁剪视频镜头。
|
||||
|
||||
#### 三点式编辑
|
||||
|
||||
以前,创建素材的正式方式是“三点式编辑”,包括如下几点:
|
||||
|
||||
1. 在 <ruby>素材监视器<rt>Clip Monitor</rt></ruby> 中打开一个视频素材,找到你希望视频开始的点,然后点键盘上的 `l` 来标记 *开始*。
|
||||
2. 然后找你想让视频停止的点,并按 `O` 来标记 *结束*。
|
||||
3. 从素材监视器拖动视频素材到 Kdenlive 窗口底部的时间轴上的某一个位置。
|
||||
|
||||
![A three-point edit in progress][5]
|
||||
|
||||
这个方法依然在某些环境中保有重要地位,但对于很多用户来说太“书面化”了。
|
||||
|
||||
#### 轴内编辑
|
||||
|
||||
另一个编辑的方法是拖动切片到 Kdenlive 的时间轴面板,并拖动切片的边缘,直到只留下好的部分。
|
||||
|
||||
![Editing in the timeline][6]
|
||||
|
||||
### 离切的艺术
|
||||
|
||||
另一种编辑技巧是 <ruby><rt>离切</rt>cut-away</ruby>。这是个重要的技巧,它不只帮助你跳过视频切片中的坏的部分,而且可以为你的观众增加背景信息。在电影和电视中,你已经见过了许多离切,即使你不理解它。每当荧幕上的人看惊讶地抬头,然后你就能看到他们的视角,这就是离切。当一个新闻主播提到你们城市中的一处地方,然后那个地方的镜头跟随其后,这也是离切。
|
||||
|
||||
你可以轻易的在 Kdenlive 中完成离切操作,因为 Kdenlive 时间轴是叠层式的。默认情况下,Kdenlive 中有四个 “<ruby>轨道<rt>track</rt></ruby>” ——最上面的两个分给视频,而下面的两个给伴奏的音频。当你在时间轴上放置视频素材,放在较高的视频轨道上的优先于放在下面的轨道。这意味着你可以在功能上编辑掉视频轨道的镜头,只需要通过在较高的轨道上放些更好的素材就行。
|
||||
|
||||
![A cut-away][7]
|
||||
|
||||
### 导出你的电影
|
||||
|
||||
当你的编辑都完成后,你可以导出你的电影,然后来把它发布到网上,让其他人看到。要做到这一点,点击在 Kdenlive 窗口顶端工具栏上的 <ruby>渲染<rt>Render</rt></ruby> 按钮。在显现的 <ruby>渲染<rt>Rendering</rt></ruby> 窗口中,选择你的视频托管服务支持的格式。WEBM 格式是近日很普遍的一种格式,除了是开源的,它也是可用于分发和存档的最佳格式之一。它能支持 4K、立体图像、广色域等更多的特性。而且所有的主流浏览器都可以播放它。
|
||||
|
||||
渲染需要时间,这取决于你的项目长度、你作出了多少编辑、以及你电脑的性能。
|
||||
|
||||
### 一个长效的解决方案
|
||||
|
||||
当我写这篇文章的时候,正好在十年前的今天,我发表了 [关于 Kdenlive 的六篇介绍文章][8] 。令我惊讶的是,这意味着我成为 Kdenlive 用户的时间比我在电影学院学习的专有编辑器的时间还要长。这是令人印象深刻的长寿,而且我今天仍然在使用它,因为它的灵活性和可靠性是其他编辑器无法比拟的。糟糕的是,我所学过的专有视频编辑器甚至都不存在了,至少不再以同样的形式存在(这让我希望我在一个开源平台上学习编辑!)。
|
||||
|
||||
Kdenlive 是一个功能强大的编辑器,有很多功能,但不要让这些吓倒你。我的介绍系列在今天和十年前一样相关而准确,在我看来,这是一个真正可靠的应用程序的特征。如果你想选择 Kdenlive 作为视频编辑器,一定要下载我们的 [速查表][9],这样你就可以熟练使用键盘快捷键,减少点击次数,使编辑过程无缝进行。
|
||||
|
||||
现在去讲你的故事吧!
|
||||
|
||||
*(题图:MJ/028511ed-687f-4894-b4aa-cf3f6c108a1a)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/12/kdenlive-linux-creative-app
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[yjacks](https://github.com/yjacks)
|
||||
校对:[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/LIFE_film.png?itok=aElrLLrw (An old-fashioned video camera)
|
||||
[2]: https://opensource.com/article/21/11/install-flatpak-linux
|
||||
[3]: https://opensource.com/sites/default/files/uploads/project-bin.jpg (Adding clips in Kdenlive)
|
||||
[4]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[5]: https://opensource.com/sites/default/files/uploads/3-point-edit.jpg (A three-point edit in progress)
|
||||
[6]: https://opensource.com/sites/default/files/uploads/edit.jpg (Editing in the timeline)
|
||||
[7]: https://opensource.com/sites/default/files/uploads/cut-away.jpg (A cut-away)
|
||||
[8]: https://opensource.com/life/11/11/introduction-kdenlive
|
||||
[9]: https://opensource.com/downloads/kdenlive-cheat-sheet
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/11/115804olzlm9mkoh8yvtdo.jpg
|
@ -0,0 +1,152 @@
|
||||
[#]: subject: "Lock your camera to a specific USB port in OBS"
|
||||
[#]: via: "https://opensource.com/article/22/1/cameras-usb-ports-obs"
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15790-1.html"
|
||||
|
||||
在 OBS 中将摄像头锁定到特定的 USB 端口
|
||||
======
|
||||
|
||||
> 为了使复杂的摄像头设置标准化,你可以对 Linux 文件系统中摄像头的位置分配施加一些特殊规则。
|
||||
|
||||
![][0]
|
||||
|
||||
如果在 Linux 上用多个摄像头 [使用 OBS 进行直播][2],你可能会注意到摄像头会在开机时按照它们被检测到的顺序加载。通常情况下你不需要特别在意,但如果你有一个固定的直播设置和复杂的 OBS 模板,你需要知道现实世界中哪个摄像头将会显示在虚拟世界的哪个屏幕上。换句话说,你不希望今天将一个设备分配为“摄像头 A”,而明天它却成为“摄像头 B”。
|
||||
|
||||
为了使复杂的摄像头设置标准化,你可以对 Linux 文件系统中摄像头的位置分配施加一些特殊规则。
|
||||
|
||||
### udev 子系统
|
||||
|
||||
在 Linux 上处理硬件外设的系统称为 udev。它检测和管理你接入计算机的所有设备。你可能没有意识到它的存在,因为它不会吸引太多注意力。尽管当你插入 USB 闪存驱动器以在桌面上打开它或连接打印机时,你肯定与它交互过。
|
||||
|
||||
### 硬件检测
|
||||
|
||||
假设你有两个 USB 摄像头:一个在电脑左侧,另一个在右侧。左侧摄像头拍摄近景,右侧摄像头拍摄远景,并且在直播过程中你需要切换两个摄像头。在 OBS 中,你将每个摄像头添加到 <ruby>源<rt>Sources</rt></ruby> 面板中,并直观地将它们命名为 “camLEFT” 和 “camRIGHT”。
|
||||
|
||||
设想一种最坏的场景,你有两个 _相同的_ 摄像头:它们是同一品牌、同一型号。这是最坏的情况,因为当两个硬件设备完全相同时,它们几乎不可能有任何独特的 ID,以便你的电脑能够将它们区分开来。
|
||||
|
||||
不过,这个难题有解决办法,只需要一些简单的终端命令进行一些调查。
|
||||
|
||||
#### 1、获取厂商和产品 ID
|
||||
|
||||
首先,将一个摄像头插入你想要它分配到的 USB 端口。然后输入以下命令:
|
||||
|
||||
```
|
||||
$ lsusb
|
||||
Bus 006 Device 002: ID 0951:1666 Kingston Technology DataTraveler G4
|
||||
Bus 005 Device 003: ID 03f0:3817 Hewlett-Packard LaserJet P2015 series
|
||||
Bus 003 Device 006: ID 045e:0779 Microsoft Corp. LifeCam HD-3000
|
||||
Bus 003 Device 002: ID 8087:0025 Intel Corp.
|
||||
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 001 Device 003: ID 046d:c216 Logitech, Inc. Dual Action Gamepad
|
||||
Bus 001 Device 002: ID 048d:5702 Integrated Technology Express, Inc.
|
||||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
[...]
|
||||
|
||||
```
|
||||
|
||||
你通常可以专门搜索字符串 `cam` 以缩小结果范围,因为大多数(但不是所有)摄像头都会报告为 “camera”。
|
||||
|
||||
```
|
||||
$ lsusb | grep -i cam
|
||||
Bus 003 Device 006: ID 045e:0779 Microsoft Corp. LifeCam HD-3000
|
||||
|
||||
```
|
||||
|
||||
这里有很多信息。ID 被列为 `045e:0779`。第一个数字是供应商 ID,第二个数字是产品 ID。把它们写下来,因为稍后你会需要它们。
|
||||
|
||||
#### 2、获取 USB 标识符
|
||||
|
||||
你还获取了摄像头的设备路径:总线 3,设备 6。在 Linux 中有一句话:“一切皆文件”,实际上,USB 设备被描述为以 `/dev/bus/usb/` 开始,以总线(本例中为 003)和设备(本例中为 006)结尾的文件路径。查看 `lsusb` 输出中的总线和设备号。它们告诉你该摄像头位于 `/dev/bus/usb/003/006`。
|
||||
|
||||
你可以使用 `udevadm` 命令获取此 USB 设备的内核代号:
|
||||
|
||||
```
|
||||
$ sudo udevadm info --attribute-walk /dev/bus/usb/003/006 | grep "KERNEL="
|
||||
|
||||
KERNEL=="3-6.2.1"
|
||||
|
||||
```
|
||||
|
||||
这个例子中的内核 USB 标识符是 `3-6.2.1`。把你系统中的标识符记下来,因为之后也会用到它。
|
||||
|
||||
#### 3、为每个摄像头重复该过程
|
||||
|
||||
将另一个摄像头(如果你有多个摄像头,则为每个摄像头)连接到要分配给它的 USB 端口。这与你用于另一个摄像头的 USB 端口是不同的!
|
||||
|
||||
重复该过程,获取供应商和产品 ID(如果摄像头是相同的品牌和型号,则应与第一个摄像头相同)以及内核 USB 标识符。
|
||||
|
||||
```
|
||||
$ lsusb | grep -i cam
|
||||
Bus 001 Device 004: ID 045e:0779 Microsoft Corp. LifeCam HD-3000
|
||||
$ sudo udevadm info --attribute-walk dev/bus/usb/001/004 | grep "KERNEL="
|
||||
|
||||
KERNEL=="1-6"
|
||||
|
||||
```
|
||||
|
||||
在这个例子中,我已经确定我的摄像头连接到了 1-6 和 3-6.2.1(第一个是我的机器上的 USB 端口,另一个是插在我的机器上的显示器插口的集线器,这就是为什么一个比另一个更复杂的原因)。
|
||||
|
||||
### 编写一个 udev 规则
|
||||
|
||||
你已经有了所需的一切,因此现在可以编写一个规则,告诉 udev 在特定的 USB 端口找到一个摄像头时给它一个一致的标识符。
|
||||
|
||||
创建并打开一个名为 `/etc/udev/rules.d/50-camera.conf` 的文件,并输入这两个规则,使用适合你自己系统的厂商和产品 ID 和内核标识符:
|
||||
|
||||
```
|
||||
SUBSYSTEM=="usb", KERNEL=="1-6", ATTR{idVendor}=="045e", ATTR{idProduct}=="0779", SYMLINK+="video100"
|
||||
|
||||
SUBSYSTEM=="usb", KERNEL=="3-6.2.1", ATTR{idVendor}=="045e", ATTR{idProduct}=="0779", SYMLINK+="video101"
|
||||
|
||||
```
|
||||
|
||||
这些规则告诉 udev,当在特定的 USB 位置找到与特定供应商和产品 ID 匹配的设备时,创建一个名为 `video100` 和 `video101` 的符号链接(有时也称为“别名”)。符号链接大多是任意的。我使用较大的数字,这样它们就容易被发现,并且数字不能与现有设备冲突。如果实际上有超过 101 个摄像头连接到计算机上,请使用 `video200` 和 `video201` 以确保安全(记得联系我!我很想了解 _该_ 项目的情况)。
|
||||
|
||||
### 重启
|
||||
|
||||
重新启动计算机。你现在可以让摄像头保持连接在计算机上,但实际上这并不重要。一旦 udev 加载了规则,它就会遵循这些规则,无论设备是否在启动期间附加或稍后插入。
|
||||
|
||||
许多人说 Linux 从不需要重启,但是 udev 在引导期间加载其规则,而且此外,你想保证你的 udev 规则在重新启动时也起作用。
|
||||
|
||||
计算机重新启动后,请查看摄像头注册的 `/dev/video` 目录:
|
||||
|
||||
```
|
||||
$ ls -1 /dev/video*
|
||||
/dev/video0
|
||||
/dev/video1
|
||||
/dev/video100
|
||||
/dev/video101
|
||||
/dev/video2
|
||||
/dev/video3
|
||||
|
||||
```
|
||||
|
||||
正如你所看到的,在 `video100` 和 `video101` 有条目。今天,这些是指向 `/dev/video2` 和 `/dev/video3` 的符号链接,但明天它们可能是指向 `/dev/video1` 和 `/dev/video2` 或任何其他基于 Linux 检测和分配文件的组合。
|
||||
|
||||
![两个摄像头角度][3]
|
||||
|
||||
你可以在 OBS 中使用这些符号链接,这样 camLEFT 始终是 camLEFT,camRIGHT 始终是 camRIGHT。
|
||||
|
||||
*(题图:MJ/9bb70b6d-9f49-493a-8daf-5546d207781f)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/1/cameras-usb-ports-obs
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[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/laptop_screen_desk_work_chat_text.png?itok=UXqIDRDD (Person using a laptop)
|
||||
[2]: https://opensource.com/life/15/12/real-time-linux-video-editing-with-obs-studio
|
||||
[3]: https://opensource.com/sites/default/files/uploads/obs-udev.jpg (Two camera angles)
|
||||
[4]: https://unsplash.com/@jeffsiepman?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/06/233102xqfzerq9mek1e9mt.png
|
@ -0,0 +1,90 @@
|
||||
[#]: subject: "Open source runs on non-code contributions"
|
||||
[#]: via: "https://opensource.com/article/22/8/non-code-contribution-powers-open-source"
|
||||
[#]: author: "John E. Picozzi https://opensource.com/users/johnpicozzi"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15782-1.html"
|
||||
|
||||
开源的项目的运行离不开非代码贡献
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 有时成为开源贡献者最困难的是意识到自己能够做出多大的贡献。
|
||||
|
||||
在今年的北美 DrupalCon 上,EPAM 解决方案架构师 John Picozzi 发表了关于非代码贡献重要性的演讲。他谈到每个人可以参与非代码贡献,以及为什么他认为这个话题很重要。本文是 John 演讲的文本改编;在下方可以找到在 DrupalCon 上完整演讲视频的链接。
|
||||
|
||||
什么是非代码贡献?我问了谷歌这个问题并得到了以下答案:“任何有助于开源项目但不涉及编写代码的贡献。”谷歌,听我说谢谢你,但这点我早就懂了。如果你要我深入挖掘,我会说非代码贡献意味着你提供个人的时间、技能和资源来使项目受益。
|
||||
|
||||
### 谁能成为开源贡献者?
|
||||
|
||||
早期,“贡献”意味着编写代码。 最初,Drupal 的运行模式是“由开发者构建,为开发者服务”。然而,多年来,Drupal 社区已经转变了这种思维方式。我们的社区已经学会像重视代码一样重视非代码贡献:任何贡献都是贡献。
|
||||
|
||||
开源是在聚会、训练营和大会中建立的;它是由社区建立的,建立于社区之中。事实上,这些活动中的大部分贡献都与编程无关。要举办这些活动,你需要的是参与者、演讲者、培训师和组织者。不要误会我的意思:当然,开源社区仍然需要编写代码的人,但这并不是唯一需要的东西。如果你参与社区,分享想法、提出问题或提供帮助——恭喜你,你已经在做出贡献了!
|
||||
|
||||
“贡献者”是自我称号(“我是贡献者”)还是社区赋予(“我们说你是贡献者”)?可以肯定地说,每个人都是贡献者:会议参加者、创建 UI 和模块徽标的设计师、帮助市场推广模块或活动的营销人员等等。不要等待别人给你那个称号。你可以参与其中,并自信地告诉其他人你是贡献者。
|
||||
|
||||
有很多方法可以激励别人(或你自己)做出贡献。金钱并不总是最重要的激励因素。但是,有时贡献可以是有偿工作。许多人做出贡献只是因为他们想回馈社区。
|
||||
|
||||
当被问及为什么做出贡献时,每个人可能会给出与同伴不同的答案,但以下是一些最常见的回答:
|
||||
|
||||
* 它让你感觉良好
|
||||
* 建立和提高技能
|
||||
* 职业发展
|
||||
* 建立人际关系/网络
|
||||
|
||||
这个列表无穷无尽,并且与贡献者本身一样多样化。每个贡献者都有自己的理由,没有正确或错误的回答。
|
||||
|
||||
![为开源做出贡献的原因][2]
|
||||
|
||||
### 为什么非代码贡献对开源很重要?
|
||||
|
||||
对于项目的健康运转,非代码贡献与编写代码一样有价值。它有助于让更多具有各种技能的人参与社区。每个人都可以提供一些东西,也可以分享一套独特的技能。
|
||||
|
||||
所有项目都有非代码要求,并不是每个人都是开发人员或编码人员。此外,不同的观点都应该得到表达。例如,营销人员可能与开发人员有不同的经验和观点。每一项努力都以某种方式推动开源向前发展——这就是为什么非代码贡献是必不可少的原因。
|
||||
|
||||
#### 常见的挑战
|
||||
|
||||
贡献的定义可能听起来很简单:只需分享你的知识、表达你的想法并帮助社区即可。然而,贡献者面临着一些挑战。最常见的一种是“<ruby>冒名顶替综合症<rt>imposter syndrome</rt></ruby>”(自我怀疑情绪)。不太有经验的贡献者可能会担心他们的贡献没有价值或没有帮助。你可以通过专注于自己的特定技能和热情来克服这种感觉。例如,如果你有组织活动的经验,你可以利用这个经验专注于组织活动和在活动中帮忙。
|
||||
|
||||
为了克服这些消极的想法,你可以将贡献转化为一种积极的体验。工作/生活/贡献的平衡很重要。贡献应该是愉快的,而不只是另一份工作。如果可以,请把你的贡献成果用在你的日常工作中。 许多雇主鼓励你做出贡献并从中受益,你甚至有可能基于自己做出的贡献建立职业。
|
||||
|
||||
不要让自己筋疲力尽,不停在晚上和周末做出贡献。你只需要在一天的开始或结束时增加 30 分钟的贡献时间,或者如果可能的话,将贡献纳入你日常工作中即可。
|
||||
|
||||
### 如何做出你的第一个非代码贡献?
|
||||
|
||||
看到这里,我希望你已经开始思考,“好的,我准备好了。我要做些什么?” 你该如何参与?去做就对了!你只需要开始:例如,开始在 Drupal 社区中做出贡献,去 [问题队列][3] 或 [Drupal 聊天][4] 那儿提问,或者联系活动组织者寻求建议。整个社区都在等着支持你呢。
|
||||
|
||||
![一张幻灯片,上面展示了许多 Drupal 社区项目徽标,包括区域性 Drupal 聚会、Drupal 咖啡、Drupal 人才和教育, 表明参与社区项目有着大量和广泛的机会。][5]
|
||||
|
||||
请记住遵从自己的技能和兴趣。你已经拥有了技能和兴趣,请用它们来激发你的贡献。你的兴趣可能和你的技能不同:有些事情可能你几乎没有经验但却一直想了解更多,你也可以决定为此做出贡献。单纯地与人交谈、分享知识、提出问题、参加聚会或线下见面,并做出贡献。
|
||||
|
||||
我想引用玛格丽特·米德(美国人类学家)的话来结束对我的开源贡献的完美描述:“永远不要怀疑一小群有思想、有奉献精神的公民可以改变世界。事实上,世界的改变只能依靠这个了。” 米德博士并没有说“一小群代码编写者或开发人员”。 她说,这是一群有思想、有奉献精神的公民——他们有着极大的热情和许多不同的技能。这就是开源的动力,也是 Drupal 的动力。
|
||||
|
||||
完整视频可以在 [YouTube][6] 上观看。
|
||||
|
||||
*(题图:MJ/2d680e28-3cb4-4644-896b-a406ba3b596e)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/8/non-code-contribution-powers-open-source
|
||||
|
||||
作者:[John E. Picozzi][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/johnpicozzi
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/sites/default/files/lead-images/OSDC_dandelion_520x292.png
|
||||
[2]: https://opensource.com/sites/default/files/2022-08/non-code-contribution-open-source.jpeg
|
||||
[3]: https://www.drupal.org/project/issues/drupal?categories=All
|
||||
[4]: https://www.drupal.org/community/contributor-guide/reference-information/talk/tools/slack
|
||||
[5]: https://opensource.com/sites/default/files/2022-08/Drupal%20contributor.png
|
||||
[6]: https://www.youtube.com/watch?v=NwNqfpISMPM
|
||||
[7]: https://youtu.be/NwNqfpISMPM
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/05/154128h4u6dglanai41d14.png
|
@ -0,0 +1,66 @@
|
||||
[#]: subject: "Open source matters in data analytics: Here's why"
|
||||
[#]: via: "https://opensource.com/article/22/9/open-source-data-analytics"
|
||||
[#]: author: "Ray Paik https://opensource.com/users/rpaik"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "cool-summer-021"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15785-1.html"
|
||||
|
||||
为什么开源对于数据分析很重要?
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 开源对于数据分析非常重要,它能为用户、社区成员和公司带来长远利益。
|
||||
|
||||
我曾经写过介绍 Cube 社区的文章,至今已过去了一年多。随着和社区会员以及其他供应商在一起工作,我更坚信开源对于数据分析工作是很有好处的。我也认为,需要不断思考开源为什么重要,以及开源是如何为人们带来长远利益的。
|
||||
|
||||
### 开源对于用户和客户的好处
|
||||
|
||||
我从 Cube 社区听说的第一件事就是:他们经常可以从与其他社区成员的交流中得到技术支持,这种支持往往好于使用需要付费的专有软件获得的支持。在很多开源社区中,我发现,社区成员很乐意帮助别人(特别是帮助新手),并且把这种帮助看作回报开源社区的方式。
|
||||
|
||||
在开源社区,你不需要获得许可就可以加入。一个好的开源社区不但服务于开发者,而且令人们感觉到有一种信任的文化,认为与他人在聊天室、论坛和问题跟踪工具进行开放式讨论是一件愉快的事。这对于诸如数据工程师或数据分析师之类的非开发者来说也很重要。
|
||||
|
||||
当然,借助开源软件,还可以直接查看代码、修复错误或为项目添加新功能。以 Cube 社区为例,对于 GraphQL 的支持就是我们去年的亮点,我们的社区成员为项目 [贡献了这些功能][3]。
|
||||
|
||||
对一个活跃的社区来说,也是很有好处的。即使当供应商不能及时地发布修复版本,你仍然可以自行修改,并可以在等待官方修复版的这段时间内使用修改后的版本。社区成员和用户也不愿意被供应商的奇思妙想所束缚,而且使用开源软件时也不存在升级的压力。
|
||||
|
||||
开源社区在 GitLab、GitHub、Codeberg、YouTube 等各种地方留下了很多“面包屑”,这令衡量活跃程度和社区参与度更容易,也可以衡量社区参与和文化的水平。所以,即使在试用软件前,你也可以在做决定之前了解到它的社区(以及公司)的一些情况。
|
||||
|
||||
### 开源对公司的好处
|
||||
|
||||
没有其他办法比开源更能降低使用软件的障碍了。在早期,开源可以提高技术受众的认知度。早期的使用者往往后来会成为你的最忠实的粉丝。
|
||||
|
||||
早期的使用者也是加速产品发展的催化剂。他们对于产品的反馈和功能需求(例如对问题的追踪)能实现对真实用例的洞察。另外,很多开源爱好者可以合作开发(比如通过代码仓库)新功能和进行 BUG 修复。不用说,这对于创业早期的公司来说是很重要的,因为当时缺少开发和产品相关的资源。
|
||||
|
||||
你对社区的关注会令它发展壮大,并且呈现多样化趋势。多样化不仅体现在人数和地域方面。你需要来自新兴行业的用户或从事各种职业的用户。以 Cube 社区为例,在一年前我常常会跟一些开发者交流,但一年后与我交流得更多的是那些数据使用者和用户。
|
||||
|
||||
在良好的开源社区里,合作文化降低了准入门槛,不仅对于开发者,对于其他提问者、分享观点者或愿意作出非技术性贡献的人们来说都是如此。随着公司和社区的发展,你可以更好地接触到不同的观点。
|
||||
|
||||
对包括社区成员在内的广大人群来说,开源使合作变得更容易。例如,你需要跟其他贡献者在同一个数据库驱动或集成上进行合作,如果可以通过开源仓库进行合作,就很方便了。
|
||||
|
||||
### 关于社区
|
||||
|
||||
以上这些好处都降低了使用软件和协作开发的门槛。开源模型不仅对单个软件或公司有帮助,它还能令整个生态和行业加速发展。我希望在数据分析领域看到更多开源的公司和社区,同时希望人们持续关注开源产品。
|
||||
|
||||
*(题图:MJ/50a877f5-e0e1-4f66-91bf-f1f60b4a9023)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/9/open-source-data-analytics
|
||||
|
||||
作者:[Ray Paik][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[cool-summer-021](https://github.com/cool-summer-021)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/rpaik
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/sites/default/files/lead-images/metrics_data_dashboard_system_computer_analytics.png
|
||||
[2]: https://opensource.com/article/21/6/cubejs
|
||||
[3]: https://github.com/cube-js/cube.js/pull/3555
|
||||
[4]: https://opensource.com/article/22/8/non-code-contribution-powers-open-source
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/06/093906f63kjevj5t6fe06m.png
|
@ -0,0 +1,247 @@
|
||||
[#]: subject: "Monitoring and Debugging Kubernetes with Lens Desktop"
|
||||
[#]: via: "https://www.opensourceforu.com/2022/09/monitoring-and-debugging-kubernetes-with-lens-desktop/"
|
||||
[#]: author: "Mitesh Soni https://www.opensourceforu.com/author/mitesh_soni/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "lxbwolf"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15780-1.html"
|
||||
|
||||
使用 Lens Desktop 监控和调试 Kubernetes
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Lens Desktop 是一个令人兴奋的 Kubernetes 工作平台。它是基于 OpenLens 资源库的一个定制化发行版本。通过本文来了解下 Lens Desktop 能做什么以及它是如何工作的。
|
||||
|
||||
Lens Desktop 是免费的。你可以查看 https://app.k8slens.dev/subscribe 来了解更多内容。Lens Desktop 有如下优势:
|
||||
|
||||
* 简单高效 —— 你无需学习 `kubectl` 命令
|
||||
* 可视化已有的 Kubernetes 资源
|
||||
* 基于开源代码构建
|
||||
* 可观测性 —— 实时的统计数据、事件和日志流
|
||||
* 错误和警告可以直接在 Lens 仪表盘上看到
|
||||
* 支持 EKS、AKS、GKE、Minikube、Rancher、k0s、k3s、OpenShift
|
||||
* 强大的社区支持 —— 有 450000 用户,在 GitHub 上共获得 17000 星
|
||||
|
||||
### Minikube 安装
|
||||
|
||||
Minikube 是一个用于本地运行 Kubernetes 的工具。它运行一个单节点的 Kubernetes 集群,这样就可以在 Kubernetes 上进行日常软件开发的实践工作。
|
||||
|
||||
我们将使用 Minikube 并验证 Lens 的用法。首先让我们在基于 Windows 的系统上安装 Minikube。你也可以把它安装在其他操作系统、虚拟机或笔记本电脑上。
|
||||
|
||||
* 2 核以上 CPU
|
||||
* 2GB RAM
|
||||
* 20GB 空闲硬盘空间
|
||||
* 能连接网络
|
||||
* 容器或虚拟机管理器,如 Docker、VirtualBox
|
||||
|
||||
在终端或命令提示符处,运行 `minikube start` 命令:
|
||||
|
||||
```
|
||||
minikube start --driver=virtualbox
|
||||
* minikube v1.12.3 on Microsoft Windows 10 Home Single Language 10.0.19044 Build 19044
|
||||
* Using the virtualbox driver based on existing profile
|
||||
* minikube 1.26.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.26.0
|
||||
* To disable this notice, run: ‘minikube config set WantUpdateNotification false’
|
||||
* Starting control plane node minikube in cluster minikube
|
||||
* virtualbox “minikube” VM is missing, will recreate.
|
||||
* Creating virtualbox VM (CPUs=2, Memory=3000MB, Disk=20000MB) ...
|
||||
! This VM is having trouble accessing https://k8s.gcr.io
|
||||
* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
|
||||
* Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
|
||||
* Verifying Kubernetes components...
|
||||
* Enabled addons: default-storageclass, storage-provisioner
|
||||
* Done! kubectl is now configured to use “minikube”
|
||||
```
|
||||
|
||||
进入你的 VirtualBox,并验证刚安装的 Minikube 虚拟机功能正常(图 1)。
|
||||
|
||||
![Figure 1: Minikube virtual machine in virtual box][1]
|
||||
|
||||
使用 `minikube status` 命令,查看状态是否与下面的输出一致:
|
||||
|
||||
```
|
||||
C:\>minikube status
|
||||
minikube
|
||||
type: Control Plane
|
||||
host: Running
|
||||
kubelet: Running
|
||||
apiserver: Running
|
||||
kubeconfig: Configured
|
||||
```
|
||||
|
||||
然后,使用 `kubectl cluster-info` 命令查看 KubeDNS 详情:
|
||||
|
||||
```
|
||||
kubectl cluster-info
|
||||
Kubernetes master is running at https://192.168.99.103:8443
|
||||
KubeDNS is running at https://192.168.99.103:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
|
||||
```
|
||||
|
||||
你可以使用 `kubectl cluster-info dump` 命令来调试和诊断集群问题。
|
||||
|
||||
当 Minikube 安装完成后,安装 `kubectl`([https://kubernetes.io/docs/tasks/tools/][2])。它是一个命令行集群,用于对 Kubernetes 集群和 Minikube 执行命令。
|
||||
|
||||
![Figure 2: Lens][3]
|
||||
|
||||
执行 `kubectl get nodes` 命令获取所有 <ruby>节点<rt>node</rt></ruby> 的详情,在本例中是获取 Minikube 的详情:
|
||||
|
||||
```
|
||||
C:\>kubectl get nodes
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
minikube Ready master 7m57s v1.18.3
|
||||
```
|
||||
|
||||
使用 `kubectl get all` 命令获取默认命名空间下的所有详情:
|
||||
|
||||
```
|
||||
C:\>kubectl get all
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7m58s
|
||||
```
|
||||
|
||||
我们现在已经有一个 Minikube 集群,并准备好了 Kubectl。下一步是安装和配置 Lens,并用示例应用程序来验证。
|
||||
|
||||
### Lens 的安装和配置
|
||||
|
||||
打开 https://k8slens.dev/ ,下载与你的操作系统匹配的安装包。
|
||||
|
||||
然后,参照屏幕上的教程来安装 Lens,安装完成后打开 Lens。你会发现在目录中有一个 `minikube`(图 3)。
|
||||
|
||||
![Figure 3: Lens catalogue][4]
|
||||
|
||||
点击 “minikube” 后,你就进入了 Minikube 的世界,你会爱上它的。
|
||||
|
||||
点击 <ruby>节点<rt>node</rt></ruby> 获取有关 `kubectl get nodes` 命令输出的 <ruby>节点<rt>node</rt></ruby> 详情。
|
||||
|
||||
现在,你可以使用 Lens 了。
|
||||
|
||||
![Figure 4: Lens cluster][5]
|
||||
|
||||
我们现在部署 [https://github.com/GoogleCloudPlatform/microservices-demo][6],这是一个云原生微服务演示应用程序。它有 11 层的微服务应用,是一个基于网络的电子商务应用。
|
||||
|
||||
下载这个应用程序,把它解压到与 Minikube 相同的目录。
|
||||
|
||||
进入 `release` 目录,执行以下命令。
|
||||
|
||||
```
|
||||
kubectl apply -f kubernetes-manifests.yaml
|
||||
|
||||
deployment.apps/emailservice created
|
||||
service/emailservice created
|
||||
deployment.apps/checkoutservice created
|
||||
service/checkoutservice created
|
||||
deployment.apps/recommendationservice created
|
||||
service/recommendationservice created
|
||||
deployment.apps/frontend created
|
||||
service/frontend created
|
||||
service/frontend-external created
|
||||
deployment.apps/paymentservice created
|
||||
service/paymentservice created
|
||||
deployment.apps/productcatalogservice created
|
||||
service/productcatalogservice created
|
||||
deployment.apps/cartservice created
|
||||
service/cartservice created
|
||||
deployment.apps/loadgenerator created
|
||||
deployment.apps/currencyservice created
|
||||
service/currencyservice created
|
||||
deployment.apps/shippingservice created
|
||||
service/shippingservice created
|
||||
deployment.apps/redis-cart created
|
||||
service/redis-cart created
|
||||
deployment.apps/adservice created
|
||||
service/adservice created
|
||||
```
|
||||
|
||||
安装过程现在应该已经开始了,不过它需要一些时间来反映出我们使用了 `kubectl` 命令。
|
||||
|
||||
![Figure 5: Lens nodes][7]
|
||||
|
||||
```
|
||||
kubectl get pods
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
adservice-775d8b9bf5-cp7jr 0/1 Pending 0 8h
|
||||
cartservice-79749895f5-jrq4d 1/1 Running 0 8h
|
||||
checkoutservice-5645bf9c65-882m4 1/1 Running 0 8h
|
||||
currencyservice-545c79d477-8rhg7 1/1 Running 0 8h
|
||||
emailservice-7cc5c74b4f-hk74s 1/1 Running 0 8h
|
||||
frontend-9cdf787f5-klfkh 1/1 Running 1 8h
|
||||
loadgenerator-7b6874cb4c-645v9 1/1 Running 0 8h
|
||||
paymentservice-5f74bc7b87-l4248 1/1 Running 0 8h
|
||||
productcatalogservice-6846f59899-v4q4w 1/1 Running 0 8h
|
||||
recommendationservice-d9c6c8b55-m2x9k 1/1 Running 0 8h
|
||||
redis-cart-57bd646894-v7kfr 0/1 Pending 0 8h
|
||||
shippingservice-8685dd9855-pmgjm 1/1 Running 0 8h
|
||||
```
|
||||
|
||||
表 1 列出了你可以通过 `kubectl` 来获取信息的几个命令。
|
||||
|
||||
![Figure 6: Lens pods][8]
|
||||
|
||||
| 描述 | 命令 |
|
||||
| :- | :- |
|
||||
| 列出节点 | `kubectl get node` |
|
||||
| 列出集群中的所有资源 | `kubectl get all –all-namespaces` |
|
||||
| 列出部署 | `kubectl get deployment` |
|
||||
| 显示部署的完整状态 | `kubectl describe deployment <deployment_name>` |
|
||||
| 修改集群上的部署 | `kubectl edit deployment <deployment_name>` |
|
||||
| 删除部署 | `kubectl delete deployment <deployment_name>` |
|
||||
| 列出容器荚 | `kubectl get pod` |
|
||||
| 删除容器荚 | `kubectl delete pod <pod_name>` |
|
||||
| 显示容器荚的完整状态 | `kubectl describe pod <pod_name>`
|
||||
| 在 Shell 中运行一个单容器荚 | `kubectl exec -it <pod_name> /bin/bash` |
|
||||
| 列出机密信息 | `kubectl get secrets` |
|
||||
| 列出服务 | `kubectl get services` |
|
||||
| 列出服务的完整状态 | `kubectl describe services` |
|
||||
| 修改集群中的服务 | `kubectl edit services / kubectl edit deployment <deployment_name>` |
|
||||
| 列出命名空间 | `kubectl get namespace <namespace_name>` |
|
||||
| 打印容器荚日志 | `kubectl logs <pod_name>` |
|
||||
| 打印容器荚中特定容器的日志 | `kubectl logs -c <container_name> <pod_name>` |
|
||||
|
||||
Lens 不仅可以帮你获取表 1 中列出的所有信息,它还可以获取指定集群的信息。我们还能用 Lens 来对 Kubernetes 资源进行编辑和删除操作。
|
||||
|
||||
![Figure 7: Lens deployments][9]
|
||||
|
||||
我们来看下是如何操作的。在 <ruby>工作负载<rt>Workloads</rt></ruby> 部分选择 <ruby>容器荚<rt>Pod</rt></ruby>(图 6),我们能通过 Lens 来编辑、删除、查看日志、访问 <ruby>容器荚<rt>Pod</rt></ruby> 的终端,这是不是很酷?
|
||||
|
||||
![Figure 8: Lens Replicasets][10]
|
||||
|
||||
你可以验证 <ruby>工作负载<rt>Workloads</rt></ruby> 区域中所有 <ruby>部署<rt>deployments</rt></ruby>(图 7),<ruby>工作负载<rt>Workloads</rt></ruby> 区域中所有 <ruby>副本<rt>Replicasets</rt></ruby> (图 8),<ruby>配置<rt>Config</rt></ruby> 区域中所有 <ruby>密钥<rt>Secrets</rt></ruby> (图 9),以及 <ruby>网络<rt>Network</rt></ruby> 区域中所有 <ruby>服务<rt>Services</rt></ruby> 是否都正常(图 10),
|
||||
|
||||
![Figure 9: Lens Secrets][11]
|
||||
|
||||
你可以看到,跳转到所有的资源以及在一个地方高效地查看所有资源就是如此轻松。我们可以用 Lens 修改 YAML 文件,在运行时应用它来查看变更。
|
||||
|
||||
![Figure 10: Lens Services][12]
|
||||
|
||||
对于配置在不同的云服务商部署的多个集群,我们仍可以用 Lens 来进行观察和故障处理。
|
||||
|
||||
*(题图:MJ/069da8c5-9043-46b3-9b14-87a0ffc6bb35)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.opensourceforu.com/2022/09/monitoring-and-debugging-kubernetes-with-lens-desktop/
|
||||
|
||||
作者:[Mitesh Soni][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[lxbwolf](https://github.com/lxbwolf)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.opensourceforu.com/author/mitesh_soni/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-1-Minikube-virtual-machine-in-virtual-box.jpg
|
||||
[2]: https://kubernetes.io/docs/tasks/tools/
|
||||
[3]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-2-Lens.jpg
|
||||
[4]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-3-Lens-catalogue.jpg
|
||||
[5]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-4-Lens-cluster.jpg
|
||||
[6]: https://github.com/GoogleCloudPlatform/microservices-demo
|
||||
[7]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-5-Lens-nodes.jpg
|
||||
[8]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-6-Lens-pods.jpg
|
||||
[9]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-7-Lens-deployments-2.jpg
|
||||
[10]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-8-Lens-Replicasets.jpg
|
||||
[11]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-9-Lens-Secrets.jpg
|
||||
[12]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-10-Lens-Services-1.jpg
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/04/193543uvvdi14469ngnop4.png
|
@ -0,0 +1,236 @@
|
||||
[#]: subject: "Improve your coding skills with temporal values in MySQL"
|
||||
[#]: via: "https://opensource.com/article/23/2/temporal-values-mysql"
|
||||
[#]: author: "Hunter Coleman https://opensource.com/users/hunterc"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15774-1.html"
|
||||
|
||||
在 MySQL 中处理时间
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 这篇关于 MySQL 中日期和时间的概述将帮助你在数据库表中处理时间值。
|
||||
|
||||
流行数据库系统 MySQL 的新老用户常常会对数据库处理时间值的方式感到困惑。有时用户不会费心去了解时间值的数据类型。这可能是因为他们觉得本身也没有什么好了解的。日期就是日期,对吧?好吧,并非总是如此。花几分钟时间了解 MySQL 如何存储和显示日期和时间是有益的。学习如何最好地利用数据库表中的时间值可以帮助你成为更好的编码者。
|
||||
|
||||
### MySQL 时间值类型
|
||||
|
||||
当你在 MySQL 中新建表时,选择合适的数据类型(`INT`、`FLOAT`、`CHAR` 等)高效地保存插入到表中的数据。MySQL 为时间值提供了五种数据类型。它们是 `DATE`、`TIME`、`DATETIME`、`TIMESTAMP` 和 `YEAR`。
|
||||
|
||||
MySQL 使用 `ISO 8601` 格式来存储以下格式的值(LCTT 译注:国际标准 ISO 8601,是国际标准化组织的日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》):
|
||||
|
||||
- `DATE`:`YYYY-MM-DD`
|
||||
- `TIME`:`HH:MM:SS`
|
||||
- `TIMESTAMP`:`YYYY-MM-DD HH:MM:SS`
|
||||
- `YEAR`:`YYYY`
|
||||
|
||||
### DATETIME 与 TIMESTAMP 的比较
|
||||
|
||||
你可能已经注意到 <ruby>日期时间<rt>DATETIME</rt></ruby> 和 <ruby>时间戳<rt>TIMESTAMP</rt></ruby> 数据类型存有相同的数据。你可能想知道这两者之间是否有差异。答案是:有。
|
||||
|
||||
首先,可以使用的日期范围不同。`DATETIME` 可以保存 1000-01-01 00:00:00 和 9999-12-31 23:59:59 之间的日期,而 `TIMESTAMP` 的范围更有限,从 1970-01-01 00:00:01 到 2038-01-19 03:14:07 UTC。
|
||||
|
||||
其次,虽然两种数据类型都允许你 <ruby>自动初始化<rt>auto_initialize</rt></ruby> 或 <ruby>自动更新<rt>auto_update</rt></ruby> 它们各自的值(分别用 `DEFAULT CURRENT_TIMESTAMP` 和 `ON UPDATE CURRENT_TIMESTAMP`),但在 5.6.5 版本之前,对 `DATETIME` 值不能这样操作。如果你要用 `DATETIME`,你可以使用 `CURRENT_TIMESTAMP` 的 MySQL 同义词之一,例如 `NOW()` 或 `LOCALTIME()`。
|
||||
|
||||
如果你对一个 `DATETIME` 值使用 `ON UPDATE CURENT_TIMESTAMP`(或其同义词之一),但没有使用 `DEFAULT CURRENT_TIMESTAMP` 子句,那么这个列的默认值为 `NULL`。除非你在表的定义中包含 `NOT NULL`,在这种情况下,它默认为 0。
|
||||
|
||||
另一件需要记住的重要事情是,尽管通常情况下,除非你声明一个默认值,否则 `DATETIME` 和 `TIMESTAMP` 列都没有一个默认值,但这个规则有一个例外。如果没有指定 `DEFAULT CURRENT_TIMESTAMP` 和 `ON UPDATE CURRENT_TIMESTAMP` 这两个子句,并且禁用 `explicit_defaults_for_timestamp` 这个变量,那么你表中的第一个 `TIMESTAMP` 列将被隐式创建。
|
||||
|
||||
要检查这个变量的状态,请运行:
|
||||
|
||||
```
|
||||
mysql> show variables like 'explicit_default%';
|
||||
```
|
||||
|
||||
如果你想打开或关闭它,运行这段代码(用 0 表示关闭,用 1 表示打开):
|
||||
|
||||
```
|
||||
mysql> set explicit_defaults_for_timestamp = 0;
|
||||
```
|
||||
|
||||
### TIME
|
||||
|
||||
MySQL 的 <ruby>时间<rt>TIME</rt></ruby> 数据类型可能看起来很简单,但有几件事是一个优秀的程序员应该牢记的。
|
||||
|
||||
首先要注意的是,虽然 `TIME` 经常被认为是一天中的时间,但它实际上是经过的时间。换句话说,它可以是一个负值,或者可以大于 23:59:59。在 MySQL 中,一个 `TIME` 值的范围可以是 -838:59:59 到 838:59:59。
|
||||
|
||||
另外,如果你缩写一个时间值,MySQL 会因你是否使用冒号作出不同解释。例如,10:34 这个值被 MySQL 看作是 10:34:00。也就是说,十点过后的 34 分钟。但是,如果你不使用冒号写作 `1034`,MySQL 将其视为 00:10:34,意思是 10 分钟 34 秒。
|
||||
|
||||
最后,你应该知道 `TIME` 值(以及 `DATETIME` 和 `TIMESTAMP` 字段的时间部分)从 5.6.4 版本开始,可以取一个小数部分。要使用它,请在数据类型定义的结尾处添加一个整数(最大值为 6)的圆括号。
|
||||
|
||||
```
|
||||
time_column TIME(2)
|
||||
```
|
||||
|
||||
### 时区
|
||||
|
||||
时区变化不仅在现实世界中产生混乱和疲劳,而且也会在数据库系统中制造麻烦。地球被划分为 24 个独立的时区,通常每隔 15 度经度就会发生变化。我说通常是因为一些国家行事方式不同。例如中国只在一个时区运作,而不是预期的五个时区。
|
||||
|
||||
你如何处理处于不同时区的数据库系统的用户就成了一个问题。幸运的是,MySQL 并没有使这个问题变得太困难。
|
||||
|
||||
要检查你的会话时区,请运行:
|
||||
|
||||
```
|
||||
mysql> select @@session.time_zone;
|
||||
```
|
||||
|
||||
如果结果显示 `System`,这意味着它正在使用你的 `my.cnf` 配置文件中设置的时区。如果你在本地计算机上运行你的 MySQL 服务器,这可能就是你会得到的,你不需要做任何改变。
|
||||
|
||||
如果你想改变你的会话的时区,请运行如下命令:
|
||||
|
||||
```
|
||||
mysql> set time_zone = '-05:00';
|
||||
```
|
||||
|
||||
这将你的时区设置为 <ruby>美国/东部<rt>US/Eastern</rt></ruby>,比 <ruby>协调世界时<rt>UTC</rt></ruby> 晚五个小时。
|
||||
|
||||
### 获得一周的日期
|
||||
|
||||
为了跟上本教程后面部分的代码,你应该在你的系统中创建一个带有日期值类型的表。比如:
|
||||
|
||||
```
|
||||
mysql> create table test
|
||||
( row_id smallint not null auto_increment primary key,
|
||||
the_date date not null);
|
||||
```
|
||||
|
||||
然后使用 ISO 8601 格式在表中插入一些随机日期,如
|
||||
|
||||
```
|
||||
mysql> insert into test (the_date) VALUES ('2022-01-05');
|
||||
```
|
||||
|
||||
我在我的 `test` 表中插入了四行日期值,你插入多少行都可以。
|
||||
|
||||
有时你可能想知道某一天是星期几。MySQL 给了你几种实现方法。
|
||||
|
||||
第一种,也是最显而易见的方法,是使用 `DAYNAME()` 函数。如下示例表所展示,`DAYNAME()` 函数可以告诉你每个日期是星期几:
|
||||
|
||||
```
|
||||
mysql> SELECT the_date, DAYNAME(the_date) FROM test;
|
||||
+------------+-------------------------------+
|
||||
| the_date | DAYNAME(the_date) |
|
||||
+------------+-------------------------------+
|
||||
| 2021-11-02 | Tuesday |
|
||||
| 2022-01-05 | Wednesday |
|
||||
| 2022-05-03 | Tuesday |
|
||||
| 2023-01-13 | Friday |
|
||||
+------------+-------------------------------+
|
||||
4 rows in set (0.00 sec)
|
||||
```
|
||||
|
||||
另外两种获取星期几的方法是返回整数值,而不是星期几的名称,分别是 `WEEKDAY()` 和 `DAYOFWEEK()`。他们都返回数字,却又各不相同。`WEEKDAY()` 函数返回从 0 到 6 的数字,其中 0 代表星期一,6 代表星期日。而 `DAYOFWEEK()` 则返回从 1 到 7 的数字,其中 1 代表星期日,7 代表星期六。
|
||||
|
||||
```
|
||||
mysql> SELECT the_date, DAYNAME(the_date),
|
||||
WEEKDAY(the_date), DAYOFWEEK(the_date) FROM test;
|
||||
+------------+------------------+------------------+--------------------+
|
||||
| the_date | DAYNAME(the_date)| WEEKDAY(the_date)| DAYOFWEEK(the_date)|
|
||||
| 2021-11-02 | Tuesday | 1 | 3 |
|
||||
| 2022-01-05 | Wednesday | 2 | 4 |
|
||||
| 2022-05-03 | Tuesday | 1 | 3 |
|
||||
| 2023-01-13 | Friday | 4 | 6 |
|
||||
+------------+------------------+------------------+--------------------+
|
||||
4 rows in set (0.00 sec)
|
||||
```
|
||||
|
||||
### 当你只想获取日期的一部分时
|
||||
|
||||
有时你可能在 MySQL 表中存储了一个日期,但是你只想获取日期的一部分。这并不是问题。
|
||||
|
||||
MySQL 中有几个顾名思义的函数,可以轻松获取日期对象的特定部分。以下是一些示例:
|
||||
|
||||
```
|
||||
mysql> SELECT the_date, YEAR(the_date), MONTHNAME(the_date),
|
||||
DAYOFMONTH(the_date) FROM test ;
|
||||
+-----------+---------------+-------------------+---------------------+
|
||||
| the_date | YEAR(the_date)|MONTHNAME(the_date)| DAYOFMONTH(the_date)|
|
||||
+-----------+---------------+-------------------+---------------------+
|
||||
| 2021-11-02| 2021 | November | 2 |
|
||||
| 2022-01-05| 2022 | January | 5 |
|
||||
| 2022-05-03| 2022 | May | 3 |
|
||||
| 2023-01-13| 2023 | January | 13 |
|
||||
+-----------+---------------+-------------------+---------------------+
|
||||
4 rows in set (0.00 sec)
|
||||
```
|
||||
|
||||
MySQL 也允许你使用 `EXTRACT()` 函数来获取日期的一部分。你提供给函数的参数是一个单位说明符(确保是单数形式)、`FROM` 和列名。因此,为了从我们的 test 表中仅获取年份,你可以写:
|
||||
|
||||
```
|
||||
mysql> SELECT EXTRACT(YEAR FROM the_date) FROM test;
|
||||
+----------------------------------------------+
|
||||
| EXTRACT(YEAR FROM the_date) |
|
||||
+----------------------------------------------+
|
||||
| 2021 |
|
||||
| 2022 |
|
||||
| 2022 |
|
||||
| 2023 |
|
||||
+----------------------------------------------+
|
||||
4 rows in set (0.01 sec)
|
||||
```
|
||||
|
||||
### 插入和读取不同格式的日期
|
||||
|
||||
正如之前提到的,MySQL 使用 `ISO 8601` 格式存储日期和时间值。但是如果你想以另一种方式存储日期和时间值,例如 `MM-DD-YYYY` 格式,怎么办?首先,不要尝试这样做。MySQL 以 8601 格式存储日期和时间,就是这样。不要尝试更改它。但是,这并不意味着你必须在将数据输入到数据库之前将数据转换为特定的格式,或者你不能以任何你想要的格式展示数据。
|
||||
|
||||
如果你想要将非 ISO 的格式的日期输入到表中,你可以使用 `STR_TO_DATE()` 函数。第一个参数是你想要存储在数据库中的日期的字符串值。第二个参数是格式化字符串,它让 MySQL 知道日期的组织方式。让我们看一个简单的例子,然后我将更深入地研究这个看起来很奇怪的格式化字符串是什么。
|
||||
|
||||
```
|
||||
mysql> insert into test (the_date) values (str_to_date('January 13, 2023','%M %d, %Y'));
|
||||
|
||||
Query OK, 1 row affected (0.00 sec)
|
||||
```
|
||||
|
||||
你将格式化字符串放在引号中,并在每个特殊字符前加上百分号。上面代码中的格式序列告诉 MySQL 我的日期由一个完整的月份名称 `%M`,后跟一个两位数的日期`%d`,然后是一个逗号,最后由一个四位数的年份 `%Y` 组成。请注意,大写很重要。
|
||||
|
||||
一些其他常用的格式化字符串字符是:
|
||||
|
||||
- `%b` 缩写月份的名称(例如: `Jan`)
|
||||
- `%c` 数字月份(例如: 1)
|
||||
- `%W` 星期名称(例如: `Saturday)
|
||||
- `%a` 星期名称的缩写(例如: `Sat`)
|
||||
- `%T` 24 小时制的时间(例如: `22:01:22`)
|
||||
- `%r` 带 AM/PM 的 12 小时制的时间(例如: `10:01:22 PM`)
|
||||
- `%y` 两位数的年份(例如: 23)
|
||||
|
||||
请注意,对于两位数年份 `%y`,年份范围是 1970 到 2069。因此,从 70 到 99 的数字被假定为 20 世纪,而从 00 到 69 的数字被假定为 21 世纪。
|
||||
|
||||
如果你有一个日期存储在你的数据库中,你想用不同的格式显示它,你可以使用这个 `DATE_FORMAT()` 函数:
|
||||
|
||||
```
|
||||
mysql> SELECT DATE_FORMAT(the_date, '%W, %b. %d, %y') FROM test;
|
||||
+-----------------------------------------+
|
||||
| DATE_FORMAT(the_date, '%W, %b. %d, %y') |
|
||||
+-----------------------------------------+
|
||||
| Tuesday, Nov. 02, 21 |
|
||||
| Wednesday, Jan. 05, 22 |
|
||||
| Tuesday, May. 03, 22 |
|
||||
| Friday, Jan. 13, 23 |
|
||||
+-----------------------------------------+
|
||||
4 rows in set (0.00 sec)
|
||||
```
|
||||
|
||||
### 总结
|
||||
|
||||
本教程应该为你提供了一个关于 MySQL 中的日期和时间值的有用的概述。我希望本文教会了您一些新知识,使您能够更好地控制和理解 MySQL 数据库如何处理时间值。
|
||||
|
||||
*(题图:MJ/76b6481a-a271-4e81-bc17-dd7fbe08a240)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/2/temporal-values-mysql
|
||||
|
||||
作者:[Hunter Coleman][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/hunterc
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/02/170932wivx7l84red2dvip.png
|
111
published/202304/20210108 What is an open source evangelist.md
Normal file
111
published/202304/20210108 What is an open source evangelist.md
Normal file
@ -0,0 +1,111 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (rsqrt2b)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15753-1.html)
|
||||
[#]: subject: (What is an open source evangelist?)
|
||||
[#]: via: (https://opensource.com/article/21/1/open-source-evangelist)
|
||||
[#]: author: (Peter Czanik https://opensource.com/users/czanik)
|
||||
|
||||
什么是开源布道师?
|
||||
======
|
||||
|
||||
> 了解如何成为产品用户和开发人员之间的桥梁。
|
||||
|
||||
![][0]
|
||||
|
||||
当人们得知我是位(专注于 [syslog-ng][2] 和 [sudo][3] 的)开源布道师的时候,他们经常问我为 Linux 世界中如此知名的软件“代言”是什么感觉。我的回答非常简短:非常棒!
|
||||
|
||||
我是整个研发环节的一部分,所以我不会觉得自己可有可无。当人们实践我教他们的东西,以及当我收集到的用户反馈影响产品开发的时候,我感觉我很有意义。
|
||||
|
||||
### 什么是布道师?
|
||||
|
||||
我将布道师定义为软件(或其他产品)的用户和开发人员之间的桥梁。布道师不仅仅将好消息分享给用户,还要从他们那里收集反馈。
|
||||
|
||||
布道师们有着各式各样的背景:有些人具有市场营销背景,对技术有着浓厚的兴趣;有些人是喜欢和用户交流的开发人员。我属于第三类——“资深用户”,即从用户视角对软件产品有深入了解的人。
|
||||
|
||||
我要和非常多的用户打交道。syslog-ng 的用户群体非常庞大,它可以用在大多数 Linux 发行版和 BSD 变体上。数以亿计的设备运行着 syslog-ng,其中包括 BMW i3 和 Kindle。大多数基于 BSD 的设备,譬如 FreeNAS,使用 syslog-ng 记录日志,而 Synology 和 QNAP 的基于 Linux 的<ruby>网络附属存储<rt>Network Attached Storage</rt></ruby>(NAS)也是如此。就算 syslog-ng 运行在太空的某处,我也不会感到惊讶。
|
||||
|
||||
大多数 Linux 和 Unix 用户使用 sudo,因为它几乎被安装在每一台 Linux 设备上。它的社区很大,有几千万人。人们经常问我是如何和那么多用户打交道的,但这并不困难。
|
||||
|
||||
### 我是如何成为一名布道师的
|
||||
|
||||
我成为布道师的旅程是一个跨越了近 20 年的进化过程。它始于许多年前,那时候我在大学教书。之后是和 POWER/PowerPC 的 Linux 用户、开发人员合作。最后,我在 [Balabit][4] 的工作中开始使用 syslog-ng,再后来我开始接触 sudo。
|
||||
|
||||
我在 Balabit 的第一份工作是帮助 Linux 发行版将它们的 syslog-ng 包升级到上游的最新版本。随着我越来越多地了解 syslog-ng 的细节,我开始帮助它的用户。一年后,我在匈牙利和国际会议上发表关于 syslog-ng 的演说。不久之后,我从用户那里收集到的反馈开始对产品开发产生影响。
|
||||
|
||||
八年后,也就是 2018 年,Balabit 被 [One Identity][5] 收购,sudo 的维护者 [Todd Miller][6] 成为了我的同事。在那之前我只是了解一些基本的 sudo 功能,但我变得对 sudo 更感兴趣,并开始了解它的高级功能。很快,我开始为 sudo 布道,从一名 syslog-ng 布道师进化为一个更广泛意义上的开源布道师。
|
||||
|
||||
### 技术布道的四大支柱
|
||||
|
||||
技术布道师做很多事情,大致可以分为四类:开发人员、支持人员、技术产品营销和产品经理。我将更详细地介绍这四个支柱。
|
||||
|
||||
#### 开发人员
|
||||
|
||||
我不是开发人员,但我做了很多开发人员的工作,例如为各式各样的 Linux 发行版和 FreeBSD 打包 syslog-ng,做很多测试,将 syslog-ng 集成到其他软件中,并在异构平台上测试。我做的开发者任务有助于社区,并帮助我更好地了解社区需求。
|
||||
|
||||
#### 支持人员
|
||||
|
||||
关注错误追踪器,在 Google Alerts 和 Twitter 上查看 syslog-ng 关键词,以及阅读邮件列表,都能让我更好地帮助我们的用户群体。通过帮助他人,我也能能更好地理解他们的问题所在。
|
||||
|
||||
#### 技术产品营销
|
||||
|
||||
我真的不喜欢“营销”这个词,但是写博客和在会议上演说 *确实是* 营销。作为一名前系统管理员,我了解我的听众,我们有共同的声音。除了我自己的 Twitter 账号 [@PCzanik][7] 之外,我还在 [@sngOSE][8] (syslog-ng 开源版)和 [@SudoProject][9] (sudo)账号下发帖。
|
||||
|
||||
Twitter 是个收集和分享技术新闻的绝佳平台。即使营销只是我工作的一个方面,它仍是我布道工作中最引人注目的部分:
|
||||
|
||||
* **给内向者的社交场合生存技巧:** 当人们得知我是一个内向的人,而仍然从事了这份工作之后,就经常问我是如何做到的。发表演讲或在会议展位上工作一整天是很困难的:有太多的人、太多的噪音了。我在这里针对这种场合给出一些生存技巧:
|
||||
* 专注于结果。活动是从用户那里收集反馈的绝佳机会。等你演讲完,可以随地开始一场好的讨论,甚至在展台或走廊上。在活动中,用户会给出很多现实生活中的反馈,记住她们的意见会有很多帮助。
|
||||
* 知道活动何时结束。请记住在嘈杂的环境中只能待上一段时间,这对你会有很大的帮助。
|
||||
* 与你志同道合的人尽情交谈,他们和你一样害羞、和你一样有不安全感、和你有着相同的技术兴趣。
|
||||
* **疫情期间的营销技巧:** 许多人问我 COVID-19 是如何影响我的工作的,因为我从 2020 年开始就不能出行。我刚从 [RSA 大会][10] 和 [南加州 Linux 博览会][11] 上回来,两天后航班就暂停了、边境也关闭了(LCTT 校注:本文原文发表于 2021 年)。即使现在也在开虚拟会议,我仍可以做有关 sudo 和 syslog-ng 的演说,但这样反馈就会减少,甚至没有反馈——没有让我和用户见面的走廊,也没有供演讲者讨论最新、最好的技术的晚宴。会议上注意力比以往更不集中,因为在家里工作总有各种各样的干扰因素。我看到了许多不同的方法试图解决这个问题,每一项都有其优缺点:
|
||||
* 全局聊天室适合举办小型活动。但当活动有超过几十个人时,它将会变成一连串的“大家好,我来自马萨诸塞州,波士顿” 或者类似的无用的消息,从而没有机会进行一些有意义的讨论。
|
||||
* 如果活动有多个<ruby>专题<rt>track</rt></ruby>,给每个专题讨论一个单独的聊天室是很有用的。演讲者和用户都可以从聊天中发布的问题和评论中学到很多东西。如果有一个主持人,这将成倍地有用。始终记得将讨论限制在主题上,并确保在问答环节中产生的问题传达到演讲者耳中。
|
||||
* <ruby>随机聊天<rt>chat roulette</rt></ruby>是个随机联系陌生人的好方法,并且能产生好的讨论。不过这种方法对于演讲者来说随机性太高了。
|
||||
* <ruby>针对性聊天<rt>Tracking chats</rt></ruby>很好,不过许多人不喜欢公开提问或分享经验。直接与演讲者聊天可以解决这个问题。
|
||||
|
||||
#### 产品经理
|
||||
|
||||
我不是产品经理,尽管有时候我希望自己收集到的反馈可以直接转化为功能,但我定期与开发者和产品经理分享用户反馈。在内部讨论中,我总是代表用户一方,而不是考虑开发者如何用用最简单的方法推进产品,或者如何产生最多收益。
|
||||
|
||||
### 为什么要布道广为人知、广泛使用的软件?
|
||||
|
||||
每个 Linux 用户都知道 sudo,他们中的许多人也知道 syslog-ng。那我们为什么要布道它们呢?这是因为许多人只知道这些程序的基础知识,这也是他们刚开始使用 Linux 时学到的。但这两款软件都不是简单的、几十年来处于维护模式的工具序,两者都是仍在持续开发中的有生命力的程序。
|
||||
|
||||
大多数人对 syslog-ng 的了解仅限于它收集日志消息并把消息存储在文本文件中。但 syslog-ng 还有许多 [其他功能][12],包括解析消息、使用地理信息丰富消息、精确的消息路径(过滤)和把消息存储在数据库、Hadoop 或消息队列中。
|
||||
|
||||
sudo 通常被认为是管理员命令的前缀,但它可以做许多其他事情。sudo 可以记录在里面运行的会话,允许你检查用户通过 sudo 使用超级权限做了什么事情。你也可以使用插件扩展 sudo。从 [sudo 的 1.9 版本][13] 开始,你甚至可以用 Python 扩展 sudo,这使得扩展它变得容易得多。
|
||||
|
||||
### 总结
|
||||
|
||||
成为一名开源布道师是个非常有趣的工作,即使是在 COVID-19 时代,虽然确实增加了我的工作难度。如果你对于这个角色有其他问题,或者有关于技术布道师或者开发大使则如何帮助你的故事,请在评论里分享。
|
||||
|
||||
*(题图:MJ/sci-fi evangelist in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/1/open-source-evangelist
|
||||
|
||||
作者:[Peter Czanik][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[rsqrt2b](https://github.com/rsqrt2b)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/czanik
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/laptop-stickers-team-happy_0.png?itok=G2-GcSPp (Teamwork starts with communication )
|
||||
[2]: https://www.syslog-ng.com/
|
||||
[3]: https://www.sudo.ws/
|
||||
[4]: https://en.wikipedia.org/wiki/Balabit
|
||||
[5]: https://www.oneidentity.com/
|
||||
[6]: https://www.linkedin.com/in/millert/
|
||||
[7]: https://twitter.com/PCzanik
|
||||
[8]: https://twitter.com/sngose
|
||||
[9]: https://twitter.com/SudoProject
|
||||
[10]: https://www.rsaconference.com/usa/us-2020
|
||||
[11]: https://www.socallinuxexpo.org/scale/18x
|
||||
[12]: https://www.syslog-ng.com/community/b/blog/posts/building-blocks-of-syslog-ng
|
||||
[13]: https://opensource.com/article/20/10/sudo-19
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/25/090825y2fss1oesohbslf2.jpg
|
119
published/202304/20210111 an even better video wharf.md
Normal file
119
published/202304/20210111 an even better video wharf.md
Normal file
@ -0,0 +1,119 @@
|
||||
[#]: subject: "an even better video wharf"
|
||||
[#]: via: "https://jao.io/blog/2021-01-11-an-even-better-video-wharf.html"
|
||||
[#]: author: "jao https://jao.io"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "Drwhooooo"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15711-1.html"
|
||||
|
||||
一个更好的视频码头
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
之前,[我在写][1] 有关 [embark][2] 的内容,我的第一设备为启动远程视频流设计了一个新的 embark。embark 的作者 Omar Antolín Camarena 不仅阅读了这篇内容,还点评了一下我认为值得跟进的一些重大改进。
|
||||
|
||||
首先,你应该记得我们曾定义过一个检测视频 URL 的函数:
|
||||
|
||||
```
|
||||
|
||||
(defun jao-video-finder ()
|
||||
"Check whether we're looking at a video URL.
|
||||
Return (video-url . <URL>) if so."
|
||||
(when-let ((url (thing-at-point-url-at-point)))
|
||||
(when (string-match-p jao-video-url-rx url)
|
||||
(cons 'video-url url))))
|
||||
|
||||
```
|
||||
|
||||
当我们得到了一个非空的 `url` 值,即便它不是一个视频链接,但它仍然是一个确切的 URL,并且 embark 已有了一个 `url` 类别,所以我们可以借助默认的 URL 寻检器存储一个新的句法分析,语句如下:
|
||||
|
||||
```
|
||||
|
||||
(when-let ((url (thing-at-point-url-at-point)))
|
||||
(cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))
|
||||
|
||||
```
|
||||
|
||||
这里有一个潜在的缺点就是:我们重写了 embark 的寻检器,`embark-target-url-at-point`,所以我们可能更愿意保留后者。
|
||||
|
||||
实际上多亏了 embark 的 _目标转换器_ 我们才能做成。我们可以在 `embark-transformers-alist` 中添加任意一个函数,应用于任何一个给定类别的目标,而 embark 会将其转换后的值应用于它的操作中。Omar 很贴切地把这个过程称为“目标的精化”;我们具体做法如下:
|
||||
|
||||
```
|
||||
|
||||
(defun jao-refine-url-type (url)
|
||||
"Refine type of URL in case it is a video."
|
||||
(cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))
|
||||
|
||||
(add-to-list 'embark-transformer-alist '(url . jao-refine-url-type))
|
||||
|
||||
```
|
||||
|
||||
通过这种策略,我们就不再需要 `jao-video-finder` 了,而且从概念上来说,我们的 `video-url` 应该被定义为一个精化操作而并非是一个目标 [脚注 1]。Omar 的第二个提议也与这个概念相契合:想必我们都希望所有关于 `url` 和我们的 `video-url` 的操作都是可用的,不是吗?
|
||||
唔,这就是为什么我们用来定义行为的 `embark-define-keymap` 的宏可以通过使用关键字 [脚注 2] `:parent` 继承其他键映射中已经定义的所有操作的原因:
|
||||
|
||||
```
|
||||
|
||||
(embark-define-keymap jao-video-url-map
|
||||
"Actions on URLs pointing to remote video streams."
|
||||
:parent embark-url-map
|
||||
("p" jao-play-video-url))
|
||||
|
||||
(add-to-list 'embark-keymap-alist '(video-url . jao-video-url-map))
|
||||
|
||||
```
|
||||
|
||||
这种继承键映射的功能并非是 embark 的附属功能:vanilla Emacs 键映射通过标准函数 `set-keymap-parent` 已经搞定它了。你可以完全不用 `embark-define-keymap` 来定义 `jao-video-url-map`,工作原理是一样的。
|
||||
|
||||
这样,我们的代码就能够更短,特征更多:谢谢你,Omar!
|
||||
|
||||
**脚注 1**:在某些情况下,保留 jao-video-finder 是有意义的,即,如果我们想要改变检测 URL 的功能的话。例如,我在使用 emacs-w3m 的时候,经常有一个 URL 作为文本属性储存了起来(实际文本是个链接文本)。要通过那里检索 URL,就需要调用 `w3m-anchor`,而用 `embark-target-url-at-point` 就会错过它。对于这种情况,我最终编写(并使用)`jao-video-finder` 将其通过下文定义:
|
||||
|
||||
```
|
||||
|
||||
(when-let ((url (or (w3m-anchor) (thing-at-point-url-at-point))))
|
||||
(cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))
|
||||
|
||||
```
|
||||
|
||||
另一种达成同件事情的方式(再次向 Omar 致敬)便是为 w3m 的锚点放置一个特定的巡检器(且继续使用 video-url 的转换器):
|
||||
|
||||
```
|
||||
|
||||
(defun jao-w3m-url-finder ()
|
||||
(when-let ((url (w3m-anchor)))
|
||||
(cons 'url url)))
|
||||
|
||||
(add-to-list 'embark-target-finders #'jao-w3m-url-finder)
|
||||
|
||||
```
|
||||
|
||||
这种方法更加模块化,并且取决于你们的喜好,且更加巧妙。这些功能都很小巧并且两种方法之间并没有太大的差别,但是如果其中某一种继续加入更多寻检器的话,前一种方法用起来来反而会让一切变得更糟。
|
||||
|
||||
**脚注 2**:在我最开始的例子中,我在视频地图中还添加了 `browse-url` 和 `browse-url-firefox`。前一个已不再重要,因为它已经在 `embark-url-map` 中出现过了,如果我们想让 `browse-url-firefox` 对 _所有_ 的 URLs 可用,我们可以将其加入到 `embark-url-map` (谨记,embark 的键映射只是 Emacs 的键映射)。这是另一种扩展 embark 的简便方法。
|
||||
|
||||
*(题图:MJ:emacs video geek wallpaper dark plain background Illustration)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://jao.io/blog/an-even-better-video-wharf.html
|
||||
|
||||
作者:[jao][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[Drwhooooo](https://github.com/Drwhooooo)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://jao.io
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://jao.io/blog/2021-01-09-embarking-videos.html
|
||||
[2]: https://github.com/oantolin/embark
|
||||
[3]: tmp.VUqMT3Yft2#fn.1
|
||||
[4]: tmp.VUqMT3Yft2#fn.2
|
||||
[5]: tmp.VUqMT3Yft2#fnr.1
|
||||
[6]: tmp.VUqMT3Yft2#fnr.2
|
||||
[7]: https://jao.io/blog/tags.html
|
||||
[8]: https://jao.io/blog/tag-emacs.html
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/11/150233vzkt1tute4i4oemg.jpg
|
132
published/202304/20210625 How to program in C on FreeDOS.md
Normal file
132
published/202304/20210625 How to program in C on FreeDOS.md
Normal file
@ -0,0 +1,132 @@
|
||||
[#]: subject: (How to program in C on FreeDOS)
|
||||
[#]: via: (https://opensource.com/article/21/6/program-c-freedos)
|
||||
[#]: author: (Jim Hall https://opensource.com/users/jim-hall)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (robsean)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-15739-1.html)
|
||||
|
||||
在 FreeDOS 上,如何使用 C 语言编程
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 在 FreeDOS 上使用 C 语言编程与在 Linux 上使用 C 语言编程非常类似。
|
||||
|
||||
当我第一次开始使用 DOS 时,我喜欢 DOS 自带的 BASIC 来编写游戏和其它一些有趣的程序。很长时间后,我才学习 C 编程语言。
|
||||
|
||||
我马上爱上了使用 C 语言做开发!它是一种简单易懂的编程语言,在编写有用的程序时,这给予我很大的灵活性。实际上,很多 FreeDOS 的核心实用程序都是使用 C 语言和汇编语言编写的。
|
||||
|
||||
因此,FreeDOS 的 1.3 RC4 包含一个 C 语言可能并不出人意料,此外还有其它编程语言的编译器。FreeDOS 的 1.3 RC4 LiveCD 包含两个 C 编译器:Bruce's C 编译器(一个简单的 C 编译器)和 OpenWatcom C 编译器 。在 Bonus CD 上,你也可以找到 DJGPP(一款基于 GNU 的 GCC 的 32 位 C 编译器)和 GCC 的 IA-16 移植(需要 386 或更好的 CPU 来编译,但是,生成的程序可以在低端系统上运行)。
|
||||
|
||||
在 FreeDOS 上使用 C 语言编程与在 Linux 上使用 C 语言编程非常类似,但是有两个例外:
|
||||
|
||||
1. **你需要知道你使用了多少内存。** Linux 允许程序使用很多内存,但是 FreeDOS 有很多限制。DOS 程序只使用四种 [内存模式][2](大、中、紧凑和小)中的其中一种,具体取决于它们需要多少内存。
|
||||
2. **你可以直接访问控制台终端。** 在 Linux 上,你可以创建 _文本模式_ 的程序,使用一个诸如 ncurses 之类的库来绘制终端屏幕。但是,DOS 允许程序访问控制台终端和视频硬件。这为编写更有趣的程序提供了极大的灵活性。
|
||||
|
||||
我喜欢在 GCC 的 IA-16 移植或 OpenWatcom 中编写我的 C 程序,具体取决于我正在编写的是哪种程序。OpenWatcom C 编译器更容易安装,因为它只是个单一的软件包。这就是为什么我们在 FreeDOS 的 LiveCD 中提供 OpenWatcom 的原因, 在你安装 FreeDOS 的 1.3 RC4 时,如果你选择 “<ruby>完全的安装(包括安装应用程序和游戏)<rt>Full installation including applications and games</rt></ruby>”,那么你也自动地安装 OpenWatcom。如果你选择安装 “<ruby>纯 DOS 系统<rt>Plain DOS system</rt></ruby>”,那么,你将需要使用 FDIMPLES 软件包管理器来安装 OpenWatcom C 编译器。
|
||||
|
||||
![安装 OpenWatcom][3]
|
||||
|
||||
*在 FreeDOS 1.3 RC4 上安装 OpenWatcom*
|
||||
|
||||
### 在 DOS 上使用 C 语言编程
|
||||
|
||||
你可以在 [OpenWatcom 项目网站][5] 找到文档和库指南,以学习 OpenWatcom C 编译器所提供的独特的关于 DOS 的 C 语言编程库。简单描述几个最有用的函数:
|
||||
|
||||
来自 `conio.h` 头文件:
|
||||
|
||||
* `int getch(void)`:从键盘上获取一个按下的单个按键
|
||||
* `int getche(void)`:从键盘上获取一个按下的单个按键,并回显该按键
|
||||
|
||||
来自 `graph.h` 头文件:
|
||||
|
||||
* `_settextcolor(short color)`:设置打印文本时的颜色
|
||||
* `_setbkcolor(short color)`:设置打印文本时的背景颜色
|
||||
* `_settextposition(short y, short x)`:移动光标到行 `y` 和 列 `x`
|
||||
* `_outtext(char _FAR *string)`:从当前光标位置开始,直接将一串字符打印到屏幕
|
||||
|
||||
DOS 只支持 [16 种文本颜色][6] 和 8 种背景颜色。你可以使用值 0(黑色)到 15(亮白色)来具体指定文本颜色,以及使用值 0(黑色)到 7(白色)来具体指定背景颜色:
|
||||
|
||||
* `0`:黑色
|
||||
* `1`:蓝色
|
||||
* `2`:绿色
|
||||
* `3`:品蓝色
|
||||
* `4`:红色
|
||||
* `5`:品红色
|
||||
* `6`:棕色
|
||||
* `7`:白色
|
||||
* `8`:亮黑色
|
||||
* `9`:亮蓝色
|
||||
* `10`:亮绿色
|
||||
* `11`:亮品蓝色
|
||||
* `12`:亮红色
|
||||
* `13`:亮品红色
|
||||
* `14`:黄色
|
||||
* `15`:亮白色
|
||||
|
||||
### 一个花哨的 “Hello world” 程序
|
||||
|
||||
很多新开发者学习编写的第一个程序是为用户打印 “Hello world” 。我们可以使用 DOS 的 `conio` 和 `graphics` 库来制作一个更有趣的程序,并使用彩虹般的颜色打印 “Hello world” 。
|
||||
|
||||
在这个实例中,我们将遍历每种文本颜色,从 0(黑色)到 15(亮白色)。随着我们打印每一行,我们都将为下一行缩进一个空格。在我们完成后,我们将等待用户按下任意按键,然后,我们将重置屏幕并退出。
|
||||
|
||||
你可以使用任何文本编辑器来编写你的 C 源文件代码。我喜欢使用一些与众不同的编辑器,如 [FreeDOS Edit][7] 和 [Freemacs][8],但是,我最近一直在使用 [FED editor][9] ,因为它提供 _语法高亮_ 功能,使其很容易在我的程序源文件代码中看到关键字、字符串(LCCT 译注:C 语言中没有字符串)、变量。
|
||||
|
||||
![编写一个简单的 C 程序][10]
|
||||
|
||||
*使用 C 语言编写一个简单的测试程序*
|
||||
|
||||
在你使用 OpenWatcom 编译前,你将需要设置 DOS 的 [环境变量][11],以便 OpenWatcom 可以找到它的支持文件。OpenWatcom C 编译器软件包中包含了一个为你做这件事的设置 [批处理文件][12]:`\DEVEL\OW\OWSETENV.BAT`。运行这个批处理文件可以自动为你的 OpenWatcom 设置环境变量。
|
||||
|
||||
在你的开发环境准备好后,你可以使用 OpenWatcom 编译器来编译这个 “Hello world” 程序。我已经将我的 C 源文件文件保存为 `TEST.C` ,因此,我可以输入 `WCL TEST.C` 来编译和连接该程序为一个名称为 `TEST.EXE` 的 DOS 可执行文件。在 OpenWatcom 的输出信息中,你将看到 `WCL` 实际上调用 OpenWatcom C 编译器(`WCC`)来编译,并调用 OpenWatcom 链接器(`WLINK`)来执行 <ruby>对象/目标<rt>object</rt></ruby> 链接阶段:
|
||||
|
||||
![使用 OpenWatcom 编译][13]
|
||||
|
||||
*使用 OpenWatcom 编译测试文件*
|
||||
|
||||
OpenWatcom 会打印一些无关的输出信息,这可能会使发现错误和警告变得困难。为了告诉编译器来抑制这些大量的额外信息,请在编译时使用 `/Q`(“Quiet”)选项:
|
||||
|
||||
![使用 OpenWatcom 编译][14]
|
||||
|
||||
在编译 C 源文件文件时,如果你没有看到任何错误信息,那么你现在就可以运行你的 DOS 程序了。这个 “Hello World” 示例的程序名称是 `TEST.EXE` 。在 DOS 命令行中输入 `TEST` 来运行新的程序,你应该会看到这个非常漂亮的输出:
|
||||
|
||||
![运行测试程序][15]
|
||||
|
||||
C 语言是一种非常高效的编程语言,在像 DOS 之类的资源有限的系统上进行编程也可以很好的工作。在 DOS 上,你可以使用 C 语言来做更多的事。如果你是 C 语言的初学者,那么,你可以跟随我们在 FreeDOS 网站上的 《[使用 C 语言编写 FreeDOS 程序][16]》 的自学电子书,以及在 [FreeDOS YouTube 频道][17] 上的配套的 <ruby>入门指南<rt>how-to</rt></ruby> 系列视频,来自主学习 C 语言。
|
||||
|
||||
|
||||
*(题图:MJ:Legacy sci-fi computer programming::1.7 celestial::1 edison bulb::1 satellite imagery::1 wooden::1 in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/6/program-c-freedos
|
||||
|
||||
作者:[Jim Hall][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/jim-hall
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_2.png?itok=JPlR5aCA (Woman sitting in front of her computer)
|
||||
[2]: https://devblogs.microsoft.com/oldnewthing/20200728-00/?p=104012
|
||||
[3]: https://opensource.com/sites/default/files/uploads/install-ow.png (Installing OpenWatcom on FreeDOS 1.3 RC4)
|
||||
[4]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[5]: http://openwatcom.org/
|
||||
[6]: https://opensource.com/article/21/6/freedos-sixteen-colors
|
||||
[7]: https://opensource.com/article/21/6/freedos-text-editor
|
||||
[8]: https://opensource.com/article/21/6/freemacs
|
||||
[9]: https://opensource.com/article/21/1/fed-editor
|
||||
[10]: https://opensource.com/sites/default/files/uploads/fed-test.png (Writing a simple test program in C)
|
||||
[11]: https://opensource.com/article/21/6/freedos-environment-variables
|
||||
[12]: https://opensource.com/article/21/6/automate-tasks-bat-files-freedos
|
||||
[13]: https://opensource.com/sites/default/files/uploads/wcl-test.png (Compiling the test program with OpenWatcom)
|
||||
[14]: https://opensource.com/sites/default/files/uploads/wcl-q-test.png (Use the /Q \("Quiet"\) option to make OpenWatcom print less output)
|
||||
[15]: https://opensource.com/sites/default/files/uploads/test.png (You can create beautiful programs in C)
|
||||
[16]: https://www.freedos.org/books/cprogramming/
|
||||
[17]: https://www.youtube.com/freedosproject
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/20/153041cl4dqmq46p63vl6l.jpg
|
@ -0,0 +1,104 @@
|
||||
[#]: subject: "5 open source alternatives to 微软 Exchange"
|
||||
[#]: via: "https://opensource.com/article/21/11/open-source-alternatives-微软-exchange"
|
||||
[#]: author: "Heike Jurzik https://opensource.com/users/hej"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15705-1.html"
|
||||
|
||||
可以替代微软 Exchange 的 5 个开源软件
|
||||
======
|
||||
|
||||
> 不再将就于微软 Exchange 这一专有软件,试一试这些基于 Linux 系统的电子邮件和群件服务吧。
|
||||
|
||||
![][0]
|
||||
|
||||
几十年来,微软 Exchange 一直统治着电子邮件和群件服务市场。作为领头羊,它主宰着企业界,无处不在的 Outlook 邮件客户端已成为群件的事实标准。由于 Exchange 与微软的 Office 产品紧密联系,无论是桌面客户端还是移动客户端,微软用户都可以轻松使用各种生产力软件和功能。
|
||||
|
||||
然而,许多公司对于将数据存储在微软的云中也心存疑虑。在本文中,我将介绍一些开源替代产品及其优势。这不仅与如何不再受供应商控制和降低成本有关,更关乎使用具有开放标准和不同安全级别的软件 —— 用于组件服务器本身及其背后的操作系统。
|
||||
|
||||
本文中介绍的这五个替代产品都是基于 Linux 的。 虽然 grommunio、Kopano、Nextcloud、ownCloud 和 OX App Suite 在功能上差异很大,吸引到的企业类型各不相同,但它们都提供免费版本,并可选择购买付费支持服务和附加组件。所有产品都可以在本地或云端运行。最重要的是,所有供应商都为其软件提供 SaaS(<ruby>软件即服务<rt>Software as a Service</rt></ruby>)解决方案。
|
||||
|
||||
### grommunio
|
||||
|
||||
[grommunio][2],以前被称为 grammm,在 AGPLv3 许可下发布的。它由奥地利同名公司开发和支持。与 Exchange 不同,grommunio 提供符合标准的邮件服务器,以及功能齐全的群件解决方案,具有电子邮件、联系人、日历、任务、文件共享等功能。grommunio 适用于各种开源和专有邮件客户端,如 Windows Mail、Outlook、Android、Apple Mail/iOS、Thunderbird 等,并支持旧的 RPC over HTTP 协议和 Outlook 标准协议 MAPI over HTTP。除此之外还包含:用于移动设备的 Exchange ActiveSync 和各种标准协议,如 CalDAV(日历)、CardDAV(地址簿)、IMAP、POP3、SMTP 和 LDAP,以及活动目录(用于同步用户帐户)。
|
||||
|
||||
外部对接的开源应用程序还提供了一些微软的 API 或协议不支持的功能。例如,开发人员合并了 [Jitsi][3](视频和音频电话软件)、[Mattermost][4](聊天软件)以及文件共享和同步([ownCloud][5])。除此之外,grommunio 还配备了基本的移动设备管理软件(MDM)。
|
||||
|
||||
grommunio 的设计面向各种不同的用户,并且与 Exchange 一样,它支持数据库分片(数据库在多个主机之间的水平分布)。灵活的存储后端允许管理员通过添加其他服务器或云帐户来扩展他们的设置。grommunio 仅将 MySQL 数据库用于元数据,而所有“内容”(例如邮件和群件对象)都存储在每个用户的 SQLite 数据库中。有关底层架构的更多信息,请查看 [该制造商的网站][6]。
|
||||
|
||||
其社区版是免费的,其中包括所有的 grommunio 功能并支持多达五个用户帐户。
|
||||
|
||||
### Kopano
|
||||
|
||||
来自德国和荷兰的软件制造商 Kopano 出品的 [Kopano][7],也采用 AGPLv3 许可,基于 Zarafa 软件堆栈。与其前身不同,Kopano 的目标不只是成为 Exchange 的替代品。相反,它提供一个完整的群件解决方案,除了电子邮件、联系人、日历、任务、笔记和文档编辑这些标准功能外,它还包括实时通信。Kopano 可以与 [许多其他平台][8]、应用程序和服务交互,其中一些通过插件就能轻松实现。对于视频会议,Kopano 团队基于 WebRTC 开发了自己的开源解决方案:Kopano Meet 提供端到端加密,在 Windows、macOS、Linux、Android 和 iOS 客户端都适用。
|
||||
|
||||
Outlook 客户端通过 ActiveSync(Z-Push 库)或 [Kopano OL Extension][9](KOE)来同步移动数据,KOE 是已经包含了 ActiveSync 的加强版。Kopano 提供本机 Web 客户端(WebApp)、移动设备客户端(Mobility)以及支持 Windows、Linux 和 macOS 的桌面版本(DeskApp)。它可以通过 IMAP、CalDAV 和 CardDAV 连接其他客户端。所有直接连接到 Kopano 服务器的应用程序都使用 SOAP(<ruby>简单对象访问协议<rt>Simple Object Access Protocol</rt></ruby>)中的 MAPI。
|
||||
|
||||
Kopano Groupware 和 Kopano ONE(Kopano Groupware 的特别版)都提供免费的社区版本。 Kopano Meet 还可以作为应用程序或容器下载。
|
||||
|
||||
### Nextcloud
|
||||
|
||||
[Nextcloud][10] 在斯图加特和柏林(德国)都有办事处,采用 AGPLv3 许可。与 ownCloud 或 Dropbox 一样,用户可以通过桌面(Windows、Linux 和 macOS)、网络浏览器或本地应用程序(Android 和 iOS)访问该软件套件。从 18 版本开始,Nextcloud 除了拥有 Nextcloud Files(文件同步和共享)还包括了 Nextcloud Talk(通话、聊天和网络会议)和 Nextcloud Groupware(日历、联系人和邮件),并更名为 Nextcloud Hub。
|
||||
|
||||
用户和群组管理通过 OpenID 或 LDAP 进行。Nextcloud 支持各种存储后端,例如 FTP、S3 和 Dropbox。Nextcloud 可与多种数据库管理系统配合使用,包括 PostgreSQL、MariaDB、SQLite 和 Oracle 数据库。管理员可以通过 [Nextcloud 应用程序商店][11] 中的 200 多个应用程序扩展功能,其中包括实时通信、音频和视频聊天、任务管理、邮件等等。
|
||||
|
||||
Nextcloud 是完全免费的。最重要的是,该公司提供了 Nextcloud Enterprise 版本(针对企业部署进行了预配置、优化和强化)
|
||||
|
||||
### ownCloud
|
||||
|
||||
[ownCloud][12] 是由位于德国纽伦堡的 ownCloud GmbH 公司开发和维护的具有文件同步、共享和内容协作功能的软件。它的客户端-服务器软件的核心和许多社区应用程序都是在 AGPLv3 下发布的。一些扩展功能的企业应用程序以 ownCloud 商业许可证(OCL)的形式授权。
|
||||
|
||||
ownCloud 主要是一款内容协作软件,包括在线办公文档编辑、日历、联系人同步等功能。移动客户端支持 Android 和 iOS,桌面应用可以和 Windows、macOS 和 Linux 的原生文件管理器结合使用。它允许访问 Web 界面,无需安装专用客户端软件。ownCloud 支持 WebDAV、CalDAV 和 CardDAV 协议。LDAP 协议也包含其中,但 ownCloud 也可以连接到支持 OpenID Connect 身份验证标准的其他身份提供者。
|
||||
|
||||
ownCloud 可以整合微软 Office Online Server、Office 365 和微软 Teams,同时为微软 Outlook 和 eM 客户端提供可用插件。如有必要,外部存储功能可连接到不同的存储提供商,例如 Amazon S3、Dropbox、微软 SharePoint、Google Drive、Windows 网络驱动器(SMB)和 FTP。该供应商还为企业客户提供额外的功能,如端到端加密、勒索软件和防病毒保护等(请参阅 [完整功能列表][13])。
|
||||
|
||||
社区版免费且 100% 开源。
|
||||
|
||||
### OX App Suite
|
||||
|
||||
[Open-Xchange][14] 成立于 2005 年,总部位于德国奥尔佩和纽伦堡。今天,OX 在多个欧洲国家、美国和日本设有办事处。[OX App Suite][15] 是一个模块化的电子邮件、通信和协作平台,主要为电信公司、托管公司和其他提供基于云的服务的提供商而设计。
|
||||
|
||||
OX 后端在 GPLv2 协议下发布,前端(UI)在 AGPLv3 下发布。用户可以通过他们喜欢的浏览器(完全个性化的门户)或移动应用程序(Android 和 iOS)访问应用程序套件。或者,原生客户端(移动设备和台式机)也可用于 OX Mail 和 OX Drive。得益于 CardDAV 和 CalDAV 扩展、Exchange Active Sync 和适用于 Android 的 OX Sync App,联系人、日历和任务得以同步。
|
||||
|
||||
OX App Suite 包含用于电子邮件、联系人、日历和任务的应用程序。 还有其他工具和扩展可用,其中一些是开源的,一些功能则要付费,包括 OX Documents(文本文档、电子表格、演示文稿)、OX Drive(管理、共享和同步文件)、OX Guard(电子邮件和文件加密)等等。如需完整列表,请访问 OX 网站的 [一般条款和条件][16]。
|
||||
|
||||
该应用免费提供有限功能的社区版。
|
||||
|
||||
### 开源电子邮件和群件
|
||||
|
||||
电子邮件和群件服务并不是必须花(很多)钱才可获得,当然也没有必要满足于在别人的服务器上托管的专有解决方案。如果你不太热衷于管理职责,那么上述的这五个 Exchange 开源替代品都可以作为 SaaS 解决方案使用。另外,所有供应商都提供专业技术支持,你可以在本地运行软件,一切尽在你的掌握中,但你却不会感觉自己孤军无援。
|
||||
|
||||
(题图由 MJ 生成:Mail Cooperation Groupware Office Open Source hyper realistic, hyper detailed, intricate detail, beautiful lighting, very detailed,Illustration)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/11/open-source-alternatives-微软-exchange
|
||||
|
||||
作者:[Heike Jurzik][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/hej
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=6YtME4Hj (Working on a team, busy worklife)
|
||||
[2]: https://grommunio.com/
|
||||
[3]: https://opensource.com/article/20/5/open-source-video-conferencing
|
||||
[4]: https://opensource.com/article/20/7/mattermost
|
||||
[5]: https://opensource.com/article/21/7/owncloud-windows-files
|
||||
[6]: https://grommunio.com/features/architecture/
|
||||
[7]: https://kopano.com/
|
||||
[8]: https://kopano.com/products/interoperability/
|
||||
[9]: https://kb.kopano.io/display/WIKI/Setting+up+the+Kopano+OL+Extension
|
||||
[10]: https://nextcloud.com/
|
||||
[11]: https://apps.nextcloud.com/
|
||||
[12]: https://owncloud.com/
|
||||
[13]: https://owncloud.com/features/
|
||||
[14]: https://www.open-xchange.com/
|
||||
[15]: https://www.open-xchange.com/products/ox-app-suite/
|
||||
[16]: https://www.open-xchange.com/terms-and-conditions/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/09/114919i7cu0zwk4e663x0c.jpg
|
@ -0,0 +1,117 @@
|
||||
[#]: subject: "‘Speek!’ : An Open-Source Chat App That Uses Tor"
|
||||
[#]: via: "https://itsfoss.com/speek/"
|
||||
[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15724-1.html"
|
||||
|
||||
Speek!:一个使用 Tor 的开源聊天应用程序
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 一个有趣的、开源的私人通讯软件,它利用 Tor 来保证你的通信安全和私密。
|
||||
|
||||
Speek 是一种网络通讯服务,它利用多种技术保证网络聊天的私密性。
|
||||
|
||||
它是端到端加密的、去中心化和开源的。
|
||||
|
||||
毫无疑问,它的目标是将自己定位为 [WhatsApp 的替代品][1] 之一和 [Linux 上的 Signal][2] 的竞争对手。
|
||||
|
||||
那么,它到底如何呢? 让我们一起来仔细看看细节。
|
||||
|
||||
### Speek! 适用于 Linux 和安卓的点对点即时消息应用程序
|
||||
|
||||
(LCTT 译注: <ruby>点对点<rt>Peer-to-Peer</rt></ruby>,又称对等式网络,是无中心服务器、依靠 <ruby>对等点<rt>peer</rt></ruby> 交换信息的互联网络体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。)
|
||||
|
||||
![Speek! 截图][3]
|
||||
|
||||
Speek!(名称中带有感叹号)是一种加密的聊天软件,旨在抗审查,同时保护数据隐私。
|
||||
|
||||
你也可以认为它是 [Session][4] 的替代品,但有一些区别。
|
||||
|
||||
与其他可用的通讯软件相比,它是一个相当新的竞争对手。但是如果你想尝试开源的解决方案,它应该作为候选者。
|
||||
|
||||
虽然 Speek! 声称能保持匿名,但如果你需要的是完全匿名的话,你应该始终注意自己在设备上的活动。因为你需要考虑的不仅仅是即时通讯软件。
|
||||
|
||||
![Speek! id][5]
|
||||
|
||||
Speek! 利用去中心化的 Tor 网络来保证安全性和私密性。不仅如此,这样做可以让你无需电话号码就能使用服务。你只需要你的 Speek ID 就可以与人联系,而别人很难知道你的 ID。
|
||||
|
||||
(LCTT 译注:Tor 是一个可以实现匿名通信的自由软件。其名源于 <ruby>洋葱路由器<rt>The Onion Router</rt></ruby> 的英文缩写。)
|
||||
|
||||
### Speek! 的亮点
|
||||
|
||||
![Speek! 选项][6]
|
||||
|
||||
Speek! 的一些主要亮点包括:
|
||||
|
||||
* 端到端加密:除收件人外,没有人可以查看你的消息。
|
||||
* 通过 TOR 路由流量:使用 TOR 路由消息,增强隐私。
|
||||
* 没有中央服务器:增加了对审查的抵抗力,因为很难关闭服务。此外,没有针对黑客的单一攻击点。
|
||||
* 无需注册:无需共享任何个人信息即可开始使用该服务。你只需要一个公钥来识别/添加用户。
|
||||
* 自毁聊天:当你关闭应用程序时,消息会自动删除。增添了额外的隐私和安全性。
|
||||
* 无元数据:它会在你交换消息时消除任何元数据。
|
||||
* 私人文件共享:你还可以使用该服务安全地共享文件。
|
||||
|
||||
### 下载适用于 Linux 和其他平台的 Speek!
|
||||
|
||||
你可以从他们的 [官方网站][7] 下载 Speek!。
|
||||
|
||||
在撰写本文时,Speek! 仅适用于 Linux、安卓、macOS 和 Windows。
|
||||
|
||||
对于 Linux,你会找到一个 [AppImage][8] 文件。如果你不知道 AppImage,可以参考我们的 [AppImage 指南][9] 来运行该应用程序。
|
||||
|
||||
![安卓系统上的 Speek!][10]
|
||||
|
||||
另外,[Google Play 商店][11] 上的安卓应用程序还比较早期。因此,你在尝试使用它时可以期待一下它的改进。
|
||||
|
||||
[Speek!][12]
|
||||
|
||||
### 关于 Speek! 的用户体验
|
||||
|
||||
![Speek! 截图][13]
|
||||
|
||||
这个应用的用户体验非常令人满意,包含了所有必备的功能。它可以更好,但已经很不错了。
|
||||
|
||||
嗯,关于 Speek! 的 GUI 没什么好说的。GUI 非常极简风。它的核心是一个聊天应用程序,而它做得恰如其分。没有动态,没有附近的人,没有不必要的附加组件。
|
||||
|
||||
在我使用这个应用程序的有限时间里,我很满意它的功能。它提供的功能使其成为一款出色的聊天应用程序,可通过其背后的所有技术提供安全和私密的消息传递体验。
|
||||
|
||||
如果将它与一些商业上更成功的聊天软件进行比较,它在功能上存在不足。但话又说回来,Speek! 的设计就不是一个只关注用户体验的时尚聊天应用。
|
||||
|
||||
因此,我只向注重隐私的用户推荐 Speek!。如果你想要平衡用户体验和功能,你可能希望继续使用像 Signal 这样的私人聊天软件。
|
||||
|
||||
你对于 Speek 又有什么看法?对于注重隐私的用户来说,它是一个很好的私人聊天软件吗? 请在下方评论区告诉我你的想法。
|
||||
|
||||
*(题图:MJ:A girl looks at her phone while two cats are peeking at her phone next to her.)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/speek/
|
||||
|
||||
作者:[Pratham Patel][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[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/lkxed
|
||||
[1]: https://itsfoss.com/private-whatsapp-alternatives/
|
||||
[2]: https://itsfoss.com/install-signal-ubuntu/
|
||||
[3]: https://itsfoss.com/content/images/wordpress/2022/05/01_speek_gui-1-800x532.webp
|
||||
[4]: https://itsfoss.com/session-messenger/
|
||||
[5]: https://itsfoss.com/content/images/wordpress/2022/05/speek-id-800x497.png
|
||||
[6]: https://itsfoss.com/content/images/wordpress/2022/05/speek-options-800x483.png
|
||||
[7]: https://speek.network
|
||||
[8]: https://itsfoss.com/appimage-interview/
|
||||
[9]: https://itsfoss.com/use-appimage-linux/
|
||||
[10]: https://itsfoss.com/content/images/wordpress/2022/05/speek-android.jpg
|
||||
[11]: https://play.google.com/store/apps/details?id=com.speek.chat
|
||||
[12]: https://speek.network/
|
||||
[13]: https://itsfoss.com/content/images/wordpress/2022/05/01_speek_gui-1-800x532.webp
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/15/162817st1ffhth0ov6sz6t.jpg
|
@ -0,0 +1,376 @@
|
||||
[#]: subject: "How To Create Multiboot USB Drives With Ventoy In Linux"
|
||||
[#]: via: "https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/"
|
||||
[#]: author: "sk https://ostechnix.com/author/sk/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15720-1.html"
|
||||
|
||||
如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
Ventoy 是一个自由开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。
|
||||
|
||||
你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO。
|
||||
|
||||
你甚至可以创建子文件夹,例如 Linux ISO、Windows ISO,并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目,并将它们添加到启动菜单中。
|
||||
|
||||
一旦你创建完多重引导的 U 盘,使用它启动你的系统,选择你想加载的 ISO,马上就可以使用它。就是如此简单!
|
||||
|
||||
### 功能
|
||||
|
||||
Ventoy 有很多有用的功能,如:
|
||||
|
||||
- 非常容易安装和使用。
|
||||
- 快速(仅受限于复制 ISO 文件的速度)。
|
||||
- 你不需要解压缩 ISO 文件。直接从 ISO 文件启动即可。
|
||||
- 可被安装在 U 盘/本地硬盘/SSD 盘/NVMe 盘/SD 卡中。
|
||||
- 它支持<ruby>传统<rt>Legacy</rt></ruby> BIOS、IA32 UEFI、x86_64 UEFI、ARM64 UEFI、MIPS64EL UEFI 等(LCTT 译注:这些英文缩写都是代表了不同的 CPU 架构。如 IA32 是指英特尔 32 位体系架构,x86_64 指基于 x86 架构的 64 位扩展架构,ARM64 则是 ARM 体系结构的 64 位扩展、MIPS64EL 是指 64 位小端序的 MIPS 架构)。
|
||||
- 支持 IA32/x86_64 UEFI 的安全启动。
|
||||
- 支持主分区使用 FAT32/exFAT/NTFS/UDF/XFS/Ext2/Ext3/Ext4 格式。默认使用 exFAT。
|
||||
- 支持在物理机中使用 Linux 发行版启动 vhd、vdi、raw 等格式的虚拟磁盘文件。
|
||||
- 持久化的存储支持。
|
||||
- 支持 MBR 和 GPT 两种分区格式都。默认使用 MBR。
|
||||
- 你可以用大于 4 GB 的 ISO 文件创建引导盘。
|
||||
- 几乎所有类型的操作系统都支持。开发者声称 Ventoy 已经测试过了超过 900 多个 ISO 文件。
|
||||
- 支持 Linux 自动安装。意味着你可以添加你的模板或脚本来进行无人值守的部署。例如,Redhat/CentOS 的 kickstart 脚本,SUSE 的 autoYast xml,Debian 的 preseed 脚本。把脚本或模板放在 U 盘里,让 ventoy 使用它进行无人值守安装。你也可以在任何时候更新这些脚本。不需要创建新的 ISO 文件,只要使用原来的 ISO 即可。
|
||||
- 支持 Windows 系统的自动安装。
|
||||
- 在启动期间对 USB 盘写保护。
|
||||
- 不影响 USB 启动盘的正常使用。这意味着你可以将 U 盘用于文件复制等其他用途。
|
||||
- 当有新的 Ventoy 版本时可供升级时,无须重新创建 USB 启动盘。在版本升级过程中,数据不会被破坏。
|
||||
- 当一个新的发行版发布时,不需要更新 Ventoy。
|
||||
- 将 ISO 文件复制/粘贴到 U 盘中,即可添加一个新的操作系统,没有必要从头开始。
|
||||
- 支持 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式。在某些机器上,可能无法加载 ISO。在这种情况下,你可以使用 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式。Ventoy 将把整个 ISO 文件加载到内存中,然后启动它。
|
||||
- 插件框架。
|
||||
- <ruby>传统<rt>Legacy</rt></ruby> 和 UEFI 的本地启动菜单风格。
|
||||
- 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
|
||||
- 支持主题和菜单风格的定制。
|
||||
- 跨平台。它支持 Linux、manOS 和 Windows 等操作系统。
|
||||
- 自由开源!
|
||||
|
||||
### 在 Linux 中用 Ventoy 创建多重启动的 U 盘
|
||||
|
||||
正如我之前提到的,Ventoy 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
|
||||
|
||||
#### 1. 使用 Ventoy 命令行创建多重启动的 U 盘
|
||||
|
||||
首先,你需要找到你的 U 盘名称。可以通过下面的指南,来了解在 Linux 中寻找磁盘驱动器细节的不同方法。
|
||||
|
||||
> **[如何在 Linux 中 寻找硬盘驱动器细节][1]**
|
||||
|
||||
我将使用 `fdisk` 命令来查找我的 U 盘的详细信息:
|
||||
|
||||
```
|
||||
$ sudo fdisk -l
|
||||
```
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
[...]
|
||||
Disk /dev/sdb: 14.54 GiB, 15597568000 bytes, 30464000 sectors
|
||||
Disk model: Cruzer Blade
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disklabel type: dos
|
||||
Disk identifier: 0x4d924612
|
||||
```
|
||||
|
||||
如你所见,我的 U 盘的名称是 `/dev/sdb`。
|
||||
|
||||
接下来,从 [发布页][2] 下载最新的 Ventoy 脚本。截至编写本指南时,最新版本是 `1.0.77`(LCTT 译注:截至翻译完成时,最新版本是 `1.0.91`)。
|
||||
|
||||
到你下载脚本的位置,解压它。我把它解压在一个名为 `ventoy` 的文件夹中。使用 `cd` 命令切换到 `ventoy` 目录中:
|
||||
|
||||
```
|
||||
$ cd ventoy
|
||||
```
|
||||
|
||||
现在,运行以下命令来创建多重启动的 U 盘:
|
||||
|
||||
```
|
||||
$ sudo sh Ventoy2Disk.sh -I /dev/sdb
|
||||
```
|
||||
|
||||
将 `/dev/sdb` 替换为你的 U 盘名称。
|
||||
|
||||
这里,大写的 `-I` 参数意味着将无视之前是否安装过 ventoy,**强制安装 ventoy** 到 `sdb`。当你使用小写的 `-i`,若此时磁盘已经安装了 ventoy ,它会安装失败。
|
||||
|
||||
要启用安全启动支持,使用 `-s` 参数。默认情况下,这个选项是关掉的。
|
||||
|
||||
```
|
||||
$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb
|
||||
```
|
||||
|
||||
你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称,并输入 `Y`,按回车键继续:
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
**********************************************
|
||||
Ventoy: 1.0.77 x86_64
|
||||
longpanda admin@ventoy.net
|
||||
https://www.ventoy.net
|
||||
**********************************************
|
||||
|
||||
Disk : /dev/sdb
|
||||
Model: SanDisk Cruzer Blade (scsi)
|
||||
Size : 14 GB
|
||||
Style: MBR
|
||||
|
||||
Attention:
|
||||
You will install Ventoy to /dev/sdb.
|
||||
All the data on the disk /dev/sdb will be lost!!!
|
||||
|
||||
Continue? (y/n) y
|
||||
|
||||
All the data on the disk /dev/sdb will be lost!!!
|
||||
Double-check. Continue? (y/n) y
|
||||
|
||||
Create partitions on /dev/sdb by parted in MBR style ...
|
||||
Done
|
||||
Wait for partitions ...
|
||||
partition exist OK
|
||||
create efi fat fs /dev/sdb2 ...
|
||||
mkfs.fat 4.2 (2021-01-31)
|
||||
success
|
||||
Wait for partitions ...
|
||||
/dev/sdb1 exist OK
|
||||
/dev/sdb2 exist OK
|
||||
partition exist OK
|
||||
Format partition 1 /dev/sdb1 ...
|
||||
mkexfatfs 1.3.0
|
||||
Creating... done.
|
||||
Flushing... done.
|
||||
File system created successfully.
|
||||
mkexfatfs success
|
||||
writing data to disk ...
|
||||
sync data ...
|
||||
esp partition processing ...
|
||||
|
||||
Install Ventoy to /dev/sdb successfully finished.
|
||||
```
|
||||
|
||||
![在 Linux 操作系统中用 Ventoy 创建多重引导的 U 盘][3]
|
||||
|
||||
几秒钟后,多重启动的 U 盘将被创建。
|
||||
|
||||
上述命令将创建两个分区。你可以用 `fdisk` 命令来验证它:
|
||||
|
||||
```
|
||||
$ sudo fdisk -l
|
||||
```
|
||||
|
||||
样例输出:
|
||||
|
||||
```
|
||||
[...]
|
||||
Disk /dev/sdb: 14.53 GiB, 15597568000 bytes, 30464000 sectors
|
||||
Disk model: Cruzer Blade
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disklabel type: dos
|
||||
Disk identifier: 0x436cedd0
|
||||
|
||||
Device Boot Start End Sectors Size Id Type
|
||||
/dev/sdb1 * 2048 30398463 30396416 14.5G 7 HPFS/NTFS/exFAT
|
||||
/dev/sdb2 30398464 30463999 65536 32M ef EFI (FAT-12/16/32)
|
||||
```
|
||||
|
||||
现在打开你的文件管理器,把 ISO 文件复制到第一个分区。不用担心你分不清楚哪个是第一个分区,你的文件管理器将只显示第一个分区。
|
||||
|
||||
![将 ISO 文件复制到用 Ventoy 创建的 USB 启动盘上][4]
|
||||
|
||||
你甚至可以为不同的 ISO 文件类型创建子文件夹。例如,你可以为存储 Linux ISO 文件创建一个子文件夹,为 BSD ISO 文件创建一个子文件夹,为 Windows ISO 文件创建一个子文件夹。
|
||||
|
||||
Ventoy 将扫描整个 U 盘,为所有可用的 ISO 文件创建菜单项,并自动将它们添加到 Ventoy 的主启动菜单中。
|
||||
|
||||
如果你喜欢用命令行方式复制 ISO 文件,请到你保存 ISO 文件的地方,用 `rsync` 程序从命令行复制所有 ISO 文件,如下所示:
|
||||
|
||||
```
|
||||
$ rsync *.iso /media/$USER/ventoy/ --progress -ah
|
||||
```
|
||||
|
||||
请注意,在某些 Linux 发行版中,U 盘可能被挂载在 `/run/media/` 位置。
|
||||
|
||||
大功告成!我们刚刚用 Ventoy 创建了多重引导的 U 盘。
|
||||
|
||||
用新制作的可引导 U 盘启动你的系统,你会对 Ventoy 的启动菜单感到满意:
|
||||
|
||||
![Ventoy 的多重启动菜单][5]
|
||||
|
||||
选择你想启动的操作系统,并按下回车键加载它!
|
||||
|
||||
下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示:
|
||||
|
||||
![][7]
|
||||
|
||||
很酷,不是吗?确实如此!
|
||||
|
||||
如果你想在 Oracle Virtualbox 中用 U 盘启动,请参考以下指南:
|
||||
|
||||
> **[如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统?][8]**
|
||||
|
||||
#### 2. 使用 Ventoy 图形化界面创建多重启动的 U 盘
|
||||
|
||||
最初,Ventoy 在 Linux 平台上没有任何图形化的用户界面。我们在 Linux 中只能使用Ventoy 的命令行模式创建 USB 启动盘。
|
||||
|
||||
幸运的是,Ventoy 从 1.0.36 版开始提供基于网页的图形用户界面,从 1.0.52 版开始提供本地化图形用户界面(使用 GTK/QT)。
|
||||
|
||||
相信我,Ventoy 的图形化用户界面使用起来非常简单!它的界面非常小巧,但它拥有我们所需要的一切,只需点击几下鼠标就能创建一个单一的或多重引导的启动盘。
|
||||
|
||||
打开你的终端,进入你下载最新 Ventoy 程序的位置。
|
||||
|
||||
```
|
||||
$ cd Downloads/ventoy-1.0.77/
|
||||
```
|
||||
|
||||
运行适配的 Ventoy 图形化用户界面可执行文件,这取决于发行版的架构。
|
||||
|
||||
- VentoyGUI.i386 - 32 位的 X86 架构的操作系统适用
|
||||
* VentoyGUI.x86_64 - 64 位的 X86 架构的操作系统适用
|
||||
* VentoyGUI.aarch64 - ARM64 架构的操作系统适用
|
||||
* VentoyGUI.mips64el - 龙芯 3A MIPS 架构的操作系统适用
|
||||
|
||||
我使用的是 Debian 11 X86 64 位系统,所以我运行以下命令:
|
||||
|
||||
```
|
||||
$ ./VentoyGUI.x86_64
|
||||
```
|
||||
|
||||
这就是 Ventoy 图形用户界面的样子。
|
||||
|
||||
![Ventoy 图形用户界面][9]
|
||||
|
||||
Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选择的是否真的是你想格式化的 U 盘。
|
||||
|
||||
![使用 Ventoy 图形用户界面创建多重启动的 U 盘][10]
|
||||
|
||||
你将被提示确认该过程。点击 “OK” 继续。
|
||||
|
||||
##### Ventoy 选项和语言
|
||||
|
||||
从菜单栏中点击<ruby>选项<rt>Option</rt><ruby>按钮。
|
||||
|
||||
![Ventoy 选项][11]
|
||||
|
||||
从 <ruby>选项<rt>Option</rt><ruby> 下拉按钮,你可以做以下事情:
|
||||
|
||||
- <ruby>安全启动支持<rt>Secure Boot Support</rt></ruby> - 勾选/取消勾选以启用或禁用安全启动。默认情况下,它处于选中状态以示启用。
|
||||
- <ruby>分区格式<rt>Partition Style</rt></ruby> - 支持 MBR 和 GPT 分区格式。默认是 MBR。
|
||||
- <ruby>分区配置<rt>Partition Configuration</rt></ruby> - 在这里,你可以选择在磁盘的末端保留一些空闲空间。
|
||||
- <ruby>清除<rt>Clear</rt></ruby> Ventoy - 从你的磁盘中删除 Ventoy。
|
||||
- <ruby>显示所有设备<rt>Show All Devices</rt></ruby> - 如果你想显示包括你的本地磁盘在内的所有连接的设备,请选中这个选项。在选择这个选项时要特别小心。你可能会不小心选择你的一个本地磁盘并将其格式化。
|
||||
|
||||
<ruby>语言<rt>Language</rt></ruby> 按钮允许你选择你喜欢的语言。
|
||||
|
||||
##### 更新 Ventoy
|
||||
|
||||
每当有新的 Ventoy 版本发布时,没有必要重新创建可引导的 USB 启动盘。你可以安全地将Ventoy 更新到新版本,而不会丢失 U 盘中的任何现有数据。
|
||||
|
||||
要将已安装的 Ventoy 版本更新到最新的可用版本,请插入 U 盘并启动 Ventoy 图形化用户界面,如上所示。
|
||||
|
||||
在 Ventoy 图形化用户界面中, 点击 <ruby>更新<rt>Update</rt></ruby> 按钮。
|
||||
|
||||
![更新 Ventoy][12]
|
||||
|
||||
#### 3. 使用 Ventoy 基于 Web 的图形化用户界面创建多重启动的 USB 启动盘
|
||||
|
||||
Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全相同。有一天,我在我的Fedora Linux 桌面系统上试用了 Ventoy 基于 Web 的用户界面。我很惊讶我是多么喜欢Ventoy 图形用户界面的简洁。
|
||||
|
||||
要了解如何使用 Ventoy 图形用户界面创建可引导的 U 盘,请参考以下链接:
|
||||
|
||||
> **[在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘][13]**
|
||||
|
||||
### 将 ISO 镜像加载到 RAM 中
|
||||
|
||||
就像我之前提到的,ISO 镜像在某些机器上可能无法启动,特别是在传统的 BIOS 模式下。这就是 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式的用武之地。
|
||||
|
||||
当 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式被启用时,Ventoy 将把整个 ISO 镜像文件加载到内存中启动。
|
||||
|
||||
在选择操作系统之前按 `F1` 键,启用 <ruby>内存盘<rt>Memdisk</rt></ruby>模式(译者注:从 1.0.83 版本开始,进入该模式的快捷键从 `F1` 改成了 `Ctrl+D`)。当 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式启用时,你会在右上角看到通知。
|
||||
|
||||
![启用 Ventoy 的内存盘模式][14]
|
||||
|
||||
现在,ISO 将被加载到内存中:
|
||||
|
||||
![在 Ventoy 中加载 ISO 到内存][15]
|
||||
|
||||
请再次按 `F1` 键以切换回正常模式。
|
||||
|
||||
### 创建持久化的可引导 U 盘
|
||||
|
||||
我们现在知道了如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的 USB 启动盘来测试 Linux 发行版,而不必真的在硬盘上安装它们。
|
||||
|
||||
当你使用 <ruby>立付<rt>Live</rt></ruby> OS 时,你可以做各种事情,如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。
|
||||
|
||||
然而,一旦你重新启动系统,所有上述变化都将消失。如果你想让所有的改变在重启系统后仍然保留,你应该创建一个持久化的可引导的 U 盘。
|
||||
|
||||
Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习怎么做。
|
||||
|
||||
> **[在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘][16]**
|
||||
|
||||
### 总结
|
||||
|
||||
信不信由你,Ventoy 是我用过的在 Linux 中创建多重引导(持久或非持久)的 USB 闪存盘工具中最简单、最快速、最巧妙的之一。
|
||||
|
||||
它真的做到了开箱即用!试一下吧,你不会失望的!
|
||||
|
||||
### 与 Ventoy 有关的安全问题
|
||||
|
||||
Ventoy 网站、论坛和该网站上的一些文件被一些杀毒软件标记为恶意软件或木马。请查看这些发布在该项目 GitHub 页面中的议题:
|
||||
|
||||
- [https://github.com/ventoy/Ventoy/issues/22][17]
|
||||
- [https://github.com/ventoy/Ventoy/issues/83][18]
|
||||
- [https://github.com/ventoy/Ventoy/issues/31][19]
|
||||
|
||||
然而,Manjaro 打包者 Linux Aarhus 在代码审查后认为:没有合理的理由怀疑这个应用程序的安全性。
|
||||
|
||||
他声称 “**没有混淆的代码**”。所以,我觉得 Ventoy 是可以**安全**使用的。
|
||||
|
||||
### 资源
|
||||
|
||||
* [Ventoy 官网][20]
|
||||
* [Ventoy GitHub 仓库][21]
|
||||
|
||||
*(题图: MJ: USB disk bootload computer sci-fi future in sky stars)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/
|
||||
|
||||
作者:[sk][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://ostechnix.com/author/sk/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://ostechnix.com/how-to-find-hard-disk-drive-details-in-linux/
|
||||
[2]: https://github.com/ventoy/Ventoy/releases
|
||||
[3]: https://ostechnix.com/wp-content/uploads/2022/07/Create-Multiboot-USB-Drives-With-Ventoy-In-Linux.png
|
||||
[4]: https://ostechnix.com/wp-content/uploads/2020/05/Copy-ISO-files-to-USB-bootable-drive.png
|
||||
[5]: https://ostechnix.com/wp-content/uploads/2020/05/Ventoy-multiboot-menu.png
|
||||
[6]: https://youtu.be/VFr1mAikeJU
|
||||
[8]: https://ostechnix.com/how-to-boot-from-usb-drive-in-virtualbox-in-linux/
|
||||
[9]: https://ostechnix.com/wp-content/uploads/2022/07/Ventoy-GUI.png
|
||||
[10]: https://ostechnix.com/wp-content/uploads/2022/07/Create-Multiboot-USB-Drives-Using-Ventoy-GUI.png
|
||||
[11]: https://ostechnix.com/wp-content/uploads/2022/07/Ventoy-Options.png
|
||||
[12]: https://ostechnix.com/wp-content/uploads/2022/07/Update-Ventoy.png
|
||||
[13]: https://ostechnix.com/create-bootable-usb-drive-with-ventoy-webui-in-linux/
|
||||
[14]: https://ostechnix.com/wp-content/uploads/2020/05/Enable-Memdisk-mode-in-Ventoy.png
|
||||
[15]: https://ostechnix.com/wp-content/uploads/2020/05/Load-ISO-to-memory-in-Ventoy.png
|
||||
[16]: https://ostechnix.com/create-persistent-bootable-usb-using-ventoy-in-linux/
|
||||
[17]: https://github.com/ventoy/Ventoy/issues/22
|
||||
[18]: https://github.com/ventoy/Ventoy/issues/83
|
||||
[19]: https://github.com/ventoy/Ventoy/issues/31
|
||||
[20]: https://www.ventoy.net/en/index.html
|
||||
[21]: https://github.com/ventoy/Ventoy
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/14/091200ff7k7784a817zvl7.jpg
|
@ -0,0 +1,91 @@
|
||||
[#]: subject: "Open Source Software: Is There an Easy Path to Success?"
|
||||
[#]: via: "https://www.opensourceforu.com/2022/07/open-source-software-is-there-an-easy-path-to-success/"
|
||||
[#]: author: "Jules Graybill https://www.opensourceforu.com/author/jules-graybill/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "CanYellow"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15702-1.html"
|
||||
|
||||
开源软件:存在成功的捷径吗?
|
||||
======
|
||||
|
||||
> 开发开源软件背后的工作是相当庞大的。那么我们如何保证开源项目的成功呢?存在捷径吗?本文认为是没有的。
|
||||
|
||||
![][0]
|
||||
|
||||
今天,开源已经风靡世界。很多大型企业在快速成功的诱惑下被推向开源。但真实情况是世界上并不存在成功的捷径。你无法做到通过一次努力就能让所有的开源项目正常运行。
|
||||
|
||||
事实上,上述公司早期遇到的许多挑战都不是技术上的,而是人员与文化上的。
|
||||
|
||||
开发一个能够在市场上获得成功的开源项目需要在开源的许多层面上下功夫。而维持这样的成功是一个持续的过程。所有这一切的关键在于找到以下这个非常基本的问题的正确答案:开源究竟是什么。
|
||||
|
||||
### 开源是代码
|
||||
|
||||
对于很多新用户而言,他们可能并不完全了解开源的不同层面,答案相当简单:开源就是软件!这当然没有错,毕竟我们多数人就是这样使用它的。不过,相比仅仅被视作软件而言,开源远不止这些。
|
||||
|
||||
任何开源项目的实质仍然是代码本身。代码是使一个开源项目有别于其他项目,并使其对用户有益的根本。当你从事开源工作的时候,代码和软件一样都是产品的一部分。
|
||||
|
||||
从零开始开发一个开源项目或者 <ruby>复刻<rt>fork</rt></ruby> 一个现有项目,即便是在面对一个庞大而复杂的代码库时,也需要编写成千上万行代码。尤其是在创建一个现有项目的复刻的情况下,在移除任何在先的许可证、宣传材料或者其他任何可能已经失去作用的文件时必须小心翼翼(LCTT 校注:部分开源项目不允许你改变其原有的许可证)。终究是一个项目的功能吸引了它的用户群并维持项目的持续发展。当最终用户在考虑是否使用开源软件的时候,他们会阅读项目的源代码,而他们在其中所看到的应当是那些能够建立他们的信心的内容。
|
||||
|
||||
### 开源是社区
|
||||
|
||||
如何参与到社区中也是产品构建的一部分。创建一个社区并维护一个健康的社区关系是开源的核心之一,但对于大部分的领导者而言也往往是最坚难的任务,很少有人能很好地维护它。你可以尝试建立基金会或者提供赞助,但是最终还是由人们自行决定是否想要加入社区。
|
||||
|
||||
重要的是与社区保持一定程度的透明度,并不断保持。社区成员可以在它想要的任何阶段参与进来。除了需要进行的工作之外,诸如安全设置、签发证书、注册商标等,尽可能多的将你所做的工作展示给社区是相当重要的,这有助于取得社区信任。归根到底,你需要对社区负责,你的项目成也社区,败也社区。这可能会导致你的项目开发更谨慎、更缓慢并且向社区公开,不过项目最终会进展顺利。
|
||||
|
||||
如此地公开你正在进行的工作似乎有些令人生怯,尤其是当你担心更新推迟或者是出现漏洞的影响的时候。不过,让社区成员知悉你的进展,不仅有助帮助你建立与社区之间的信任关系,而且能够让社区成员感到被认可。
|
||||
|
||||
另一方面,公开你的工作流也可以获得来自社区成员的监督,他们经常有自己的见解并向你反馈。记录这些反馈是很重要的,这使得你的开源项目如实地反映社区需求。他们是项目的最终用户,而他们的反馈则反映了他们如何看待你的项目的长期发展,以及你的项目最终将有多么成功或者主流。
|
||||
|
||||
举例而言,当我们在考虑一个新功能的时候,我们在 <ruby>征求意见文档<rt>Request for Comments</rt></ruby>(RFC)中发布一个征集意见的请求,我们会收到大量的反馈,我们必须认真思考应当如何吸收这些反馈。
|
||||
|
||||
因为开源是一个大型的合作项目,社区对支持开源项目的主动支持,使项目成为了最好的项目。并非所有的问题都要解决,但只要你有在倾听社区的呼声,社区就会有参与感。
|
||||
|
||||
参与到社区中也存在一些隐患。社区内部、项目维护与社区之间均可能存在不同意见,尤其是在涉及治理的问题上。治理对于一个开源项目来说是相当重要的。这也就是为什么拥有一份清晰的文档化的治理条例对于项目以及社区均是如此重要。
|
||||
|
||||
社区治理是一个关键的而又难啃的骨头。社区授权本身需要相当大的信任。对于一个拥有成千上万行代码的项目,在社区中寻找能够有效领导社区的人物是不容易的。不过开源项目经常是由更小的子项目组成的,这些子项目最好由社区中的某个人进行管理。这有助于社区更紧密地参与到项目中。
|
||||
|
||||
建立社区的过程不是一帆风顺的。让我列举一一些有助于维持社区与我的团队之间平衡的技巧。
|
||||
|
||||
**声明你的原则:** 尤其是在开源项目的早期,在项目代码仍在完善,很多事情还不完美的时候,项目之外的人员很难真正理解你所做的决定。向他们说明你做出决定所依据的原则,有助于你在思考过程上保持坦率,从而让社区不会错误地干扰你的事务。这一经验非常有效,在你做出决定时坚持遵循其中一项原则并展示出来是非常重要的。
|
||||
|
||||
**确定如何进行协作:** 你可以通过 Discord、Slack 或者邮件等途径完成这一工作。但是如果你试图同时使用它们,你将毫不意外的分散项目社区。社区人员将在所有这些途径上互相交流。选择一到两种沟通工具,投身于它们来保证社区的信息同步。
|
||||
|
||||
**珍惜反馈意见:** 倾听来自社区的反馈并付诸行动。即使需要你作出艰难的决定,你也应当向社区展示你是重视社区话语的。
|
||||
|
||||
**维护一套行为准则:** 如果你与社区打交道,你需要定义什么行为是可以接受的。一套落地的行为准则有助于在人们越过红线时警示他们。如果你可以提前制定这些你可以避免很多麻烦。
|
||||
|
||||
**考虑如何分发你的项目:** 存在这样的情况,因为你还没有准备好某一个组件,或者是因为存在一些你不希望所有人都能够访问的项目功能,所以你可能并不希望将你的项目完全向公众公开。关键是制定符合你的要求而不是向用户妥协的分发条款,如此,需要某种功能的用户可以获取所需项目的同时,不需要该功能的用户也不需要在开始使用该项目做出妥协。
|
||||
|
||||
**尽可能地避免投票:** 这是因为部分成员经常会赞成与大部分成员的意见相左的选项,这会使这些人产生一定程度的失望,并让他们觉得被项目所孤立。反之,尽量尝试询问他们想要解决什么问题,并尝试创造一个不需要付出代价的解决方案。
|
||||
|
||||
### 开源是许可
|
||||
|
||||
开源是给予你的用户如何使用你的软件的自由,而许可能够做到这一点。开源项目许可的好处在于,它保证了不论你作为维护者做了什么,你的所有最终用户以及利益相关方总是可以维护一系列的项目复刻版本,这些都是重要的项目复刻。
|
||||
|
||||
许可提供了人们可选择性,如果他们认为有必要,他们可以将项目带到不同的路径中。他们拥有创建副本的权利,这使得许多优秀的软件能够被开发出来。维护者有责任倾听他们的社区成员的声音,并以一个对项目的社区成员有利的方式运营项目。
|
||||
|
||||
我们推荐使用现有的许多可用的许可证,而不是独立制作你自己的许可条款,原因很简单,因为用户以及利益相关方通常都很熟悉常用的许可证,因此你不需要再花费时间在解释许可条款上。这将帮助你将你的精力集中在项目的其他部分上。
|
||||
|
||||
### 最后,开源是一项运动
|
||||
|
||||
开源包括了很多维度,也包含了很多人员。最重要的是,它是关于理解人们想要什么,并创建一个鼓励协作与透明的环境。开源也是关于创建社区,帮助建立走自己想走的开源项目的方式。维护者创造越多的机会让社区自由发挥,开源产品就越好,也越发成功。
|
||||
|
||||
开源是以上所有这些方面,而你的视野越宽阔,你就能越好的利用它。请考虑你如何能够在开源的每一个维度上出类拔萃,因为时至今日,开源的成功之路并无捷径。
|
||||
|
||||
---
|
||||
|
||||
via: https://www.opensourceforu.com/2022/07/open-source-software-is-there-an-easy-path-to-success/
|
||||
|
||||
作者:[Jules Graybill][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[CanYellow](https://github.com/CanYellow)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.opensourceforu.com/author/jules-graybill/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/07/team-work-working-together-1.jpg
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/08/122245uqlbfaxp3flkwf5b.jpg
|
@ -0,0 +1,274 @@
|
||||
[#]: subject: "Level up your HTML document with CSS"
|
||||
[#]: via: "https://opensource.com/article/22/8/css-html-project-documentation"
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15721-1.html"
|
||||
|
||||
使用 CSS 提升你的 HTML 文档
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 使用 CSS 让你的 HTML 项目更具风格。
|
||||
|
||||
当你编写文档时,无论是为开源项目还是技术写作项目,你都应该有两个目标:文档应该写得好,同时要易于阅读。前者通过清晰的写作技巧和技术编辑来解决。第二个目标可以通过对 HTML 文档进行一些简单的更改来解决。
|
||||
|
||||
超文本标记语言(HTML)是互联网的支柱。自 1994 年“万维网”问世以来,所有网络浏览器都使用 HTML 来显示文档和网站。几乎与此同时,HTML 一直支持样式表,它是对 HTML 文档的一种特殊添加,用于定义文本在屏幕上的呈现方式。
|
||||
|
||||
单纯用 HTML 编写项目文档也是可以的。然而,纯 HTML 样式可能感觉有点简陋。因此,尝试向 HTML 文档添加一些简单的样式,为文档添加一点活力,并使文档更清晰、更易于阅读。
|
||||
|
||||
### 定义一个 HTML 文档
|
||||
|
||||
让我们从一个纯 HTML 文档开始,探索如何向其添加样式。一个空的 HTML 文档在顶部包含 `<!DOCTYPE html>` 定义,后面跟着一个 `<html>` 块来定义文档本身。 在 `<html>` 元素中,你还需要加上一个文档标头,其中包含有关文档的元数据,例如标题。文档正文的内容放在父 `<html>` 块内的 `<body>` 块中。
|
||||
|
||||
你可以使用以下 HTML 代码定义一个空白页面:
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>这是一个新文档</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
在另一篇关于 [用 HTML 编写项目文档][2] 的文章中,我将一个开源棋盘游戏的自述文件从纯文本更新为 HTML 文档,并使用一些基本的 HTML 标记,如 `<h1>` 和 `<h2>` 作为标题和副标题,`<p>` 用于段落,`<b>` 和 `<i>` 用于粗体和斜体文本。让我们从那篇文章结束的地方继续讲:
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>简易 Senet</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>简易 Senet</h1>
|
||||
<h2>游戏玩法</h2>
|
||||
|
||||
<p>游戏会自动为你“投掷”投掷棒,并在屏幕右下角显示结果。</p>
|
||||
|
||||
<p>如果“投掷”结果为零,你失去本轮机会。</p>
|
||||
|
||||
<p>轮到你的时候,游戏会自动选择
|
||||
你在棋盘上的第一块棋子。 你不一定
|
||||
能够用这个棋子走棋,所以选择你的棋子
|
||||
移动,然后按 <i>Space</i>(或 <i>Enter</i>)移动
|
||||
它。 你可以通过几种不同的方法进行选择:</p>
|
||||
|
||||
<ul>
|
||||
<li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
|
||||
朝特定方块移动。</li>
|
||||
|
||||
<li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
|
||||
请注意,它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>
|
||||
|
||||
<li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
|
||||
</ul>
|
||||
|
||||
<p>要随时退出游戏,请按 <b>Q</b>(大写
|
||||
Q)或按 <i>Esc</i>,这样游戏会提示你是否想要
|
||||
放弃比赛。</p>
|
||||
|
||||
<p>如果你比对手更快将所有棋子移出棋盘,你就赢得了比赛。
|
||||
这同时需要运气和游戏策略!</p>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
此 HTML 文档演示了利用 HTML 的技术写作者经常使用的一些块和内联元素。块元素在围绕文本定义一个矩形。段落和标题就是块元素,因为它们从文档的左边缘延伸到右边缘。例如,`<p>` 在段落周围包含一个不可见的矩形。相比之下,内联元素的使用则紧跟在它们包围的文本。如果你在段落中的某些文本上使用 `<b>`,则只有被 `<b>` 和 `</b>` 包围的文本会变为粗体。
|
||||
|
||||
你可以将直接样式应用于此文档以更改字体、颜色和其他文本样式,但修改文档外观的更有效方法是将样式表应用于文档本身。你可以在 `<head>` 元素中使用其他元数据执行此操作。你可以为样式表引用文件,但在这个例子中,我使用 `<style>` 块在文档中定义样式表。以下是带有空样式表的 `<head>` :
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>简易 Senet</title>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
...
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
### 定义样式
|
||||
|
||||
由于你刚刚开始学习样式表,因此这里先演示一种基本样式:背景色。我喜欢从背景颜色开始,因为它有助于演示块和内联元素。让我们应用一个有点华丽的样式表,为所有 `<p>` 段落设置*浅蓝色*背景颜色,为 `<ul>` 无序列表设置*浅绿色*背景。对任何粗体文本使用*黄色*背景,对任何斜体文本使用*粉红色*背景。
|
||||
|
||||
你可以在 HTML 文档的 `<style>` 块中使用样式来定义这些样式。样式表使用与 HTML 文档不同的标记。样式语法看起来像 `element { style; style; style; ... }` 并使用花括号将多种文本样式组合到一个定义中。
|
||||
|
||||
```
|
||||
<style>
|
||||
p { background-color: lightblue; }
|
||||
ul { background-color: lightgreen; }
|
||||
|
||||
b { background-color: yellow; }
|
||||
i { background-color: pink; }
|
||||
</style>
|
||||
```
|
||||
|
||||
请注意,每个样式都以分号结尾。
|
||||
|
||||
如果在网页浏览器中查看此 HTML 文档,你可以看到 `<p>` 和 `<ul>` 块元素如何填充为矩形,而 `<b>` 和 `<i>` 内联元素仅突出显示粗体和斜体文本。 这种对比色的使用可能看起来不太好看,但我想你可以清楚看到块和内联元素:
|
||||
|
||||
![辣眼睛!但是这些颜色确实能帮助我么更好地看出块和內联元素的区别。][3]
|
||||
|
||||
### 应用样式
|
||||
|
||||
你可以使用样式使这个自述文件更易于阅读。 因为你刚刚开始学习样式,还是先只用一些简单的样式元素:
|
||||
|
||||
* `background-color` 设置背景颜色
|
||||
* `color` 设置文字颜色
|
||||
* `font-family` 使用不同的文本字体
|
||||
* `margin-top` 在元素上方添加空间
|
||||
* `margin-bottom` 在元素下方添加空间
|
||||
* `text-align` 改变文本的对齐方式,例如靠左、靠右或居中
|
||||
|
||||
让我们重新开始你的样式表并将这些新样式应用到文档中。首先,在文档中使用更令人愉悦的字体。如果你的 HTML 文档没有指定字体,网络浏览器会为你选择一种。根据浏览器的设置方式,这可能是衬线字体(如我的屏幕截图中使用的字体)或无衬线字体。衬线字体在每个字母上添加了一个小笔画,这样在打印时更容易阅读。无衬线字体缺少这种额外的笔划,这使得文本在计算机显示器上显得更清晰。常见的衬线字体包括 Garamond 或 Times New Roman。 流行的无衬线字体包括 Roboto 和 Arial。
|
||||
|
||||
例如,要将文档正文字体设置为 Roboto,你可以使用以下样式:
|
||||
|
||||
```
|
||||
body { font-family: Roboto; }
|
||||
```
|
||||
|
||||
通过设置字体,你假设查看文档的人也安装了该字体。有些字体已经十分常见,以至于它们被认为是事实上的“网页安全”字体。 这些字体包括 Arial 等无衬线字体和 Times New Roman 等衬线字体。Roboto 是一种较新的字体,可能还无法随处可用。因此,网页设计师通常不会只列出一种字体,而是设置一种或多种“备用”字体。你可以通过用逗号分隔来添加这些替代字体。 例如,如果用户的系统上没有 Roboto 字体,你可以使用以下样式定义将 Arial 字体用作文本正文:
|
||||
|
||||
```
|
||||
body { font-family: Roboto, Arial; }
|
||||
```
|
||||
|
||||
所有网络浏览器都定义了默认的衬线和无衬线字体,你可以使用这些名称来引用它们。用户可以更改他们喜欢用于显示衬线和无衬线的字体,因此不太可能对每个人都一样,但在字体列表中使用 `serif` 或 `sans-serif` 通常是个好主意。通过添加该字体,至少用户可以大致了解你希望 HTML 文档的呈现方式:
|
||||
|
||||
```
|
||||
body { font-family: Roboto, Arial, sans-serif; }
|
||||
```
|
||||
|
||||
如果字体名称不止一个单词,则你必须在其两边加上引号。HTML 允许你在此处使用单引号或双引号。 为标题和副标题定义一些衬线字体,包括 Times New Roman:
|
||||
|
||||
```
|
||||
h1 { font-family: "Times New Roman", Garamond, serif; }
|
||||
h2 { font-family: "Times New Roman", Garamond, serif; }
|
||||
```
|
||||
|
||||
请注意,H1 标题和 H2 副标题使用完全相同的字体定义。如果你想避免无谓的打字,可以使用样式表快捷方式为 H1 和 22 使用相同的样式定义:
|
||||
|
||||
```
|
||||
h1, h2 { font-family: "Times New Roman", Garamond, serif; }
|
||||
```
|
||||
|
||||
在编写文档时,许多技术作者更喜欢将主标题放在页面的中央。你可以在块元素(例如 H1 标题)上使用 `text-align` 来使标题居中:
|
||||
|
||||
```
|
||||
h1 { text-align: center; }
|
||||
```
|
||||
|
||||
为了让粗体和斜体文本更突出,请将它们置于稍微不同的颜色中。对于某些文档,我可能会使用深蓝表示粗体文本,使用深绿表示斜体文本。这些颜色非常接近黑色,但颜色的细微差别足以吸引读者的注意力。
|
||||
|
||||
```
|
||||
b { color: darkblue; }
|
||||
i { color: darkgreen; }
|
||||
```
|
||||
|
||||
最后,我更喜欢在我的列表元素周围添加额外的间距,以使它们更易于阅读。如果每个列表项只有几个词,额外的空间可能无关紧要。但是我的示例文本中的中间项很长,可以换到第二行。 额外的空间有助于读者更清楚地看到此列表中的每个项目。 你可以使用边距样式在块元素上方和下方添加空间:
|
||||
|
||||
```
|
||||
li { margin-top: 10px; margin-bottom: 10px; }
|
||||
```
|
||||
|
||||
这种样式定义了一个距离,此处我将其指定为每个列表元素上方和下方的 10px(十个*像素*)。 你可以使用多种不同的距离度量。十像素实际上就是屏幕上十个像素的空间,无论是台式机显示器、笔记本电脑显示屏,还是手机或平板电脑屏幕。
|
||||
|
||||
假设你真的只是想在列表元素之间添加一个额外的空行,你也可以使用 `em` 来测量。`em` 是一个旧的排版术语,如果你指的是左右间距,它就是大写 `M` 的宽度,或者对于垂直间距,就是大写 `M` 的高度。所以你可以改用 1em 来写边距样式:
|
||||
|
||||
```
|
||||
li { margin-top: 1em; margin-bottom: 1em; }
|
||||
```
|
||||
|
||||
HTML 文档中的完整样式列表如下所示:
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>简易 Senet</title>
|
||||
<style>
|
||||
body { font-family: Roboto, Arial, sans-serif; }
|
||||
h1, h2 { font-family: "Times New Roman", Garamond, serif; }
|
||||
h1 { text-align: center; }
|
||||
b { color: darkblue; }
|
||||
i { color: darkgreen; }
|
||||
li { margin-top: 1em; margin-bottom: 1em; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>简易 Senet</h1>
|
||||
<h2>游戏玩法</h2>
|
||||
|
||||
<p>游戏会自动为你“投掷”投掷棒,并在屏幕右下角显示结果。</p>
|
||||
|
||||
<p>如果“投掷”结果为零,你失去本轮机会。</p>
|
||||
|
||||
<p>轮到你的时候,游戏会自动选择
|
||||
你在棋盘上的第一块棋子。 你不一定
|
||||
能够用这个棋子走棋。所以选择你的棋子
|
||||
移动,然后按 <i>Space</i>(或 <i>Enter</i>)移动
|
||||
它。 你可以通过几种不同的方法进行选择:</p>
|
||||
|
||||
<ul>
|
||||
<li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
|
||||
朝特定方块移动。</li>
|
||||
|
||||
<li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
|
||||
请注意,它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>
|
||||
|
||||
<li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
|
||||
</ul>
|
||||
|
||||
<p>要随时退出游戏,请按 <b>Q</b>(大写
|
||||
Q)或按 <i>Esc</i>,这样游戏会提示你是否想要
|
||||
放弃比赛。</p>
|
||||
|
||||
<p>如果你比对手更快将所有棋子移出棋盘,你就赢得了比赛。
|
||||
这同时需要运气和游戏策略!</p>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
在网页浏览器上查看时,你会看到采用无衬线字体的自述文件,标题和副标题使用衬线字体。 页面标题居中。粗体和斜体文本使用略有不同的颜色来吸引读者的注意力而不会分散注意力。 最后,列表项周围有额外的空间,使每个项目更易于阅读。
|
||||
|
||||
![通过添加一些样式,我们使这个自述文件更易于阅读。][4]
|
||||
|
||||
这是在技术写作中使用样式的简单介绍。掌握了基础知识后,你可能会对 [Mozilla 的 HTML 指南][5] 感兴趣。它包括一些很棒的初学者教程,因此你可以学习如何创建自己的网页。
|
||||
|
||||
有关 CSS 样式的更多信息,我推荐 [Mozilla 的 CSS 指南][6]。
|
||||
|
||||
*(题图: MJ:web internet traffic design)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/8/css-html-project-documentation
|
||||
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[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/lkxed
|
||||
[1]: https://opensource.com/sites/default/files/lead-images/painting_computer_screen_art_design_creative.png
|
||||
[2]: https://opensource.com/article/22/8/writing-project-documentation-html
|
||||
[3]: https://opensource.com/sites/default/files/2022-08/style-html-1.png
|
||||
[4]: https://opensource.com/sites/default/files/2022-08/style-html-2.png
|
||||
[5]: https://developer.mozilla.org/en-US/docs/Web/HTML
|
||||
[6]: https://developer.mozilla.org/en-US/docs/Web/CSS
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/14/155136ypp8ziciecvunbpl.jpg
|
@ -0,0 +1,132 @@
|
||||
[#]: subject: "Linux Mint Release Cycle: What You Need to Know"
|
||||
[#]: via: "https://itsfoss.com/linux-mint-release-cycle/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "chris000132"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15752-1.html"
|
||||
|
||||
Linux Mint 的发行周期
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
你可能知道,Linux Mint 是一个基于 Ubuntu 的发行版。
|
||||
|
||||
Ubuntu 每六个月发布一个新版本,但 Linux Mint 并不遵循六个月一次的发行模式。
|
||||
|
||||
Linux Mint 以 Ubuntu LTS(<ruby>[长期支持][1]<rt>long term support</rt></ruby>)版本作为其基础。Ubuntu 的 LTS 版本每两年发布一次,所以 **你也会每两年得到一个 Mint 的大版本更新**(比如 Mint 19, 20, 21 等)。
|
||||
|
||||
与 Ubuntu LTS 版本一样,Linux Mint 的大版本也被支持五年。虽然在这期间有**三个小更新版本**(比如 Mint 20.1、20.2、20.3)。
|
||||
|
||||
与 Ubuntu 相比,多久能得到一次 Linux Mint 的升级?你应该在什么时候等待 Linux Mint 的升级?当有新版本的时候,你应该升级到新版本吗?
|
||||
|
||||
在这里,让我重点介绍一下这些 Linux Mint 的发行周期的重要细节。
|
||||
|
||||
### Linux Mint 的发行周期
|
||||
|
||||
Ubuntu 每两年发布一个长期支持版本。之后很快就会有一个 Mint 版本出现。换句话说,你每两年就会得到一个新的 Mint 版本。
|
||||
|
||||
所以,Linux Mint 20 是在 2020 年基于 Ubuntu 20.04 发行的,Mint 21 是在 2022 年基于 Ubuntu 22.04 发行的。
|
||||
|
||||
与 Ubuntu 不同,Mint 没有严格的发行时间表。没有事先确定的发行日期。新版本在其开发者认为准备好的时候就会到来。
|
||||
|
||||
#### 小版本
|
||||
|
||||
在 Mint 的两个大版本发布之间,有三个小版本,每隔 6 个月发布一次。
|
||||
|
||||
即 Mint 20(即 20.0)是在 2020 年 6 月发布的。Mint 20.1 在 2020 年 12 月,Mint 20.2 在 2021 年 6 月,Mint 20.3 在 2021 年 12 月。在这之后,Mint 团队将致力于开发下一个大版本。
|
||||
|
||||
这些小版本会更新什么?比如,一个新版本的桌面环境,主要包含用户图形界面的视觉变化。它有时也可能提供新的应用程序。
|
||||
|
||||
升级到小版本是可选的。你可以选择继续使用 20.1,而不升级到 20.2 和 20.3。这是那些不喜欢频繁(在图形界面上)改变他们系统的人的首选。
|
||||
|
||||
在最后一个消版本发布(XX.03)之后,你的系统将只得到已安装软件的安全和维护更新。你不会得到桌面环境和其他一些软件(如 GIMP 或 LibreOffice)的新的大版本更新。
|
||||
|
||||
#### 支持周期
|
||||
|
||||
并非所有基于 Ubuntu 的发行版都能为你提供与 Canonical 的 Ubuntu 相同的周期性更新优势。许多基于 Ubuntu 的发行版和 [官方的衍生版本][2] 提供了最长 3 年的支持。
|
||||
|
||||
幸运的是,对于 **Linux Mint** 来说,你可以得到和 Ubuntu 一样的更新福利。
|
||||
|
||||
**每个 Linux Mint 版本的支持期为 5 年**,在此之后,你必须升级到下一个版本,或者重新安装较新的版本。
|
||||
|
||||
例如,Mint 20 是在 2020 年发布的,比 Ubuntu 20.04 晚几个月。Ubuntu 20.04 LTS 被支持到 2025 年,因此 Mint 20 系列也被支持到 2025 年。
|
||||
|
||||
一个系列的所有小版本都支持到同一日期。Mint 20.1、20.2 和 20.3 都将被支持到 2025 年。
|
||||
|
||||
同样地,Ubuntu 22.04 LTS 将被支持到 2027 年 4 月。你可以期待 Linux Mint 21 系列(它基于 Ubuntu 22.04)的更新周期到相同的时间线。
|
||||
|
||||
**总结一下:**
|
||||
|
||||
* 你每两年得到一个新的 Linux Mint 大版本
|
||||
* 每个大版本的支持周期为 5 年
|
||||
* 每个大版本(XX 版)在下一个大版本之前都会有三个小版本(XX.1、XX.2、XX.3)
|
||||
* 小版本(XX.1,XX.2,XX.3)与大版本(XX)的支持时间相同
|
||||
|
||||
### 你什么时候应该升级 Linux Mint?
|
||||
|
||||
这完全取决于你,
|
||||
|
||||
每两年会有一个新的大版本。你可以选择在那时升级它,或者你可以在整个五年的生命周期内保持你目前的版本。
|
||||
|
||||
除非你想获得最新的功能和改进,你可以选择不把你的 Linux Mint 安装升级到另一个大版本。
|
||||
|
||||
对于小版本,你可以选择更新,也可以不更新。比如,20 到 20.1 或 20.1 到 20.2。即使你不使用最新的小版本,你仍然会得到重要的安全和维护更新。
|
||||
|
||||
你可以参考我们的 [Linux Mint 升级指南][3] 以寻求帮助。
|
||||
|
||||
### Linux Mint 的版本划分和命名
|
||||
|
||||
与 Ubuntu 发行版不同,Linux Mint 有一个不同的编号方案。Linux Mint 喜欢在每一个 Ubuntu LTS 版本中提升编号。
|
||||
|
||||
换句话说:
|
||||
|
||||
Linux Mint 19 → **Ubuntu 18.04 LTS**
|
||||
|
||||
Linux Mint 20 → **Ubuntu 20.04 LTS**
|
||||
|
||||
Linux Mint 21 → **Ubuntu 22.04 LTS**
|
||||
|
||||
所以,你应该避开以下的混淆:
|
||||
|
||||
*Linux Mint 20 基于 Ubuntu 20.04 并不意味着 Linux Mint 21 将基于 Ubuntu 21.04。*
|
||||
|
||||
此外,每个版本都有**三个小版本**,带有内核的小更新和一些 Linux Mint 应用程序的潜在升级。
|
||||
|
||||
现在,来看看它的**命名方案**:
|
||||
|
||||
每个 Linux Mint 版本,无论是小的还是大的,都有一个代号。通常,它是一个女性的名字,通常源自希腊或拉丁语。
|
||||
|
||||
和 Ubuntu 一样,代号也有一个模式。大版本的代号是按字母顺序递增的。当涉及到小版本时,你会发现新的名字会以相同的字母开头。
|
||||
|
||||
例如,Mint 20 被称为 **Ulyana**,20.1 为 **Ulyssa**,20.2 为 **Uma**,而 20.3 为 **Una**。同样地,Mint 19 系列的代号以 T 开头。
|
||||
|
||||
在写这篇文章的时候,Mint 21(最新版本)的代号以 **V** 开头,21 系列的第一个版本叫 **Vanessa**。
|
||||
|
||||
在 Mint 21 系列中至少还会有三个小版本,它们将每六个月发布一次,直到 2024 年的下一个 Mint 大版本。而它们都将有一个以字母 V 开头的代号。
|
||||
|
||||
### 薄荷留香
|
||||
|
||||
我希望这篇文章能消除对 Linux Mint 升级的各种困惑,并让你更多地了解 Linux Mint 的发布和更新周期。
|
||||
|
||||
*(题图:MJ/mint cinamon plain dark background in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/linux-mint-release-cycle/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[chris000132](https://github.com/chris000132)
|
||||
校对:[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/lkxed
|
||||
[1]: https://itsfoss.com/long-term-support-lts/
|
||||
[2]: https://itsfoss.com/which-ubuntu-install/
|
||||
[3]: https://itsfoss.com/upgrade-linux-mint-version/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/24/231022h7rzqz8zfvviaqb7.jpg
|
@ -0,0 +1,185 @@
|
||||
[#]: subject: "How to Merge PDF Files in Linux"
|
||||
[#]: via: "https://itsfoss.com/merge-pdf-linux/"
|
||||
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15730-1.html"
|
||||
|
||||
如何在 Linux 中合并 PDF 文件
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 有多个关于同一主题的 PDF,现在你想将它们合并成一个 PDF?
|
||||
|
||||
或者你可能需要上传由不同文件组成的单个文件?许多政府和学术门户网站都要求这样做。
|
||||
|
||||
作为 Linux 用户,如果你遇到需要合并 PDF 的情况,本教程将帮助你。
|
||||
|
||||
在本教程中,我将分享三种合并多个 PDF 文件的方法:
|
||||
|
||||
- 使用 PDF Tricks GUI 工具
|
||||
- 使用 LibreOffice(允许你选择页面)
|
||||
- 使用 ImageMagick 命令行工具(Linux 教程会没有终端方法就结束么?)
|
||||
|
||||
你可以全部了解一下并选择最适合你的。
|
||||
|
||||
### 方法 1:使用 PDF Tricks GUI 工具在 Linux 中合并 PDF
|
||||
|
||||
在试用了多种 GUI 工具后,我发现 PDF Tricks 使用简单且易于导航。
|
||||
|
||||
此外,除了合并 PDF 文件之外,它还包括其他功能,包括:
|
||||
|
||||
- 压缩 PDF。
|
||||
- 拆分 PDF。
|
||||
- 将 PDF 转换为 JPG、PNG 和文本格式。
|
||||
|
||||
它以 [Flatpak][1] 的形式提供。请 [确保你的 Linux 系统启用了 Flatpak 支持][2]。
|
||||
|
||||
我分享的是在 Ubuntu 上启用 Flatpak 的步骤:
|
||||
|
||||
```
|
||||
sudo apt install flatpak
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
```
|
||||
|
||||
现在,使用以下命令在你的系统中安装 PDF Tricks:
|
||||
|
||||
```
|
||||
flatpak install flathub com.github.muriloventuroso.pdftricks
|
||||
```
|
||||
|
||||
完成安装后,从系统菜单中打开 PDF Tricks 应用。
|
||||
|
||||
第一次运行时,你会得到一个可以使用此工具执行的操作列表。显然,要合并 PDF 文件,请使用第三个选项。
|
||||
|
||||
![merge pdf files using in ubuntu][3]
|
||||
|
||||
在下一步中,单击 “<ruby>添加文件<rt>Add file</rt></ruby>” 并选择要合并的文件:
|
||||
|
||||
![choose files to merge][4]
|
||||
|
||||
选择文件后,单击 “<ruby>合并<rt>Merge</rt></ruby>” 按钮:
|
||||
|
||||
![click on merge button][5]
|
||||
|
||||
它将打开系统的默认文件管理器。你可以在此处选择要保存合并文件的位置以及应命名的文件:
|
||||
|
||||
![locate and name the merged pdf file][6]
|
||||
|
||||
就是这样。合并后的 PDF 已保存。
|
||||
|
||||
如果你正在寻找,我们提供了一份 [可用于阅读和编辑 PDF 文件的最佳 PDF 阅读器][7] 列表。
|
||||
|
||||
### 方法 2:使用 LibreOffice 合并 PDF 文件
|
||||
|
||||
很棒的 LibreOffice 能够处理许多与 PDF 相关的任务。你甚至可以 [使用 LibreOffice Draw 工具编辑 PDF 文件][8] 来添加数字签名、添加文本等。
|
||||
|
||||
好处是你不需要安装其他应用。LibreOffice 已经安装在大多数发行版上,如果不是全部的话。
|
||||
|
||||
打开文件管理器并选择要合并的 PDF 文件。
|
||||
|
||||
右键单击选定的文件 > <ruby>使用其他应用打开<rt>Open With Other Application</rt></ruby> > LibreOffice Draw,它将打开选定的 PDF 文件。
|
||||
|
||||
它将在单独的 LibreOffice Draw 实例中打开你选择的每个 PDF 文件:
|
||||
|
||||
![open pdf file in libreoffice][9]
|
||||
|
||||
现在,你必须从左侧预览栏选择单个页面或整个 PDF 文件(使用 `Ctrl + A`)并将其拖放到要合并的文件的预览栏:
|
||||
|
||||
拖放后,单击左上角的第 5 个选项,提示是 <ruby>直接导出为 PDF<rt>Export Directly as PDF</rt></ruby>:
|
||||
|
||||
![export directly as pdf in libreoffice][10]
|
||||
|
||||
将打开一个文件管理器,你可以从中定位并命名文件:
|
||||
|
||||
![save merged file from libreoffice][11]
|
||||
|
||||
这就完成了!
|
||||
|
||||
### 更多技巧:在命令行中合并 PDF (对于高级用户)
|
||||
|
||||
如果我不包括命令行方法,那算什么 Linux 教程?要在命令行中合并 PDF 文件,你可以使用 ImageMagick。
|
||||
|
||||
ImageMagick 其实是一个图像相关的工具。PDF 文件本质上是图像,这就是 ImageMagick 可以处理它们的原因。
|
||||
|
||||
你可能甚至不需要单独 [安装 ImageMagick][12],因为它已经默认安装在大多数发行版中。
|
||||
|
||||
例如,我将添加 3 个名为 pdf-1.pdf、pdf-2.pdf 和 pdf-3.pdf 的 PDF 文件,并将最终合并的 PDF 文件输出命名为 MergedFile.pdf(多么聪明):
|
||||
|
||||
```
|
||||
convert pdf-1.pdf pdf-2.pdf pdf-3.pdf MergedFile.pdf
|
||||
```
|
||||
|
||||
#### “no images defined” 故障排除
|
||||
|
||||
如果你看到这样的策略错误:
|
||||
|
||||
![][13]
|
||||
|
||||
这个问题很容易解决。你只需在 ImageMagick 策略文件中进行少量更改。
|
||||
|
||||
打开策略文件进行编辑:
|
||||
|
||||
```
|
||||
sudo nano /etc/ImageMagick-6/policy.xml
|
||||
```
|
||||
|
||||
并查找以下行:
|
||||
|
||||
```
|
||||
<policy domain="coder" rights="none" pattern="PDF" />
|
||||
```
|
||||
|
||||
现在,你需要将 `rights="none"` 更改为 `rights=read|write`:
|
||||
|
||||
```
|
||||
<policy domain="coder" rights="read|write" pattern="PDF" />
|
||||
```
|
||||
|
||||
![change policy in imagemagick to merge pdf files][14]
|
||||
|
||||
保存更改,现在你可以使用 ImageMagick 轻松合并文件:
|
||||
|
||||
![merge pdf files using imagemagick in linux terminal][15]
|
||||
|
||||
### 总结
|
||||
|
||||
现在你知道了在 Linux 中合并 PDF 文件的几种方法。合并后的 PDF 文件可能很大。如果你需要在有大小限制的门户上传合并的 PDF 文件,你可以 [压缩 PDF 文件][16]。
|
||||
|
||||
如果你在使用上述方法时遇到任何问题,请告诉我。
|
||||
|
||||
*(题图:MJ:process docs illustrations in high resolution)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/merge-pdf-linux/
|
||||
|
||||
作者:[Sagar Sharma][a]
|
||||
选题:[lkxed][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/sagar/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://itsfoss.com/what-is-flatpak/
|
||||
[2]: https://itsfoss.com/flatpak-guide/
|
||||
[3]: https://itsfoss.com/content/images/wordpress/2022/11/merge-pdf-files-using-in-ubuntu-1.png
|
||||
[4]: https://itsfoss.com/content/images/wordpress/2022/11/choose-files-to-merge.png
|
||||
[5]: https://itsfoss.com/content/images/wordpress/2022/11/click-on-merge-button.png
|
||||
[6]: https://itsfoss.com/content/images/wordpress/2022/11/locate-and-name-the-merged-pdf-file.png
|
||||
[7]: https://itsfoss.com/pdf-editors-linux/
|
||||
[8]: https://itsfoss.com/edit-pdf-files-ubuntu-linux/
|
||||
[9]: https://itsfoss.com/content/images/wordpress/2022/11/open-pdf-file-in-libreoffice.png
|
||||
[10]: https://itsfoss.com/content/images/wordpress/2022/11/export-directly-as-pdf-in-libreoffice.png
|
||||
[11]: https://itsfoss.com/content/images/wordpress/2022/11/save-merged-file-from-libreoffice.png
|
||||
[12]: https://itsfoss.com/install-imagemagick-ubuntu/
|
||||
[13]: https://itsfoss.com/content/images/wordpress/2022/11/convert-im6.q16-attempt-to-perform-an-operation-not-allowed-by-the-security-policy-pdf-@-error-constitute.c-iscoderauthorized-421.0a.png
|
||||
[14]: https://itsfoss.com/content/images/wordpress/2022/11/change-policy-in-imagemagick-to-merge-pdf-files.png
|
||||
[15]: https://itsfoss.com/content/images/wordpress/2022/11/merge-pdf-files-using-imagemagick-in-linux-terminal.png
|
||||
[16]: https://itsfoss.com/compress-pdf-linux/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/17/155926wvvvh01v1vtcldd0.jpg
|
@ -0,0 +1,65 @@
|
||||
[#]: subject: "How open source leaders can foster an inclusive environment"
|
||||
[#]: via: "https://opensource.com/article/23/2/open-source-leaders-inclusive-environment"
|
||||
[#]: author: "Kate Carcia Poulin https://opensource.com/users/kcarcia"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15746-1.html"
|
||||
|
||||
开源项目领导者可以如何营造包容的环境
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 那些被你领入社区的人,有一天也会向其他人伸出援手。
|
||||
|
||||
开源领导者可以通过创造归属感、提供机会和表示支持来为新来者创造包容性社区。他们了解提交代码和与其他社区成员建立联系的复杂性。创造包容性社区可以建立信誉并获得影响力。这种经验对于想要参与但不知道从哪里开始的贡献者来说是无价的。
|
||||
|
||||
几年前,当我开始管理一个活跃于 Linux 内核社区的团队时,我发现自己因为没有任何内核经验而感到处境困难。复杂的代码库、庞大的电子邮件归档和高风险的交流让我感到害怕。当我团队中的新内核开发人员表达了类似的感受时,我意识到我的感觉在团队里普遍存在。对于那些支持贡献者或想自己做出贡献的人来说,入门的道路并不总是清晰的,甚至可能感觉遥不可及。
|
||||
|
||||
### 4 个策略建立包容性领导力
|
||||
|
||||
开源领导者可以通过为那些希望融入社区的人创造途径来发挥自己的影响力。本文涵盖的策略可应用于正式的 [指导][1] 或 [辅导][2] 关系,但同样适用于日常互动。在培养环境的包容性时,看似微不足道的交流往往会产生最重要的影响。
|
||||
|
||||
#### 怀着好奇心接近了解新人
|
||||
|
||||
经验较少或来自非传统背景的人可能会以意想不到或不同的方式解决问题。在应对这些差异时,如果用妄加评论或批评的方式,可能会在知识曲线通常很陡峭的社区中创造一个不安全的学习环境。例如,Linux 内核的长期贡献者了解社区丰富的历史,这意味着他们不需要明说就能理解社区的决策和反应。新的贡献者必须积累这方面的知识,但只有当他们感到安全,并愿意冒必要的风险来发展自己的技能时,他们才能有效地做到这一点。
|
||||
|
||||
开源领导者可以通过带着好奇心去接近新人来支持他们学习。你可以问他们这样的问题,“你能帮我理解一下你为什么采用这种方法吗?”而不是直接宣布提议的解决方案“对或错”。问题打开了一个继续学习的对话,而不是关闭那些值得探索的重要方面的想法。这个过程也拓宽了领导者的视野,他们可以通过考虑新的观点来学习。
|
||||
|
||||
#### 发现并分享学习机会
|
||||
|
||||
开源领导者可以确定适合其他人的项目,使他们可以获得技术专长和学习社区流程。在为他人创造机会的同时,领导者也为自己创造了更多机会。这是因为他们有更多时间探索新的尝试,同时通过分派任务继续推进他们的工作。随着领导者的成长,他们帮助周围的人取得成功的能力变得与他们的直接贡献一样重要。
|
||||
|
||||
要知道 [失败][3] 是学习的一部分,因此你要考虑找一些新手失败后不会造成严重后果的项目。例如,在 Linux 内核中,代码库的某些部分的小改动可能会造成灾难性的后果。考虑可以实现小小的胜利的项目,以帮助新来者在没有高风险的情况下建立信心并感到掌控感。通过会议、电子邮件论坛或任何涉及如何参与到社区里的宣传活动分享这些想法,让人们更容易获取到这些信息。
|
||||
|
||||
#### 展现你脆弱的一面
|
||||
|
||||
拥有更多的经验并不意味着你知道一切。通常情况下,即使是与我共事过的最有经验的 Linux 内核贡献者也会被未知子系统中的新挑战击败。经验不足的社区成员通常会认为经验丰富的社区成员已经了解了一切。但是,经验就是要善于找出你不知道的东西。如果你处于权威地位或者被认为是专家,你可以通过分享个人挣扎和坚持的经验来表现你脆弱的一面,这样做可以鼓励那些和你有着类似感受的人。
|
||||
|
||||
#### 为他人做担保
|
||||
|
||||
向你的人脉介绍新来的成员。在激发他们兴趣的领域里,让新成员和在这个领域内具有专业知识的社区成员建立联系。在公共论坛上说出他们的名字,并称赞他们所做的出色工作。作为受人尊敬的领导者,你的支持可以帮助他们在社区内建立联系和信任。
|
||||
|
||||
通过树立社区包容性,我们可以拥有丰富多样的社区。我希望开源领导者会考虑这些建议,因为你提拔到社区的人未来的某天也会同样向别人伸出援手。
|
||||
|
||||
*(题图:MJ:inclusive environment community illustration in high resolution, very detailed)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/2/open-source-leaders-inclusive-environment
|
||||
|
||||
作者:[Kate Carcia Poulin][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/kcarcia
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/22/8/mentoring-power-multiplier
|
||||
[2]: https://enterprisersproject.com/article/2021/4/it-leadership-how-to-coach?intcmp=7013a000002qLH8AAM
|
||||
[3]: https://opensource.com/article/20/11/normalize-failure
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/22/234237shv6km5mua4tmb3v.jpg
|
@ -0,0 +1,117 @@
|
||||
[#]: subject: "The power of sisterhood and allyship in open source"
|
||||
[#]: via: "https://opensource.com/article/23/3/power-sisterhood-allyship-open-source"
|
||||
[#]: author: "Paloma Oliveira https://opensource.com/users/discombobulateme"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15735-1.html"
|
||||
|
||||
开源领域中姐妹情谊和盟友关系的力量
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> “站在巨人的肩膀上”不仅是指开源,而且是指通过承认女性先驱和领导者在该领域的作用,在技术中建立姐妹情谊的基础。
|
||||
|
||||
两年多前,我从艺术家转职成为一名 [软件开发人员][1]。我不是单凭一己之力做到的。 我得到了 PyLadies Berlin 的支持,PyLadies Berlin 是一个国际志愿者团体的柏林本地分会,旨在支持女性从事技术工作。
|
||||
|
||||
我们习惯了“职业变化”这个词,就好像它是一个轨迹的中断。但根据我的经验,事实并非如此。一个人无法抹去自己过去的点点滴滴,而多样化背景带来的丰富性可以造就爆发点。个体的人生旅程虽然通常与计算机科学毫无相关,却担起了令科技对社会有所影响的职责,并为技术行业带来丰富性和创造力。
|
||||
|
||||
作为一名艺术家,我得到了自由,并打开了探索从建筑到科学等多个领域的大门。我大部分的艺术经历发生在巴西的黑客空间里,这里充斥着<ruby>自由及开源软件<rt>Free/Libre Open Source Software</rt></ruby>(FLOSS)的思想,即开放的自由共享文化。如今,由于一些不属于本文讨论范围的意识形态和实践原因,最常见的术语是“开源”。对我来说幸运的是,我的职业转变始于一次在 <ruby>开源项目办公室<rt>Open Source Program Office</rt></ruby>(OSPO)的实习,它让我的转变经历感觉——几乎可以说——像回家一样。
|
||||
|
||||
### 放在巨人的肩膀上
|
||||
|
||||
我们都受益于开源。无论你是否编码,你所使用的软件都依赖于它。由于这是一种开放的文化,一切都建立在他人的工作之上,所以经常听到“站在巨人的肩膀上”这个表述,指的是我们的进步都建立在前人的工作和贡献之上。 这突出了从他人的经验和成就中学习的重要性。
|
||||
|
||||
这篇文章旨在揭示我站在谁的肩膀上。这不仅是为了表达我对他们的感激之情,也是为了回答我在接受 JSParty 的 Kevin Ball 和 Christopher Hiller 采访时被问到的一个问题:你能做些什么来改善周围环境的多样性?
|
||||
|
||||
“站在巨人的肩膀上”不仅是指开源,而且是指通过承认女性先驱和领导者在该领域的作用,在技术中建立姐妹情谊的基础。通过承认在我们之前的女性所做的贡献,我们可以从她们所面临的挑战中获得灵感和洞察力,并从她们挣脱束缚的经验中学习。通过这种方式,我们“站在巨人的肩膀上”,以她们的工作为基础,为女性和 [被低估的][2] 技术人员创造更具包容性和支持性的环境。
|
||||
|
||||
通过相互支持,认识到从他人经验中学习的重要性,并形成一个支持网络,我们可以共同努力克服挑战,通过创造更公平的环境,为所有人建设更美好的未来。通过这样做,我们正在创造新的巨人,供其他人在未来立足。
|
||||
|
||||
### 组织一个当地社区: Meili Triantafyllidi 和 Jessica Greene
|
||||
|
||||
我加入了 PyLadies Berlin,它由 Meili 于 2013 年创立。Jessica 是组织者之一,她是 Ecosia 的一名初级软件工程师。成为社区组织者意味着利用你个人的空闲时间和热情,尽力创建一个安全的、支持性的网络和学习空间。这些工作包括寻找举办地点、宣传活动、策划主题、寻找演讲者,最重要的是,倾听社区的需求。
|
||||
|
||||
作为多元文化城市的新人并试图在城市中找到自己的位置,我感到 PyLadies 与其说是一个学习 Python 的地方,不如说是一个让我感受到被欢迎和被理解的中心。
|
||||
|
||||
根据我们常常听到的叙述,科技领域是每个人都在前往的新希望之地,有无限的岗位需求、切换国家的自由和高薪的职业。其他行业没有提供这种服务,或者至少没有达到这种规模。专注于带来多样性空间的社区提供了使这对每个人都成为现实的可能性。
|
||||
|
||||
每个活动都以社区公告、包含议程的简单幻灯片以及类似活动的宣传开始。当时我听闻的两个活动引导我走上了我的职业道路:Rail Girls Summer of Code 计划和 FrauenLoop。因为感觉有必要回馈当初给予了我支持的社区,我成为了共同组织者之一。
|
||||
|
||||
### 搭建人际关系网和学习专业知识: FrauenLoop
|
||||
|
||||
FrauenLoop 由 Nakeema Stefflbauer 博士于 2016 年创立,致力于改变欧盟科技公司的面貌。该项目分为 3 个月的周期,由每周的晚间课程和周末研讨会组成,以培训在科技行业里没有人际关系网的女性。
|
||||
|
||||
学习课程是围绕女性的专业需求开发的,从以技术行业为重点的课程到女性举办的关于科技行业如何真正运作以及如何成功立足的研讨会。一些常见的话题包括薪资谈判和练习技术面试。最近,为了应对裁员,柏林技术工人联盟举办了一场研讨会,揭开如何对公司解雇流程提出质疑的神秘面纱。
|
||||
|
||||
研讨会聚焦于女性,尤其是移民群体,她们正处于家庭状况和职业转变的阶段,真正准备好去寻找工作了。
|
||||
|
||||
和 Nakeema 在一起本身就给我带来了灵感。该项目提供了理解编程和学习网页开发基础知识的起点。但最重要的是,你与项目中的其他人建立了联系,他们是 PyLadies 未来的共同组织者、演讲者、业余项目的导师和朋友。
|
||||
|
||||
FrauenLoop 还为其学生提供了回去担任导师的机会。对我来说,这是决定我前进道路的转折点。做了一年多的导师,增强了我对自己的信心,也巩固了我自己的学习。受到帮助他人学习这一责任的挑战,你不可避免要一直学习。
|
||||
|
||||
在那里我遇到了 Victoria Hodder,她是我申请 Rail Girls Summer of Code 时的搭档。
|
||||
|
||||
### 多元化项目:从 Rail Girls Summer of Code 到 Ecosia Summer of Code
|
||||
|
||||
Rail Girls Summer of Code 是一项面向女性和非二元性别程序员的全球奖学金计划,入选的申请者将获得为期三个月的奖学金,以从事现有的开源项目。该计划活跃于 2013 年到 2020 年。
|
||||
|
||||
申请以一个团队为单位进行提交,即来自同一个城市的两个人。虽然这是一个远程项目,但有一个本地同行确保了问责制和相互支持。
|
||||
|
||||
除了同伴,项目还需要有一个办公的地方,一个适合工作三个月的环境。这个地方可以是你的家、联合办公空间、工作办公室,或者最好的情况下是培训公司。虽然培训公司除了提供工作空间外没有其他义务,但它让我们与当地公司联系起来,并为我们提供了一个空间,让我们能够与我们想进入的行业内的人建立知名度和关系网。
|
||||
|
||||
我在 PyLadies Berlin 的联合组织者 Jessica 通过该项目开启了她在科技领域的职业生涯。她提议 Ecosia(她当时也是现在所任职的公司)担任两个团队的指导工作,其中一个是我和 Victoria 的团队(我们专注于网络开发),另一个是 Taciana Cruz 和 Karina Cordeiro 的团队(他们专注于数据)。
|
||||
|
||||
在三个月的申请期内,大流行来势汹汹。在参与 [if-me][2] 项目后,我和维多利亚被 _某种程度上_ 选入了 the Rail Girls 项目。因为是 _某种程度上_ 被选中的,我们与 Rail Girls 的沟通在选拔后期变得非常混乱,最终他们在最后一刻取消了项目。
|
||||
|
||||
我们当时都崩溃了。大流行的重压给我们带来了沉重打击,它不仅粉碎了我们获得一份有偿工作的机会,而且粉碎了长期以来养成的开始新职业的梦想。
|
||||
|
||||
当时还是初级软件开发人员的 Jessica懂我们的处境,因此她挺身而出,她没有感到无能为力,而是站出来表明自己的立场。除了为适应个人新角色所付出的努力,她还给自己安排了更多工作,并创建了 [Ecosia Summer of Code][3] 这一项目。
|
||||
|
||||
Ecosia 无法支付奖学金,但 Jessica 开发了一个导师计划。该计划利用公司的可用资源,提供高素质专业人士的指导,以填补我们的知识空白。由于 Victoria 和 Karina 因为需要有报酬的工作而放弃了项目,Taciana 和我设法继续进行个人项目。我们找到了可以一起努力并相互支持的共同主题。
|
||||
|
||||
大约一年后,其中一位导师 Jakiub Fialla 邀请我去她的公司聊聊开源。我与其他一些人依然保持着联系,时不时地,当他们举办 PyLadies Berlin 活动时,我会顺便过去见见他们。如此甜蜜。
|
||||
|
||||
### 赞助多样性: Coyotiv 项目和它的创始人 Armagan Amcalar
|
||||
|
||||
当 Rail Girls 项目被取消时,我在 Instagram 上看到一篇关于训练营的帖子,该训练营提供全栈网络开发计划奖学金。
|
||||
|
||||
申请流程很简单,所以我就申请了。我很快收到了一份自发的面试邀请。当时的我感到沮丧、凌乱又绝望,没有任何准备就参加了面试,所以我全程非常诚实。整个面试的谈话同样坦诚,对此我深表感激。
|
||||
|
||||
面试官是 [Coyotiv 软件工程学院][4] 的创始人 Armagan Amcalar。具有音乐背景的Armagan 富有创造力,对周围的世界有着批判性的思考。这所学校是在他为柏林的 Women Techmakers 提供免费速成课程三年后创办的。他没有死记硬背多样性演讲,而是根据它采取行动,为所有全职参与者提供奖学金。
|
||||
|
||||
我获得了奖学金,并与其他四个人(其中 3 名女性)一起组成了第一批学生。训练营持续了高强度的 17 周。它对改变我对代码的看法极为重要。与我尝试学习的其他地方不同,Armagan 并不关心我们选择什么编程框架。相反,这一切都是为了理解我们在做什么,并将软件工程视为一种创造性的、强大的工具来塑造我们生活的世界。我得到的不仅仅是奖学金,我还收获了一个朋友和终身导师,他为我提供华丽转身的机会,打开了一扇通往美好生活的大门。
|
||||
|
||||
你是不是觉得我的反应太夸张了?你可以问问我身边的人。我的搭档此时已经认识我大约 14 年了,他是这样评价我的变化的:我变得纪律严明,充满活力,一路走来我对学到的东西感到高兴,就软件及其相关的事物进行深入对话,不再困惑矛盾,我放弃了终生的艺术事业,转而找到了人生的目标。由于我的变化实在惊人,他参加了我后面的几届训练营项目。
|
||||
|
||||
学校为我提供了技术知识、面试培训、简历支持和公开演讲培训。毕业不仅仅要求开发个人的全栈项目,还必须通过在 npm 上发布一个库来回馈开源,因为有如此多的软件是基于开源构建的。Node 包管理器(npm)是一个 JavaScript 包存储库,允许你通过在基于 Javascript 的项目中轻松安装代码来重用代码。尽管我参与自由软件运动和开源已经十多年了,但我从没想过我可以用实际代码回馈它。
|
||||
|
||||
### 我的贡献
|
||||
|
||||
[彩虹企鹅][5] 就这样诞生了。它是一个 npm 库,可以在开发人员敲代码时发送激励信息。 也许它不是一个非常实用的工具。但对我来说它依然是个必要的工具,这基于我个人的经历——我经历过学习编码的挫折,为 if-me 项目做出贡献,而且从其他学习者那里听到了许多类似的故事。
|
||||
|
||||
通过我在这些编程社区的经历,我了解到编程远不止一行行的代码,拥有盟友是多么强大和有必要。无论你是谁或你自认为了解什么,自由和开源软件社区中都有机会。你的参与不一定要是大动作,因为盟友们的小小贡献加起来远大于一个人贡献的总和。迈出第一步。在开源领域中找到你的盟友。
|
||||
|
||||
*(题图:MJ:tech woman illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/power-sisterhood-allyship-open-source
|
||||
|
||||
作者:[Paloma Oliveira][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/discombobulateme
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://enterprisersproject.com/article/2022/9/software-developer-day-life?intcmp=7013a000002qLH8AAM
|
||||
[2]: https://www.if-me.org/
|
||||
[3]: https://blog.ecosia.org/ecosia-summer-of-code-mentoring/
|
||||
[4]: https://www.coyotiv.com/
|
||||
[5]: https://www.npmjs.com/package/rainbow-penguin
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/18/234855fuxewrdvwaey8jj1.jpg
|
@ -0,0 +1,142 @@
|
||||
[#]: subject: "Synchronize databases more easily with open source tools"
|
||||
[#]: via: "https://opensource.com/article/23/3/synchronize-databases-apache-seatunnel"
|
||||
[#]: author: "Li Zongwen https://opensource.com/users/li-zongwen"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "cool-summer-021"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15733-1.html"
|
||||
|
||||
使用这个开源工具轻松同步数据库
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 开源的 Apache SeaTunnel 项目是一个数据整合平台,可以很容易地实现数据同步。
|
||||
|
||||
<ruby>变更数据捕获<rt>Change Data Capture</rt></ruby>(CDC)使用服务端代理来记录、添加、更新和删除对数据表的各种操作。它以一种易用的关系型格式提供了数据变化的细节信息。它可以捕获将更改应用于目标环境中的已修改行所需的列信息和元数据。这些信息保存在一个与被跟踪的源表的列结构相对应的变化表内。
|
||||
|
||||
捕获变更的数据可不是一件容易的事。不过,有一个开源项目 —— [Apache SeaTunnel][1],它是一个数据整合平台,它提供的 CDC 功能的设计理念和功能集使这些捕获成为可能,其功能包括上文提到的,超越了现有产品的解决方案。
|
||||
|
||||
### 使用场景
|
||||
|
||||
CDC 的经典应用是异质数据库之间的数据同步或备份。你可以在 [MySQL][2]、PostgreSQL、MariaDB 和类似的数据库间进行数据同步。另外一个例子,你也可以将数据同步到应该全文搜索引擎。借助 CDC,你可以基于 CDC 捕获的数据创建备份。
|
||||
|
||||
如果设计得当,数据分析系统通过订阅目标数据表的变化情况获取需要处理的数据,而不需要将分析过程嵌入已有系统。
|
||||
|
||||
### 在微服务间共享数据状态
|
||||
|
||||
微服务现在很流行,但是在微服务间共享信息往往是一件复杂的事。CDC 是一个可能的解决方案。微服务可以使用 CDC 来获取其他微服务的数据库变化,获取数据状态更新,以及执行相应逻辑。
|
||||
|
||||
### 更新缓存
|
||||
|
||||
<ruby>命令查询责任隔离<rt>Command Query Responsibility Segregation</rt></ruby>([CQRS][4])的概念是将命令活动与查询活动分开。这两者有本质上的不同:
|
||||
|
||||
- 命令向数据源写入数据。
|
||||
- 查询从数据源读取数据。
|
||||
|
||||
问题是,读事件发生的时间与写事件发生的时间有关,以及这些事件的发生是由谁来承担责任的?
|
||||
|
||||
更新缓存可能很困难。你可以使用 CDC 从数据库获取数据更新事件,让它控制缓存的更新或失效。
|
||||
|
||||
CQRS 设计通常使用两种不同的存储实例来支持业务查询和变更操作。为了保证数据的一致性,我们可以使用分布式事务来保证强大的数据一致性,代价是可用性、性能和扩展性。你也可以使用 CDC 来确保最终的数据一致性,它的性能和伸缩性较好,但其代价是数据延迟,目前业界可以保持在毫秒范围内。
|
||||
|
||||
例如,你可以使用 CDC 把 MySQL 中的数据同步到你的全文搜索引擎(比如ElasticSearch)。在这种架构中,ElasticSearch 搜索了所有的查询,但是当你需要修改数据时,你不能直接操作 ElasticSearch 的,你需要修改上游的 MySQL 数据,因而生成了一个更新事件。当 ElasticSearch 监视数据库时,这个事件就被系统获取了,并在 ElasticSearch 中提示更新。
|
||||
|
||||
在一些 CQRS 系统中,也可以用类似的方法更新查询视图。
|
||||
|
||||
### 痛点
|
||||
|
||||
CDC 不是一个新概念,很多现有的项目已经实现了它。但是对很多用户来说,已有解决方案存在一些不足。
|
||||
|
||||
#### 单数据表配置
|
||||
|
||||
当你使用一些 CDC 软件时,你必须分别配置每个表。例如,为了同步十张表,你需要写十条 源 SQL 和 <ruby>汇聚<rt>Sink</rt></ruby> SQL 语句。为了进行转换操作,你也需要写与转换相关的 SQL 语句。
|
||||
|
||||
有时候,对于一张表来说可以手写,但只对数据量小的情况适用。当数据量大时,会发生类型映射或参数配置的错误,进而导致较高的操作和维护成本。
|
||||
|
||||
SeaTunnel 是一个易用的数据集成平台,有望解决这个问题。
|
||||
|
||||
#### 不支持模式演化
|
||||
|
||||
一些 CDC 解决方案支持 DDL 事件传递,但不支持传递到 <ruby>汇聚节点<rt>Sink</rt></ruby>,以便它能进行同步变更。由于无法根据 DDL 事件改变转换的类型信息,所以即使一个能获取事件的 CDC 也不一定可以将它发送至引擎(所以汇聚节点不能遵循 DDL 事件来进行变更)。
|
||||
|
||||
#### 太多的链接
|
||||
|
||||
在一些 CDC 平台上,当有多个表时,如果一张表被同步了,就必须使用一个链接来代表一张表。当存在多个表时,也需要很多链接。这就给源 JDBC 数据库带来了压力,同时导致binlog 过多,还会导致重复的日志解析。
|
||||
|
||||
### SeaTunnel CDC 架构的目标
|
||||
|
||||
Apache SeaTunnel 是一个开源、高效、分布式、大规模的数据集成框架。为了解决现有数据集成工具解决不了的问题,开发者社区“重新造轮子”,开发了一种具有独特功能的 CDC 平台。它的架构设计吸收了现有工具的优点,消除了相应的缺点。
|
||||
|
||||
Apache Seatunnel 支持:
|
||||
|
||||
- 以无锁并行的方式快照历史数据。
|
||||
- 日志心跳检测和动态添加数据表。
|
||||
- 读取子数据库、子表和多结构表。
|
||||
- 模式演进。
|
||||
- 所有基础的 CDC 功能。
|
||||
|
||||
它降低了用户的操作和维护成本,并且支持动态添加数据表。
|
||||
|
||||
例如,当你要同步整个数据库,并在稍后需要添加一个新表,你不必手动维护、改变配置或重启当前作业。
|
||||
|
||||
另外,Apache SeaTunnel 也支持并行读取子数据库、子表和多结构表。还支持模式演进、DDL 转换,以及在引擎内改变支持的模式,这些可以变为 <ruby>转换器<rt>Transform</rt></ruby>和 <ruby>汇聚节点<rt>Sink</rt></ruby>。
|
||||
|
||||
### SeaTunnel CDC 现状
|
||||
|
||||
如今,CDC 拥有支持增量和快照阶段的基本能力。它也支持 MySQL 实时和离线使用。MySQL 实时测试已完成,即将进行离线测试。因为它涉及对转换器和汇聚节点的更改,目前还不支持模式。不支持动态发现新增表,已预留了一些支持多结构表的接口。
|
||||
|
||||
### 项目展望
|
||||
|
||||
作为 Apache 孵化的项目,Apache SeaTunnel 的社区正快速发展起来。下一届社区计划会议的主要目标有:
|
||||
|
||||
#### 1、发展并改进连接器和目录生态
|
||||
|
||||
我们正努力改善连接器和目录功能,包括:
|
||||
|
||||
- 支持连接更多数据库,包括 TiDB、Doris 和 Stripe。
|
||||
- 改善现有的连接器的易用性和性能。
|
||||
- 支持 CDC 连接器用于实时、增量同步场景。
|
||||
|
||||
任何对连接器感兴趣者都可以查看 [Umbrella][5]。
|
||||
|
||||
#### 2、支持更多数据集成场景(SeaTunnel 引擎)
|
||||
|
||||
现有的引擎仍然存在一些解决不了的痛点,例如对整个数据库的同步,表结构变化的同步以及任务失败的大粒度。
|
||||
|
||||
我们正努力解决这些问题,对此感兴趣者可以查看 [#2272 议题][6]。
|
||||
|
||||
#### 3、更易使用(Web 版)
|
||||
|
||||
我们正努力提供 Web 界面,令操作更简便。通过 Web 界面,我们将实现以 DAG/SQL 的形式查看目录、连接器、任务和相关信息。我们也会给予用户访问调度平台的权限,以便更方便地进行任务管理。
|
||||
|
||||
欲了解更多关于 Web 版的信息,请访问 [Web 平台子项目][7]。
|
||||
|
||||
### 总结
|
||||
|
||||
数据库活动通常必须被仔细跟踪,才能对数据的更新、删除或添加操作进行管理。CDC 提供了这种功能。Apache SeaTunnel 是一个开源解决方案,能满足这些需求,它将持续迭代更新,从而提供更多功能。该项目和社区也很活跃,欢迎你的加入。
|
||||
|
||||
*(题图:MJ:database connections illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/synchronize-databases-apache-seatunnel
|
||||
|
||||
作者:[Li Zongwen][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[cool-summer-021](https://github.com/cool-summer-021)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/li-zongwen
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://seatunnel.apache.org/
|
||||
[2]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet
|
||||
[3]: https://www.redhat.com/en/topics/microservices?intcmp=7013a000002qLH8AAM
|
||||
[4]: https://www.redhat.com/architect/illustrated-cqrs
|
||||
[5]: https://github.com/apache/incubator-seatunnel/issues/1946
|
||||
[6]: https://github.com/apache/incubator-seatunnel/issues/2272
|
||||
[7]: https://github.com/apache/incubator-seatunnel-web
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/18/173544yeggjebh4algejg4.jpg
|
@ -0,0 +1,172 @@
|
||||
[#]: subject: "Best GUI Package Managers for Arch Linux"
|
||||
[#]: via: "https://www.debugpoint.com/arch-linux-gui-package-managers/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15727-1.html"
|
||||
|
||||
Arch Linux 的最佳 GUI 包管理器
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 让我们点评一些最好的 Arch Linux GUI 包管理器。选择最符合你需求的。
|
||||
|
||||
由于其可定制性、灵活性和尖端功能,Arch Linux 是高级用户和开发人员中最受欢迎和使用最广泛的 Linux 发行版之一。
|
||||
|
||||
由于其极简设计,在 Arch Linux 中安装软件的主要方式是使用终端通过命令行界面 (CLI)。
|
||||
|
||||
但并不是每个人都喜欢使用终端。基于图形用户界面(GUI)的包管理器是这些人的必备程序。有几个可选的包管理器。让我们了解一些比较流行的。
|
||||
|
||||
### 在 Arch Linux 上寻找基于 GUI 的包管理器要考虑什么?
|
||||
|
||||
在为 Arch Linux 选择基于 GUI 的包管理器时,必须考虑几个因素:
|
||||
|
||||
首先,它应该有一个干净易用的界面,对初学者来说很直观。
|
||||
|
||||
其次,它应该支持所有包管理操作,例如安装、删除、更新和搜索包。
|
||||
|
||||
第三,它应该具有高级功能,例如依赖项解析和对 AUR 包的支持。
|
||||
|
||||
最后,它应该是轻量级的,不会占用太多的系统资源。
|
||||
|
||||
### Arch Linux 的最佳 GUI 包管理器
|
||||
|
||||
#### 1、Pamac
|
||||
|
||||
此列表中的第一个 GUI 包管理器是 [Pamac][1],它由 Manjaro Linux 团队开发。具有漂亮且用户友好的界面,使其超级易于使用。
|
||||
|
||||
其直观的界面使用户可以轻松安装、删除和更新软件包。它建立在支持 AUR 的 [libalpm][2] 之上。Pamac 还支持 Snap 和 Flatpak 的 `appstream:///` 协议。因此,你可以直接从 appstream 链接启动该应用安装程序。此外,它还具有高级功能,例如依赖项解析和对 AUR 包的支持。此外,Pamac 是轻量级的,不会占用太多系统资源。
|
||||
|
||||
![Pamac 帮你浏览和安装软件包][3]
|
||||
|
||||
使用其 GUI,你可以浏览 Arch 仓库,还可以根据其功能查看应用。Pamac GUI 中有单独的部分,可以使你能够删除和卸载包,包括孤立的包。
|
||||
|
||||
它是最好的 GUI 包管理器之一。
|
||||
|
||||
![你也可以使用 Pamac 升级你的 Arch Linux 系统][4]
|
||||
|
||||
Pamac 安装很容易。它在 Arch 用户仓库(AUR)中可用。你可以 [安装 Yay][5] AUR 助手或任何其他助手来安装它。这是使用 Yay 安装的命令。该软件包位于 [此处][6]。如果你正在运行 [Manjaro Linux][7],它应该已经存在。
|
||||
|
||||
```
|
||||
yay -S pamac-aur-git
|
||||
```
|
||||
|
||||
#### 2、Octopi
|
||||
|
||||
接下来的 GUI 包管理器是 [Octopi][8],它是另一个漂亮的工具。它是使用 Qt 构建的,并带有一个高效的 GUI。在功能方面,它是一个非常先进的工具。
|
||||
|
||||
使用 Octopi,你可以搜索包、安装它们,当然也可以删除它们。此外,你可以查看直接从 Arch 仓库中获取的每个包的详细信息。例如,包版本、最后更新日期、新闻和其他信息。
|
||||
|
||||
此外,它允许你查看包的 PKGBUILD 信息。如果你想进一步调查包,这是一个很好的功能。
|
||||
|
||||
最后,它是超轻量级的,不会占用大量系统资源。我认为 Octopi 完全被低估了,它是 Arch Linux 功能丰富的软件管理器之一。
|
||||
|
||||
![Octopi][9]
|
||||
|
||||
它在 AUR 中可用,你可以使用 [Yay][5] 或任何 AUR 助手安装它。
|
||||
|
||||
```
|
||||
yay -S --needed octopi
|
||||
```
|
||||
|
||||
#### 3、GNOME “软件”应用
|
||||
|
||||
此列表中的第三个是你可能已经知道的 GNOME “<ruby>软件<rt>Software</rt></ruby>”应用。它是 Ubuntu、Fedora 和许多其他发行版的默认软件管理器。基于 GTK4,它支持所有类型的包,如 .deb、.rpm、Flatpak 和 Snap。在 Arch Linux 中,它支持主 Arch 仓库,包括用户仓库(AUR)。
|
||||
|
||||
但是,与此列表中的其他应用程序相比,它对系统资源的占用可能有点大。但它是一个现代的包管理器,可以很好地用于各种场景。
|
||||
|
||||
![GNOME “软件”应用][10]
|
||||
|
||||
安装很简单,因为它在主 Arch 仓库中可用。你可以从终端使用以下命令安装它。
|
||||
|
||||
```
|
||||
sudo pacman -S --needed gnome-software
|
||||
```
|
||||
|
||||
#### 4. KDE “发现”应用
|
||||
|
||||
我个人最喜欢的是 KDE “<ruby>[发现][11]<rt>Discover</rt></ruby>”应用 ,它是 KDE Plasma 团队中最好的软件管理器之一。如果你使用过 Kubuntu 或任何其他 KDE Plasma 桌面,那么你已经熟悉它了。
|
||||
|
||||
“发现”应用支持所有主要的打包格式,包括 deb、rpm、Flatpak 和 Snap。它有一个定义明确的软件及其来源信息页面。你还可以按应用名称搜索或按应用类别浏览目录。
|
||||
|
||||
对于 Arch Linux,它可以从主 Arch 仓库和 AUR 中获取包和信息。
|
||||
|
||||
![Discover][12]
|
||||
|
||||
你可以在 Arch Linux 中使用以下命令安装它。
|
||||
|
||||
```
|
||||
sudo pacman -S --needed discover
|
||||
```
|
||||
|
||||
#### 5、Bauh
|
||||
|
||||
[Bauh][13] 是一个相对较新的基于 GUI 的 Arch Linux 包管理器。它具有简单且用户友好的界面,使用户可以轻松管理他们的包。
|
||||
|
||||
它的主窗口为你提供了在 Arch Linux 系统中管理应用程序的所有选项。主搜索框使你能够搜索应用程序。此外,你可以通过类型浏览,例如仅查看 Flatpak、AUR 等包。
|
||||
|
||||
此外,使用 Bauh 的主 GUI,你可以逐个降级和更新软件包,查看软件包信息,甚至直接启动应用。
|
||||
|
||||
良好设计的设置面板为你提供了所需的所有自定义选项。
|
||||
|
||||
![Arch Linux 中的 Bauh 包管理器][14]
|
||||
|
||||
在系统中 [设置][5] AUR 之后,你可以使用以下命令安装它。
|
||||
|
||||
```
|
||||
yay -S --needed bauh
|
||||
```
|
||||
|
||||
### 还有几个
|
||||
|
||||
还有一些其他的包管理器可以在 Arch Linux 中使用。这是其中的一小部分。这些不是那么流行。但它们也可以作为替代方案。
|
||||
|
||||
- [Apper][15]:使用 PackageKit 的应用和包管理器(来自 KDE 团队)
|
||||
- [tkPacman][16]:使用 Tcl/Tk 构建的 pacman 轻量级 GUI
|
||||
|
||||
最后,你可以在官方 [Arch Wiki][17] 中阅读更多相关信息。
|
||||
|
||||
### 总结
|
||||
|
||||
在本文中,我们讨论了一些适用于 Arch Linux 的最佳基于 GUI 的包管理器,包括 Pamac、Octopi、GNOME “软件”应用、KDE “发现”应用 和 Bauh。
|
||||
|
||||
这些包管理器中的每一个都有自己的优点和缺点,因此你可以选择最适合你需求的那个。
|
||||
|
||||
如果你要我推荐,我建议你试试这些:Pamac、Octopi 和 Bauh。它们都是很好的。
|
||||
|
||||
*(题图:MJ:software package manager hd, abstract)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/arch-linux-gui-package-managers/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://wiki.manjaro.org/index.php/Pamac
|
||||
[2]: https://man.archlinux.org/man/libalpm.3.en
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2023/03/Pamac-helps-you-to-browse-and-install-packages.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2023/03/You-can-also-upgrade-your-Arch-Linux-system-using-Pamac.jpg
|
||||
[5]: https://www.debugpoint.com/install-yay-arch/
|
||||
[6]: https://aur.archlinux.org/packages/pamac-aur-git
|
||||
[7]: https://www.debugpoint.com/manjaro-linux-review-2022/
|
||||
[8]: https://tintaescura.com/projects/octopi/
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2023/03/Octopi.jpg
|
||||
[10]: https://www.debugpoint.com/wp-content/uploads/2023/03/GNOME-Software.jpg
|
||||
[11]: https://apps.kde.org/discover/
|
||||
[12]: https://www.debugpoint.com/wp-content/uploads/2023/03/Discover.jpg
|
||||
[13]: https://github.com/vinifmor/bauh
|
||||
[14]: https://www.debugpoint.com/wp-content/uploads/2023/03/Bauh-package-manager-in-Arch-Linux.jpg
|
||||
[15]: https://apps.kde.org//system/apper/
|
||||
[16]: https://aur.archlinux.org/packages/tkpacman
|
||||
[17]: https://wiki.archlinux.org/title/Pacman/Tips_and_tricks#Graphical
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/16/152829wbmjtg5fgjiyf4lt.jpg
|
@ -0,0 +1,148 @@
|
||||
[#]: subject: "Write documentation that actually works for your community"
|
||||
[#]: via: "https://opensource.com/article/23/3/community-documentation"
|
||||
[#]: author: "Olga Merkulova https://opensource.com/users/olga-merkulova"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "alim0x"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15743-1.html"
|
||||
|
||||
编写对社区真正有用的文档
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 建立良好的文档可能是困难的,但它对有效的沟通至关重要。遵循这个框架来编写并与正确的人分享文档。
|
||||
|
||||
成功和可持续的项目,与那些消失无踪的项目有什么不同?答案是 —— 社区。社区是开源项目的发展动力,而文档是构建社区的基石之一。也就是说,文档的意义不仅仅在于文档本身。
|
||||
|
||||
建立好的文档可能很困难。用户不愿意阅读文档,因为它不易查找,它很快就过时了,它冗长,或者它不全面。
|
||||
|
||||
开发团队不写文档,因为他们陷入了“对我来说显而易见,所以对所有人都显而易见”的陷阱。他们不写,因为他们忙于开发项目。要么是需求变化太快了,要么是开发得还不够快。
|
||||
|
||||
但是好的文档仍然是团队和项目之间最好的沟通工具。考虑到项目随着时间的推移往往会变得更大,这一点尤其重要。
|
||||
|
||||
文档可以是团队或公司内部的唯一真理。这在协调人们朝着共同的目标前进,以及在人们转移到不同的项目时保留知识方面非常重要。
|
||||
|
||||
那么,要如何为一个项目写出合适的文档,并与正确的人分享呢?
|
||||
|
||||
### 什么是成功的社区文档?
|
||||
|
||||
要想在你的社区文档编写中取得成功,你需要:
|
||||
|
||||
- 规划你的路径
|
||||
- 使其清晰简单
|
||||
- 灵活变通,根据具体情况调整路径
|
||||
- 做版本控制
|
||||
|
||||
![图片展示了建立文档的整个流程][1]
|
||||
|
||||
灵活并不意味着混乱。许多项目之所以成功,就是因为它们组织得很好。
|
||||
|
||||
James Clear(《<ruby>原子习惯<rt>Atomic Habits</rt></ruby>》一书的作者)写道:“你并不是提升到了你目标所在的水平,而是降低到你整个系统所在的水平。”一定要组织好过程,使水平足够高,才能取得成功。
|
||||
|
||||
### 设计流程
|
||||
|
||||
文档本身就是一个项目。你可以把写文档当作写代码一样。事实上,文档可以是一个产品,而且是一个非常有价值的产品。
|
||||
|
||||
这就意味着你可以采用与软件开发相同的流程:分析、获取需求、设计、实现和维护,把文档作为你的一个流程对待。
|
||||
|
||||
在设计流程时,要从不同的角度考虑。不是所有的文档都适用于所有人。
|
||||
|
||||
大多数用户只需要一个了解项目概况的文档,而 API 文档则是留给开发者或高级用户的。
|
||||
|
||||
开发者需要了解库和函数的文档。用户则更需要看到示例、操作指南,和项目与其他软件相配合的架构概述。
|
||||
|
||||
![图片展示了编写文档时的不同视角][2]
|
||||
|
||||
总之,在创建任何流程之前,你必须确定你需要什么:
|
||||
|
||||
- **关注的群体:** 包括开发者、集成商、管理员、用户、销售、运营、高管
|
||||
- **专业水平:** 要考虑到初级、中级和高级用户
|
||||
- **详细程度:** 既要有高层级的概述,也要有技术细节,所以要考虑如何呈现这些内容
|
||||
- **路径和入口:** 人们如何找到文档,如何使用文档
|
||||
|
||||
当你思考这些问题时,它可以帮助你构建你想通过文档传达的信息的结构。它定义了文档中必须包含的内容的清晰指标。
|
||||
|
||||
下面是如何围绕文档建立一个流程的方法。
|
||||
|
||||
### 编码约定
|
||||
|
||||
代码本身应该有意义。文档应通过良好的类名、文件名等来表达出来。通过思考以下内容,创建通用的编码标准和自我注解的编码过程:
|
||||
|
||||
- 变量命名约定
|
||||
- 通过使用类、函数命名方案使名称易于理解
|
||||
- 避免深度嵌套,或 [根本不嵌套][3]
|
||||
- 不要简单地复制和粘贴代码
|
||||
- 不应使用长方法
|
||||
- 避免使用幻数(改用常量)
|
||||
- 使用提取的方法、变量等
|
||||
- 使用有意义的目录结构、模块、包和文件名
|
||||
|
||||
### 开发时测试
|
||||
|
||||
测试不仅仅是关于代码应该如何工作。它还涉及如何使用 API、函数、方法等。编写良好的测试可以揭示基本用例和边缘用例。甚至还有一种 [测试驱动开发][4] 的实践,专注于在代码开发之前创建测试用例(应该测试什么以及如何测试的分步场景)。
|
||||
|
||||
### 版本控制
|
||||
|
||||
版本控制(即使是对文档进行版本控制)可以帮助你跟踪更改的逻辑。它可以帮助你回答为什么这么修改。
|
||||
|
||||
确保提交期间的注释能解释为什么进行更改,而不是进行了哪些更改。
|
||||
|
||||
编写文档过程越吸引人,就会有更多的人参与其中,为它添加创造力和乐趣。你应该通过以下方式考虑文档的可读性:
|
||||
|
||||
- 软件代码约定
|
||||
- 图表和图形(也通过文字进行解释)
|
||||
- 思维导图
|
||||
- 概念图
|
||||
- 信息图表
|
||||
- 图片(突出显示重要的部分)
|
||||
- 短视频
|
||||
|
||||
通过使用不同的交流方式,你可以提供更多的方式来参与文档。这有助于防止误解(不同的语言,不同的含义)和有助于通过不同的学习方式进行学习。
|
||||
|
||||
以下是一些用于创建文档的软件工具:
|
||||
|
||||
- **Javadoc、Doxygen、JsDoc 等:** 许多语言都有自动化的文档工具,以帮助捕获代码中的主要功能
|
||||
- **Web 钩子和 CI/CD 引擎:** 允许持续发布文档
|
||||
- **Restructured Text、Markdown、Asciidoc:** 文件格式和处理引擎,帮助你从纯文本文件中生成美观且实用的文档
|
||||
- **ReadTheDocs:** 是一个可以和公共 Git 存储库联动的文档托管主机
|
||||
- **Draw.io、LibreOffice Draw、Dia:** 制作图表、图形、思维导图、路线图、计划、标准和指标等
|
||||
- **Peek、Asciinema:** 记录终端命令操作
|
||||
- **VokoscreenNG:** 录制屏幕和鼠标点击操作
|
||||
|
||||
### 文档很重要
|
||||
|
||||
编写文档的过程和协议与项目本身同样重要。最重要的是,它把项目的信息和项目的创造传达到位,更加令人兴奋。
|
||||
|
||||
快速进入项目和流程,以及了解一切是如何工作的,是文档一个重要的功能。它有助于确保众人持续参与。通过在团队中构建一种“语言”,可以简化流程,更清晰地理解所要做的事情。
|
||||
|
||||
文档旨在传达价值,即无论是通过团队成员还是通过应用程序的用户的言行,来展示出某些东西。
|
||||
|
||||
要将这个过程视为一个连续的整体,并在其中融合使用沟通、流程和文档的方式。
|
||||
|
||||
![图片展示了文档作为一种沟通的过程][5]
|
||||
|
||||
文档是一种沟通手段。
|
||||
|
||||
*(题图:MJ:document development illustration in high resolution, very detailed)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/community-documentation
|
||||
|
||||
作者:[Olga Merkulova][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[alim0x](https://github.com/alim0x)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/olga-merkulova
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://opensource.com/sites/default/files/2023-03/documentationflowchart.png
|
||||
[2]: https://opensource.com/sites/default/files/2023-03/different.perspectives.whiledocumenting.png
|
||||
[3]: https://opensource.com/article/20/2/java-streams
|
||||
[4]: https://opensource.com/article/20/1/test-driven-development
|
||||
[5]: https://opensource.com/sites/default/files/2023-03/doc.is_.aprocessofcommunication.png
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/22/172758mm2rzjry2ful090y.jpg
|
@ -0,0 +1,79 @@
|
||||
[#]: subject: "My first pull request at age 14"
|
||||
[#]: via: "https://opensource.com/article/23/3/my-first-code-contribution-age-14"
|
||||
[#]: author: "Neil Naveen https://opensource.com/users/neilnaveen"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15723-1.html"
|
||||
|
||||
14 岁那年,我提交了第一个拉取请求
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 年龄并不是为开源做贡献的障碍。
|
||||
|
||||
我叫 Neil Naveen,我是一个 14 岁的初中生,已经有七年的编码经验。我使用 [Golang][1] 编码也有两年了。
|
||||
|
||||
不过,编码并不是我唯一的爱好。我练习柔术已经有四年了,并参加过多次比赛。我对编码和柔术充满热情,因为它们教给了我重要的人生课程。
|
||||
|
||||
### Codecombat
|
||||
|
||||
我在 [Codecombat][2] 上开始编码,它教会了我许多基本的编码技巧。
|
||||
|
||||
在我的编码历程中,最激动人心的时刻之一是我在 Codecombat 主办的多人竞技场中,在大约 50,000 名玩家中排名第 16。当时我只有 11 岁,这对我来说是一个不可思议的成就。它给了我继续探索和学习新事物的信心。
|
||||
|
||||
### Leetcode
|
||||
|
||||
在 Codecombat 之后,我转到了 [leetcode.com][3]。通过解决这个网站量身定制的问题,来磨练我的算法编码技能,以学习特定的算法。
|
||||
|
||||
### Coding Game
|
||||
|
||||
当我 13 岁时,我转到了 [Coding Game][4] 的机器人编程。这里的竞争更加激烈,因此我必须采用更好的算法。例如,在创建终极 <ruby>井字游戏<rt>tic-tac-toe</rt></ruby>人工智能时,我使用了 <ruby>极小化极大算法<rt>Minimax</rt></ruby> 和 <ruby>蒙特卡洛树搜索<rt>Monte Carlo Tree Search</rt></ruby> 等算法,使我的代码快速高效。
|
||||
|
||||
### GitHub CLI
|
||||
|
||||
有一天,我看到爸爸在使用一个叫 [GitHub CLI][5] 的开源工具,我被它迷住了。GitHub CLI 是一个允许用户直接从命令行与 GitHub 的 API 互动的工具,而不需要到 GitHub 网站上去。
|
||||
|
||||
又有一天,我父亲正在审查一个旨在检测依赖关系中的漏洞的机器人的 <ruby>拉取请求<rt>PR</rt></ruby>。
|
||||
|
||||
后来,我思考了 GitHub CLI 和这个机器人,并想知道 GitHub CLI 本身是否被一个安全机器人所监控。事实证明它没有。
|
||||
|
||||
所以我创建了一个修复程序,并包含了 GitHub CLI 的安全审计。
|
||||
|
||||
令我高兴的是,我的贡献被接受了。它被合并到了项目中,这对我来说是一个激动人心的时刻。能为一个像 GitHub CLI 这样受欢迎的工具的重要项目作出贡献,并帮助保护它,是一个极好的机遇。这是我的 PR 的链接:[https://github.com/cli/cli/pull/4473][6]
|
||||
|
||||
### 提交你的代码
|
||||
|
||||
我希望我的故事能激励其他年轻人去探索并为开源世界做出贡献。年龄并不是障碍。每个人都应该探索和贡献。如果你想看看我的网站,请到 [neilnaveen.dev][7]。你也可以看看我的 [Leetcode 个人资料][8]。如果你有兴趣,可以看看我在 [CloudNativeSecurityCon][9] 的演讲记录。
|
||||
|
||||
我很感激迄今为止我所拥有的机会,我很兴奋地期盼我的未来。谢谢你阅读我的故事!
|
||||
|
||||
(LCTT 校注:我也接触过几位初中生,他们在技术和开源方面有这浓厚的兴趣,并取得了令人称道的进展。所以,看到这篇文章的同学们,你也可以的!)
|
||||
|
||||
(题图:MJ:Kids programming learning carton)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/my-first-code-contribution-age-14
|
||||
|
||||
作者:[Neil Naveen][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/neilnaveen
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://opensource.com/article/18/11/learning-golang
|
||||
[2]: https://codecombat.com
|
||||
[3]: https://leetcode.com/neilnaveen
|
||||
[4]: https://www.codingame.com/profile/0fa733a2c7f92a829e4190625b5b9a485718854
|
||||
[5]: https://github.com/cli/cli
|
||||
[6]: https://github.com/cli/cli/pull/4473
|
||||
[7]: https://neilnaveen.dev
|
||||
[8]: https://leetcode.com/neilnaveen/
|
||||
[9]: https://www.youtube.com/watch?v=K6NRUGol-rE
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/15/090228sa3z0p8pt3bre9vt.jpg
|
@ -3,24 +3,28 @@
|
||||
[#]: author: "Amrita https://opensource.com/users/amrita42"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15708-1.html"
|
||||
|
||||
开源思维导图工具
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 使用思维导图与开源工具来做一个有影响力的演示。
|
||||
|
||||
在今天的世界和社交媒体中,许多人没有耐心阅读冗长的文字内容。视觉效果是吸引受众注意力的好方法。
|
||||
|
||||
你知道吗,3M 公司的研究得出结论,视觉的处理速度是文字的 60,000 倍?视觉比文字更有冲击力,能增强创造性思维和记忆。
|
||||
|
||||
### 一张图片胜过千言万语
|
||||
### 一图胜千言
|
||||
|
||||
我看了一些常见的[Git命令][1]。我把 Git 命令作为主话题,每个子话题都是一个带有定义的 Git 命令语法。为此,我使用了 Wisemapping。
|
||||
我收集了一些常见的 [Git 命令][1]。我把 Git 命令作为主话题,每个子话题都是一个带有定义的 Git 命令语法。为此,我使用了 Wisemapping。
|
||||
|
||||
![A git command mind map][2]
|
||||
|
||||
不管你以前是否知道[思维导图][3]是什么,现在你看到了思维导图,你就可以理解这个概念了。这就是视觉的力量。
|
||||
不管你以前是否知道 [思维导图][3] 是什么,现在你看到了思维导图,你就可以理解这个概念了。这就是视觉的力量。
|
||||
|
||||
### 如何创建一个思维导图?
|
||||
|
||||
@ -36,10 +40,12 @@
|
||||
- [Freeplane][5]
|
||||
- [Semantik][6]
|
||||
|
||||
维基百科对思维导图的定义是:将信息直观地组织成一个层次,显示整体中各部分之间的关系。思维导图从一个中心话题开始,然后建立起关系。它是一种结构化思想和创造有影响力的演示的视觉方式。
|
||||
维基百科对思维导图的定义是:将信息直观地组织成一个层次结构,显示整体中各部分之间的关系。思维导图从一个中心话题开始,然后建立起关系。它是一种结构化思想和创造有影响力的演示的视觉方式。
|
||||
|
||||
你可以在工作中使用思维导图。例如,我用思维导图来展示一个项目所计划的功能的高层概述。有了这些优秀的开源思维导图应用,你很容易就能开始将你的下一个项目可视化。试试用开源的思维导图吧。
|
||||
|
||||
*(题图:MJ:Thinking Brainstorming Creativity Ideas Discussion Illustrations Blue Gold Simplicity)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/open-source-mind-mapping
|
||||
@ -47,7 +53,7 @@ via: https://opensource.com/article/23/3/open-source-mind-mapping
|
||||
作者:[Amrita][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[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/) 荣誉推出
|
||||
|
||||
@ -58,4 +64,5 @@ via: https://opensource.com/article/23/3/open-source-mind-mapping
|
||||
[3]: https://opensource.com/article/21/12/open-source-mind-mapping-drawio
|
||||
[4]: https://www.wisemapping.com/
|
||||
[5]: https://opensource.com/article/19/1/productivity-tool-freeplane
|
||||
[6]: https://waf.io/semantik.html
|
||||
[6]: https://waf.io/semantik.html
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/10/114653pwq2z2md5mootf05.jpg
|
@ -1,32 +1,34 @@
|
||||
[#]: subject: "How to Install Kubernetes (K8s) Metrics Server Step by Step"
|
||||
[#]: subject: "How to Install Kubernetes (k8s) Metrics Server Step by Step"
|
||||
[#]: via: "https://www.linuxtechi.com/how-to-install-kubernetes-metrics-server/"
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15714-1.html"
|
||||
|
||||
如何逐步安装 Kubernetes (K8s) 指标服务器
|
||||
如何逐步安装 Kubernetes(k8s)指标服务器
|
||||
======
|
||||
|
||||
在这篇文章中,我们将逐步介绍如何安装 Kubernetes 指标服务器。
|
||||
![][0]
|
||||
|
||||
Kubernetes(k8s) 指标服务器是一个组件,用于收集和聚合来自 Kubernetes 集群中各种来源(包括节点和 Pod)的指标数据。此数据可用于监控和优化资源利用率、识别潜在问题并提高 Kubernetes 集群的整体性能。
|
||||
> 在这篇文章中,我们将逐步介绍如何安装 Kubernetes 指标服务器。
|
||||
|
||||
指标服务器收集资源利用率数据,例如集群中节点和 Pod 的 CPU 和内存使用情况。它提供了一个 API 端点,可用于查询此数据并检索集群中特定资源的指标。
|
||||
Kubernetes(k8s)指标服务器是一个组件,用于收集和聚合来自 Kubernetes 集群中各种来源(包括节点和 <ruby>容器荚<rt>Pod</rt></ruby>)的指标数据。此数据可用于监控和优化资源利用率、识别潜在问题并提高 Kubernetes 集群的整体性能。
|
||||
|
||||
指标服务器收集资源利用率数据,例如集群中节点和容器荚的 CPU 和内存使用情况。它提供了一个 API 端点,可用于查询此数据并检索集群中特定资源的指标。
|
||||
|
||||
##### 先决条件
|
||||
|
||||
- 启动并运行 Kubernetes 集群(v1.21 或更高版本)。
|
||||
- kubectl 命令行工具已安装并配置为与你的 Kubernetes 集群交互。
|
||||
- `kubectl` 命令行工具已安装,并配置为与你的 Kubernetes 集群交互。
|
||||
- 创建和修改 Kubernetes 对象的能力。
|
||||
|
||||
事不宜迟,让我们深入了解安装步骤。
|
||||
|
||||
### 步骤 1) 下载指标服务器清单
|
||||
### 步骤 1 下载指标服务器清单
|
||||
|
||||
第一步是从 Kubernetes GitHub 仓库下载最新的指标服务器清单文件。使用下面的 curl 命令下载 yaml 文件:
|
||||
第一步是从 Kubernetes GitHub 仓库下载最新的指标服务器清单文件。使用下面的 `curl` 命令下载 yaml 文件:
|
||||
|
||||
```
|
||||
# curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
|
||||
@ -40,21 +42,21 @@ Kubernetes(k8s) 指标服务器是一个组件,用于收集和聚合来自 Kub
|
||||
# curl https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml
|
||||
```
|
||||
|
||||
### 步骤 2)修改指标服务器 Yaml 文件
|
||||
### 步骤 2 修改指标服务器 Yaml 文件
|
||||
|
||||
接下来,你需要修改 Metrics Server yaml 文件以设置一些配置选项:
|
||||
接下来,你需要修改指标服务器的 yaml 文件以设置一些配置选项:
|
||||
|
||||
```
|
||||
# vi components.yaml
|
||||
```
|
||||
|
||||
找到 container 下的 args 部分,添加以下行:
|
||||
找到 `container` 下的 `args` 部分,添加以下行:
|
||||
|
||||
```
|
||||
- --kubelet-insecure-tls
|
||||
```
|
||||
|
||||
在 spec 下,添加以下参数:
|
||||
在 `spec` 下,添加以下参数:
|
||||
|
||||
```
|
||||
hostNetwork: true
|
||||
@ -64,9 +66,9 @@ hostNetwork: true
|
||||
|
||||
保存并关闭文件。
|
||||
|
||||
### 步骤 3)部署指标服务器
|
||||
### 步骤 3 部署指标服务器
|
||||
|
||||
现在,我们准备好部署指标服务器,运行以下 kubectl 命令:
|
||||
现在,我们准备好部署指标服务器,运行以下 `kubectl` 命令:
|
||||
|
||||
```
|
||||
# kubectl apply -f components.yaml
|
||||
@ -74,9 +76,9 @@ hostNetwork: true
|
||||
|
||||
![][3]
|
||||
|
||||
### 步骤 4)验证指标服务器部署
|
||||
### 步骤 4 验证指标服务器部署
|
||||
|
||||
部署指标服务器后,通过检查在 kube-system 命名空间中运行的 pod 状态来验证它的状态:
|
||||
部署指标服务器后,通过检查在 `kube-system` 命名空间中运行的容器荚状态来验证它的状态:
|
||||
|
||||
```
|
||||
# kubectl get pods -n kube-system
|
||||
@ -84,11 +86,11 @@ hostNetwork: true
|
||||
|
||||
![][4]
|
||||
|
||||
上面的输出确认指标服务器 pod 已启动并正在运行。
|
||||
上面的输出确认指标服务器容器荚已启动并正在运行。
|
||||
|
||||
### 步骤 5)测试指标服务器安装
|
||||
### 步骤 5 测试指标服务器安装
|
||||
|
||||
最后,你可以通过运行以下 kubectl 命令来测试指标服务器:
|
||||
最后,你可以通过运行以下 `kubectl` 命令来测试指标服务器:
|
||||
|
||||
```
|
||||
# kubectl top nodes
|
||||
@ -98,7 +100,7 @@ hostNetwork: true
|
||||
|
||||
![][5]
|
||||
|
||||
要查看当前命名空间或特定命名空间的 pod 资源利用率,请运行:
|
||||
要查看当前命名空间或特定命名空间的容器荚资源利用率,请运行:
|
||||
|
||||
```
|
||||
# kubectl top pod
|
||||
@ -109,6 +111,8 @@ hostNetwork: true
|
||||
|
||||
这就是这篇文章的全部内容,我希望你能从中找到有用的信息。请在下面的评论部分发表你的反馈和疑问。
|
||||
|
||||
*(题图:MJ: Kubernetes container paper art light blue background ultra-detailed topview)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/how-to-install-kubernetes-metrics-server/
|
||||
@ -116,7 +120,7 @@ via: https://www.linuxtechi.com/how-to-install-kubernetes-metrics-server/
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[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/) 荣誉推出
|
||||
|
||||
@ -127,4 +131,5 @@ via: https://www.linuxtechi.com/how-to-install-kubernetes-metrics-server/
|
||||
[3]: https://www.linuxtechi.com/wp-content/uploads/2023/03/Deploy-Metrics-Server-Kubectl-Command.png
|
||||
[4]: https://www.linuxtechi.com/wp-content/uploads/2023/03/Metrics-Server-Pods-Status-Kube-System.png
|
||||
[5]: https://www.linuxtechi.com/wp-content/uploads/2023/03/Kubectl-top-node-command-Output.png?ezimgfmt=ng:webp/ngcb22
|
||||
[6]: https://www.linuxtechi.com/wp-content/uploads/2023/03/Kubectl-top-pod-command-output.png
|
||||
[6]: https://www.linuxtechi.com/wp-content/uploads/2023/03/Kubectl-top-pod-command-output.png
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/12/100919k6p6yyweu6nv6nkh.jpg
|
@ -3,14 +3,18 @@
|
||||
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15703-1.html"
|
||||
|
||||
使用这个开源的会计应用来管理你的小企业
|
||||
======
|
||||
|
||||
[GnuCash][1] 是一个强大而灵活的会计工具,可用于小企业的发票和会计。它的许多功能使它特别适合这一目的,包括跟踪支出和收入、生成报告和管理发票的能力。此外,GnuCash 是免费和开源的,这使得资源有限的小企业也可以使用它。在这篇文章中,我会讨论 GnuCash 的特点,使你可以很容易地在自己的小企业中开始使用它。
|
||||
![][0]
|
||||
|
||||
> 用 GnuCash 跟踪客户和发票的情况。
|
||||
|
||||
[GnuCash][1] 是一个强大而灵活的会计工具,可用于小企业的发票和会计。它的许多功能使它特别适合这一目的,包括跟踪支出和收入、生成报告和管理发票的能力。此外,GnuCash 是自由开源的,这使得资源有限的小企业也可以使用它。在这篇文章中,我会讨论 GnuCash 的特点,使你可以很容易地在自己的小企业中开始使用它。
|
||||
|
||||
几年前,我开始使用 GnuCash 进行个人财务管理,但发现它也可以作为我的小企业的一个有用工具。在我企业的大部分时间里,我一直在使用一个专有的解决方案。我逐渐厌倦了被迫定期升级以获取我的小企业的发票和报表。转而使用 GnuCash,使我能够在不牺牲任何功能的情况下,将我的小企业会计与我的个人财务相结合。
|
||||
|
||||
@ -33,33 +37,33 @@ $ sudo dnf install gnucash
|
||||
GnuCash 带有一个账户设置向导,可以帮助你建立一个普通的商业账户配置。要访问它:
|
||||
|
||||
- 启动 GnuCash。
|
||||
- 点击**文件**菜单,选择**新文件**。
|
||||
- 点击 “<ruby>文件<rt>File</rt></ruby>” 菜单,选择 “<ruby>新文件<rt>New File</rt></ruby>”。
|
||||
|
||||
按照屏幕上出现的 GnuCash 助手来创建你的新商业账户文件。
|
||||
|
||||
屏幕上的说明将指导你完成设置业务的过程。单击“**助手**”窗口右上角的“**下一步**”。系统会提示你输入公司名称、地址、联系信息和你自己选择的公司 ID。你还必须选择默认税表和日期格式。
|
||||
屏幕上的说明将指导你完成设置业务的过程。单击 “<ruby>助手<rt>Assistant</rt></ruby>” 窗口右上角的 “<ruby>下一步<rt>Next</rt></ruby>”。系统会提示你输入公司名称、地址、联系信息和你自己选择的公司 ID。你还必须选择默认税表和日期格式。
|
||||
|
||||
下一个页面提示你选择货币,有大量的货币支持。
|
||||
|
||||
然后提示你选择你要创建的账户。选择创建**企业账户**的选项。你可以随时定制账户列表,GnuCash 提供了[大量的文档][2],帮助你更好地根据个人需求进行定制。
|
||||
然后提示你选择你要创建的账户。选择创建 “<ruby>企业账户<rt>Business Accounts</rt></ruby>” 的选项。你可以随时定制账户列表,GnuCash 提供了 [大量的文档][2],帮助你更好地根据个人需求进行定制。
|
||||
|
||||
完成助手,然后单击 GnuCash **助手**窗口右上角的**应用**。
|
||||
完成助手,然后单击 GnuCash “助手” 窗口右上角的 “<ruby>应用<rt>Apply</rt></ruby>”。
|
||||
|
||||
### 添加客户
|
||||
|
||||
GnuCash 的顶部菜单有一个标有**业务**的菜单项。该菜单上的第一个项目是**客户**,其次是**客户概览**。在这里你可以查看你所有客户的列表。
|
||||
GnuCash 的顶部菜单有一个标有 “<ruby>业务<rt>Business</rt></ruby>” 的菜单项。该菜单上的第一个项目是 “<ruby>客户<rt>Customers</rt></ruby>”,其次是 “<ruby>客户概览<rt>Customers Overview</rt></ruby>”。在这里你可以查看你所有客户的列表。
|
||||
|
||||
下一个项目是**新客户**。这是你输入新客户的地方。对话框为客户信息提供了一个位置,包括帐单信息、运输地址、电子邮件地址、电话号码等。
|
||||
下一个项目是 “<ruby>新客户<rt>New Customer</rt></ruby>”。这是你输入新客户的地方。对话框为客户信息提供了一个位置,包括帐单信息、运输地址、电子邮件地址、电话号码等。
|
||||
|
||||
### 创建一个发票
|
||||
|
||||
添加客户后,你可以开始创建发票的过程。点击**业务**菜单,选择**客户**,然后点击**新发票**。
|
||||
添加客户后,你可以开始创建发票的过程。点击 “业务” 菜单,选择 “客户”,然后点击 “<ruby>新发票<rt>New Invoice</rt></ruby>”。
|
||||
|
||||
付款处理也很简单。这位于**业务**菜单中。选择**客户**,然后**处理付款**。
|
||||
付款处理也很简单。这位于 “业务” 菜单中。选择 “客户”,然后 “<ruby>处理付款<rt>Process Payment</rt></ruby>”。
|
||||
|
||||
### 你在做生意了
|
||||
|
||||
如果你的业务需要,**业务**菜单还包括输入供应商和雇员的选项。有一个菜单项用于销售税和许多其他选项,以确保你符合当地的要求。
|
||||
如果你的业务需要,“业务” 菜单还包括输入供应商和雇员的选项。有一个菜单项用于销售税和许多其他选项,以确保你符合当地的要求。
|
||||
|
||||
使用 GnuCash,你的数据不是以专有格式存储的,所以如果你需要,你可以在将来迁移到任何其他平台。数据存储的开放标准,特别是当这些数据是法律要求的时候,是很重要的,可以让你完全拥有你的商业历史。使用 GnuCash 使你能控制你的小企业。
|
||||
|
||||
@ -70,11 +74,12 @@ via: https://opensource.com/article/23/3/open-source-accounting-run-business
|
||||
作者:[Don Watkins][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[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/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/don-watkins
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.gnucash.org/
|
||||
[2]: https://www.gnucash.org/docs/v4/C/gnucash-guide/bus_setup.html
|
||||
[2]: https://www.gnucash.org/docs/v4/C/gnucash-guide/bus_setup.html
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/08/150133rfxheuuce1ufi99c.jpg
|
@ -3,37 +3,39 @@
|
||||
[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "mcfd"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15709-1.html"
|
||||
|
||||
Rust 基础系列 #1: 创建并运行你的首个 Rust 程序
|
||||
======
|
||||
|
||||
![][1]
|
||||
![][0]
|
||||
|
||||
Rust 是被开发者和科技公司所采用最快的系统编程语言之一。它也被每天使用它的开发者评为**最受欢迎的编程语言**之一。其[已经][2]**[连续七年][2]**[受到这种欢迎了][2]!
|
||||
> 在 Rust 编程系列的第一篇中,你将学习如何用 Rust 编写和执行你的第一个程序。
|
||||
|
||||
Rust 是最快风靡开发者和科技公司的系统编程语言之一。日常使用它的开发者将其评为**最受欢迎的编程语言**之一,而它 [已经连续七年获此殊荣了][2]!
|
||||
|
||||
它是如此的受欢迎,以致于现在有两股巨大的推力将其带入 Linux 生态系统中:
|
||||
|
||||
- 包括 [Rust 将作为 Linux 内核的第二支持语言][3]
|
||||
- [将 Rust 作为 Linux 内核的二级支持语言][3]
|
||||
- System76 [正在使用 Rust 重写他们自己的桌面环境][4]
|
||||
|
||||
而这仅仅是在 Linux 生态系统中。安卓的蓝牙实现 [Gabeldorsche][5] 现在也是由 Rust 编写的。
|
||||
而这还仅仅是在 Linux 生态系统中。安卓上的蓝牙软件 [Gabeldorsche][5] 现在也是由 Rust 编写的。
|
||||
|
||||
你是否看到了 Rust 的流行趋势?你大概率可能想学习使用 Rust 进行编程。
|
||||
你是否也看到了 Rust 的流行趋势?那么你或许也想学习使用 Rust 进行编程。
|
||||
|
||||
### 为什么你要考虑 Rust 而不是其他编程语言?
|
||||
|
||||
首先,Rust 是一门 **类型安全的编程语言** 并且 **拥有极其严格的编译期检查**。因此,你首先会 “被迫” 写不出不安全的代码(好吧,通常)。
|
||||
首先,Rust 是一门 **类型安全的编程语言** 并且 **拥有极其严格的编译期检查**。因此,你首先会 “被迫” 写不出不安全的代码(好吧,通常是这样)。
|
||||
|
||||
Rust 编程语言有以下 "目标":
|
||||
Rust 编程语言有以下 “目标”:
|
||||
|
||||
- **性能**:Rust 的二进制文件和 C 语言的二进制文件一样快,有时甚至超过了 C++ 的二进制文件!
|
||||
- **性能**:Rust 的二进制文件和 C 语言的二进制文件一样快,有时甚至超过了 C++ 的二进制文件!
|
||||
- **内存安全**:Rust 非常重视内存安全。
|
||||
- **并发**:对内存安全的关注消除了很多类似竞争的情况,并帮助你在程序中无畏并发。
|
||||
- **并发性**:对内存安全的关注消除了很多类似竞争的情况,并帮助你在程序中无畏并发。
|
||||
|
||||
以下是在 C/C++ 等语言中可能犯的一些错误(但不是 Rust):
|
||||
以下是在 C/C++ 等语言中可能犯的一些错误(但 Rust 不会):
|
||||
|
||||
- 释放后使用
|
||||
- 双重释放
|
||||
@ -43,9 +45,9 @@ Rust 编程语言有以下 "目标":
|
||||
- 使用未经初始化的变量
|
||||
- 线程不安全的多线程
|
||||
|
||||
看看 [Apple][6], [Microsoft][7], [Google][8], [0day][9] 等大公司因这类错误而引起的问题吧。
|
||||
看看 [苹果][6]、[微软][7]、[谷歌][8] 等大公司因这类 [0day][9] 错误而引起的问题吧。
|
||||
|
||||
现在你可能知道了为什么要选择 Rust 语言而不是其他编程语言,让我们开始学习 Rust 语言的系列教程吧!
|
||||
现在你可能知道了为什么要选择 Rust 语言而不是其他编程语言,让我们开始学习 Rust 语言的系列教程吧!
|
||||
|
||||
### 目标受众
|
||||
|
||||
@ -58,7 +60,7 @@ Rust 编程语言有以下 "目标":
|
||||
### 安装 Rust 工具链
|
||||
|
||||
我希望你能在本地安装 [Rust 工具链][10]。你可以通过运行以下命令来做到这一点:
|
||||
(LCTT 译注:如果你使用 Linux 发行版,请不要直接安装软件源里的 Rust 工具链,尽管这样看起来很便捷)
|
||||
(LCTT 译注:如果你使用 Linux 发行版,请不要直接安装软件源里的 Rust 工具链,尽管这样看起来很便捷。)
|
||||
|
||||
```
|
||||
curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh
|
||||
@ -72,21 +74,23 @@ curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh
|
||||
rustup component add rust-src rust-analyzer rust-analysis
|
||||
```
|
||||
|
||||
💡
|
||||
你还需要 [安装 gcc][14]。否则,你可能会遇到“链接器 `cc` 未找到”的错误。该软件包在不同的发行版中都被称为 gcc。
|
||||
|
||||
如果你不希望在本地安装 Rust 工具链,不用担心。你还可以直接在你的浏览器中运行 Rust 代码!只要到
|
||||
在 Ubuntu 和 Debian 上使用:
|
||||
|
||||
[Rust Playgrounds website][12]
|
||||
```
|
||||
sudo apt install gcc
|
||||
```
|
||||
|
||||
并把所讨论的代码粘贴在此处。
|
||||
> 💡 如果你不希望在本地安装 Rust 工具链,不用担心。你还可以直接在你的浏览器中运行 Rust 代码!只要到 [Rust 试验场][12] 并把所讨论的代码粘贴在那里。
|
||||
|
||||
### Hello Rust!
|
||||
|
||||
自从 Dennis Ritchie 和 Brian Kernighan 用 "Hello world" 程序介绍了 C 语言后,在 UNIX 世界里,对你学习的任何新的编程语言都要这样做,这已经成为一种习惯。
|
||||
自从 <ruby>丹尼斯·里奇<rt>Dennis Ritchie</rt></ruby> 和 <ruby>布莱恩・柯林汉<rt>Brian Kernighan</rt></ruby> 用 “Hello World” 程序介绍了 C 语言后,在 UNIX 世界里,你学习的任何新编程语言第一步都这样做,这已经成为一种习惯。
|
||||
|
||||
因此,让我们也用 Rust 编写我们的 Hello World 程序。
|
||||
|
||||
我将在我的家目录里[新建一个项目目录][13]叫做 `learn-rust-its-foss`。然后,在这里我将新建一个叫 `hello-world` 的目录。最后,在里面新建 `main.rs` 文件:
|
||||
我将在我的家目录里 [新建一个项目目录][13] 叫做 `learn-rust-its-foss`。然后,在这里我将新建一个叫 `hello-world` 的目录。最后,在里面新建 `main.rs` 文件:
|
||||
|
||||
```
|
||||
// 这串代码将打印字符
|
||||
@ -97,37 +101,11 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
📋
|
||||
|
||||
就像 C、C++ 和 Java 源代码文件的扩展名是
|
||||
|
||||
```
|
||||
.c
|
||||
```
|
||||
|
||||
、
|
||||
|
||||
```
|
||||
.cpp
|
||||
```
|
||||
|
||||
和
|
||||
|
||||
```
|
||||
.java
|
||||
```
|
||||
|
||||
Rust 的源文件扩展名是
|
||||
|
||||
```
|
||||
.rs
|
||||
```
|
||||
|
||||
文件扩展名
|
||||
> 📋 就像 C、C++ 和 Java 源代码文件相应的扩展名是 `.c`、`.cpp` 和 `.java`,Rust 的源文件扩展名是 `.rs`。
|
||||
|
||||
作为一个 C/C++ 程序员,你可能已经在 [Linux 上使用 GCC][14],在 macOS 上使用 `Clang`,在 Windows 上使用 MSVC。但是为了编译 Rust 代码,该语言的创造者自己提供了一个官方的 `rustc` 编译器。
|
||||
|
||||
运行 Rust 程序和[执行 C/C++ 程序][15]是一样的。你首先编译代码,然后得到可执行文件,最后再运行这个可执行文件从而来运行代码。
|
||||
运行 Rust 程序和 [执行 C/C++ 程序][15] 是一样的。你首先编译代码,然后得到可执行文件,最后再运行这个可执行文件从而来运行代码。
|
||||
|
||||
```
|
||||
$ ls
|
||||
@ -142,55 +120,47 @@ $ ./main
|
||||
Hello world!
|
||||
```
|
||||
|
||||
很好!
|
||||
很好!
|
||||
|
||||
### 破译 Rust 代码
|
||||
### 解读 Rust 代码
|
||||
|
||||
现在你已经编写、编译并运行了你的第一个 Rust 程序,让我们对 "Hello world" 的代码进行解构并理解每一部分。
|
||||
现在你已经编写、编译并运行了你的第一个 Rust 程序,让我们对 “Hello World” 的代码进行解读,并理解每一部分。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
`fn` 关键字是用来在 Rust 中声明一个函数的。在它后面 `main` 是这个被声明函数的名字。像许多编译型编程语言一样,`main` 是一个特殊的函数,用来作为你的程序的入口。
|
||||
`fn` 关键字用来在 Rust 中声明一个函数。在它后面 `main` 是这个被声明函数的名字。像许多编译型编程语言一样,`main` 是一个特殊的函数,用来作为你的程序的入口。
|
||||
|
||||
任何写在 `main` 函数里的代码(在大括号 `{``}` 中)将在程序被启动时运行。
|
||||
任何写在 `main` 函数里的代码(在大括号 `{` `}` 之间)将在程序被启动时运行。
|
||||
|
||||
#### println 宏
|
||||
|
||||
在 `main` 函数中, 有一个语句(LCTT 译注:语句 区别于 表达式):
|
||||
在 `main` 函数中, 有一个语句(LCTT 译注:“语句” 区别于 “表达式”):
|
||||
|
||||
```
|
||||
println!("Hello world!");
|
||||
```
|
||||
|
||||
就像C语言的标准库有 `printf` 函数一样,Rust语言的标准库有 `println` **macro**。宏类似于函数,但它以**感叹号**来区分。你将在本系列的后面学习宏和函数的知识。
|
||||
就像 C 语言的标准库有 `printf` 函数一样,Rust 语言的标准库有 `println` **宏**。宏类似于函数,但它以**感叹号**(`!`)来区分。你将在本系列的后面学习宏和函数的知识。
|
||||
|
||||
`println` 宏接收一个格式化的字符串,并把它放到程序的标准输出中(在我们的例子中,就是终端)。由于我希望输出一些文本而不是一个变量,我将把文本放在双引号(`"`)内。最后,我用一个分号来结束这个语句,表示语句的结束。
|
||||
`println` 宏接收一个格式化的字符串,并把它放到程序的标准输出中(在我们的例子中,就是终端)。由于我希望输出一些文本而不是一个变量,我将把文本放在双引号(`"`)内。最后,我用一个分号来结束这个语句,表示语句的结束。
|
||||
|
||||
📋
|
||||
|
||||
你只需知道,任何看起来像函数调用但有感叹号的东西
|
||||
|
||||
```
|
||||
!
|
||||
```
|
||||
|
||||
就是 Rust 编程语言中的一个宏。
|
||||
> 📋 你只需知道,任何看起来像函数调用但在开头括号前有感叹号的东西,就是 Rust 编程语言中的一个宏。
|
||||
|
||||
#### 注释
|
||||
|
||||
Rust 遵循已知的 C 编程语言的注释风格。单行注释以两个正斜杠(`//`)开始,多行注释以 `/*` 开始,以 `*/` 结束。
|
||||
Rust 遵循已知的 C 编程语言的注释风格。单行注释以两个正斜杠(`//`)开始,多行注释以 `/*` 开始,以 `*/` 结束。
|
||||
|
||||
```
|
||||
// this is a multi-line comment
|
||||
// but nothing stops me to doing the same
|
||||
// on the second or third line too!
|
||||
// 这是一个多行注释
|
||||
// 但是没有什么阻止你在
|
||||
// 第二行或第三行也这样写
|
||||
|
||||
/*
|
||||
* this is a "true" mutli-line comment
|
||||
* because it is _fancy_
|
||||
* 这是一个“真•多行注释”
|
||||
* 它看起来比较漂亮
|
||||
*/
|
||||
```
|
||||
|
||||
@ -198,9 +168,11 @@ Rust 遵循已知的 C 编程语言的注释风格。单行注释以两个正斜
|
||||
|
||||
你刚刚通过 Hello World 程序迈出了用 Rust 写代码的第一步。
|
||||
|
||||
作为一种练习,也许你可以编写并执行一个打印出 "Yes! I did Rust" 的 Rust 程序。
|
||||
作为一种练习,也许你可以编写并执行一个打印出 `Yes! I did Rust` 的 Rust 程序。
|
||||
|
||||
在本系列的下一部分中,你将学习在 Rust 程序中使用变量。敬请期待!
|
||||
在本系列的下一部分中,你将学习在 Rust 程序中使用变量。敬请期待!
|
||||
|
||||
*(题图:MJ:computer sci-fi ,code secure ,"rust" ,gold blue slive ,background dark, high resolution super detailed)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -209,7 +181,7 @@ via: https://itsfoss.com/rust-introduction/
|
||||
作者:[Pratham Patel][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[mcfd](https://github.com/mcfd)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
@ -230,3 +202,4 @@ via: https://itsfoss.com/rust-introduction/
|
||||
[13]: https://itsfoss.com/make-directories/
|
||||
[14]: https://learnubuntu.com/install-gcc/?ref=itsfoss.com
|
||||
[15]: https://itsfoss.com/run-c-program-linux/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/10/164143yksc0b56bbs0itiu.jpg
|
@ -0,0 +1,81 @@
|
||||
[#]: subject: "Measure pi with a Raspberry Pi"
|
||||
[#]: via: "https://opensource.com/article/23/3/measure-pi-raspberry-pi"
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15717-1.html"
|
||||
|
||||
使用一块树莓派主板测量圆周率
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 用你的树莓派制作一个接近完美的圆。
|
||||
|
||||
世界各地将 3 月 14 日定为圆周率日。许多人通过在房子周围找到的物体测量圆周率来庆祝圆周率日。我想用我的树莓派 3B 为今年的圆周率日做一些类似的事情。继续阅读以了解我如何使用我的树莓派测量圆周率。
|
||||
|
||||
你需要什么:
|
||||
|
||||
- 树莓派单板机
|
||||
- 方格纸
|
||||
- 带毫米和厘米测量值的标尺
|
||||
- 笔
|
||||
|
||||
### 1、画一个圆
|
||||
|
||||
圆周率是圆的周长与其直径的比值。要计算圆周率,我们需要测量一个完美绘制的圆的周长和直径。幸运的是,树莓派主板上的安装孔足够大,可以使用铅笔或钢笔。我通过一个树莓派板安装孔插入了一根图钉,小心地将针放在一张方格纸上两条线的交点上。
|
||||
|
||||
握住别针,我将一支笔插入对面的安装孔中,并通过将笔绕着别针移动来画一个圆圈。树莓派主板底面的焊点会卡在纸上,但小心点还是可以画好圆圈的。
|
||||
|
||||
![Use the Raspberry Pi as a compass to draw a circle.][1]
|
||||
|
||||
### 2、把圆分成段
|
||||
|
||||
通过画一条穿过圆心的垂直线将圆分成两半,通过画一条穿过圆心的水平线将圆再次分成四分之一。当我画圆的时候,我把图钉正好放在图画纸上两条线的交点上,这样就很容易找到垂直和水平的中心线。你可以通过在对角线上画一条线来创造一个 “八分” 片。
|
||||
|
||||
![Each small wedge is 1/8 of a circle.][2]
|
||||
|
||||
进一步的划分是与尺子的练习。我用尺子找到“四分之一楔形”和“八分之一楔形”任意两个交点的中点,做成一个 1/16 的楔形。你可以使用相同的方法制作越来越小的 1/32 和 1/64 圆的切片。通过非常小心,我还能够在圆的 1/128 处测量出一个非常窄的楔形:
|
||||
|
||||
![If you are careful, you can keep dividing to find 1/128 of a circle.][3]
|
||||
|
||||
### 3、估算周长
|
||||
|
||||
我最小的楔形是一个圆的 1/128。如此小的切片,楔形的外弧非常小,我们可以用一条直线来近似它。这实际上不是圆周长的 1/128,但它足够接近,我们可以将其用作一个很好的估计。
|
||||
|
||||
![Use the mm measurement on your ruler to measure the outer arc of the 1/128 segment.][4]
|
||||
|
||||
使用我的尺子上的毫米测量值,我测量了我的 1/128 楔形的外弧为 3.8 毫米。这样,我可以估计圆的周长为 3.8 毫米乘以 128,即 486.4 毫米。要转换为厘米,除以十:**48.64cm**。
|
||||
|
||||
### 4、计算圆周率
|
||||
|
||||
圆周率的值是圆的周长与其直径的比值。我们在步骤 3 中估算了周长。测量直径是使用尺子测量圆周的简单练习。我的圆是 **15.4cm**。
|
||||
|
||||
现在我们知道了周长和直径,我们可以将圆周率计算为 48.64 除以 15.4,即 **3.158**。这与 pi 的实际值 3.141 相差不远。
|
||||
|
||||
测量圆周率是一项有趣的数学练习!各个年龄段的数学爱好者都可以使用方格纸、笔和尺子等简单工具自行测量圆周率。以一种有趣的新方式使用你的树莓派来绘制圆并独立测量圆周率。这是一个估计值,因为我们将圆上的 1/128 弧近似为一条直线,但这使我们无需太多努力就足够接近了。
|
||||
|
||||
(LCTT 校注:这真是对树莓派的“合理”应用,摔!)
|
||||
|
||||
*(题图:MJ: Circumference in high resolution, very detailed)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/measure-pi-raspberry-pi
|
||||
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://opensource.com/sites/default/files/2023-03/10000000000003E8000003E8BE7DE71919BB0C82.jpg
|
||||
[2]: https://opensource.com/sites/default/files/2023-03/100000010000028A0000028A0625B218857F031C.webp
|
||||
[3]: https://opensource.com/sites/default/files/2023-03/100000000000079E00000514506C8EE5131D886A.webp
|
||||
[4]: https://opensource.com/sites/default/files/2023-03/10000000000003E8000003E881402FB71F1945FF.jpg
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/13/120203upp4tb199bbhpp59.jpg
|
@ -0,0 +1,88 @@
|
||||
[#]: subject: "Handle any type of document with this open source tool"
|
||||
[#]: via: "https://opensource.com/article/23/4/open-source-collabora-online-interoperability"
|
||||
[#]: author: "Heike Jurzik https://opensource.com/users/hej"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15712-1.html"
|
||||
|
||||
用 Collabora Online 在不同类型的文件间转换
|
||||
======
|
||||
|
||||
![0][]
|
||||
|
||||
> 探索 Collabora Online 的互操作性,使文档和电子表格在所有办公套件中兼容。
|
||||
|
||||
[Collabora Online][1] 支持各种各样的文件和格式。不过,这个开源办公套件在互操作性方面的表现如何?本文仔细研究了 Collabora Online 与不同办公套件(如 Microsoft 365 和 Google Workspace)交换复杂文本文档和电子表格的能力。
|
||||
|
||||
[Collabora Online][2] 是一款适用于云端或内部的开源办公套件,可以保护你的隐私,让你完全控制你的数据。该软件由位于剑桥的 Collabora Productivity Ltd 开发,其团队在世界各地工作。Collabora Online 以 LibreOffice 技术为基础,并主要使用 Mozilla Public License 2.0 许可。
|
||||
|
||||
Collabora Online 可以在任何现代网络浏览器中运行,不需要额外的插件或附加组件。它有一个完整的基于云的办公套件,包括一个文字处理器(Writer)、电子表格程序(Calc)、演示软件(Impress)和一个设计矢量图的应用(Draw)。
|
||||
|
||||
本文介绍了 Collabora Online 的一些新的互操作性功能,包括宏、动态字体加载和电子表格应用程序的 Sparklines 支持。这些功能扩展了现有的对微软文件格式的出色处理。
|
||||
|
||||
### 什么是互操作性,为什么它很重要?
|
||||
|
||||
一般来说,互操作性是指不同的设备或应用在一起工作和无缝交换数据的能力。在办公套件的背景下,互操作性主要是指文件格式。用户应该能够打开、编辑和保存 `.doc` 和 `.docx`、`.xls` 和 `.xlsx`、`.odt` 和 `.ods`文件,无论它们是用微软的 Word、苹果的 iWork 还是 LibreOffice 创建。
|
||||
|
||||
对于在线办公套件也是如此。通过确保文件可以在 Microsoft 365、Google Workspace 和 Collabora Online 之间交换,互操作性有助于提高生产力和促进协作。所有在线办公套件都可以保存各种格式的文件。它们还可以导入和导出最初在其他办公套件中创建的文档、电子表格和演示文稿。
|
||||
|
||||
### 管理宏,确保文件处理顺畅
|
||||
|
||||
经常引起问题的是带有宏的文件。它们通常是用特定的编程语言开发的,适用于某个特定的应用。虽然在 Google Sheets 中记录和编辑宏是可能的,但在微软 Office 中用 Visual Basic for Applications(VBA)实现的宏不能被转换,必须用 Google Apps Script 重新创建。打开带有 VBA 宏的 Word 文档会产生错误,并通知用户这些宏将被忽略或禁用。
|
||||
|
||||
Collabora Online 支持宏,并在容器内的服务器端运行它们。该功能默认是禁用的,管理员必须在 `coolwsd.xml` 配置文件中明确激活它。之后,用户可以选择在加载文档时允许使用宏。不过,有几个限制。例如,它不可能访问数据库源,访问其他(外部)文件,调用外部程序,使用控制形状,等等。多年来,由于活跃的社区以及客户和合作伙伴的贡献,Collabora Online 支持的代码和对象的数量已经大大增加。
|
||||
|
||||
### Collabora Online:动态字体加载
|
||||
|
||||
办公套件中互操作性的另一个关键方面是字体。使用含有在特定平台上无法使用的字体的文档,可能会导致错误、意外的格式变化,甚至是内容的完全丢失。
|
||||
|
||||
微软 Office 文档经常使用 Google Workspace 或 Collabora Online 中没有的默认字体。为了解决这个问题,办公套件经常建议替换掉缺失的字体。这通常是有用的,但有时会导致不好的结果。
|
||||
|
||||
从 22.05.7 版本(2022 年 11 月发布)开始,Collabora Online 可以列出缺失的字体并建议替换。它还可以下载必要的字体并将其添加到服务器上。一切都是动态进行的,而不会停机。新的字体在几分钟内就可以在编辑会话中使用,实现最佳的互操作性。
|
||||
|
||||
![Fonts can introduce a surprising complexity to your document, but Collabora Online can handle it.][3]
|
||||
|
||||
为了实现这一目标,在文档被渲染的同时,通过 API 追踪丢失字体的信息。一个 JSON 文件存储了需要添加的字体列表。`coolwsd.xml` 文件(服务器端的设置)指向该 JSON 文件。它每分钟检查一次修改情况,并下载缺少的字体。
|
||||
|
||||
### 探索 Sparkline:显示电子表格中的数据趋势
|
||||
|
||||
Sparkline 是在工作表中单个单元格内的微小图表,它可以将数据的趋势可视化。这些微型图表有不同的风格,包括线、条和柱。Sparkline 还支持不同的颜色和水平/垂直轴。与显示尽可能多的数据并与文本流分开的大型图表不同,Sparkline 被缩减为核心值,通常放在同一单元格中数据本身的旁边或后面。Sparkline 通常是为一个单元格定义的,但也可以将共享相同数据范围和属性的多个 Sparkline 进行分组,以便进行渲染。
|
||||
|
||||
![Customize the look of Sparklines.][4]
|
||||
|
||||
Sparkline 是一个紧凑的参考,提供了一个快速的方法来说明趋势、模式、统计异常、增加和减少,同时避免了完整图表的复杂性。下面是一些不同的 Sparkline 类型:
|
||||
|
||||
- 线形图: 通过线段从左到右连接各点,对于显示在一定时间内变化的数据特别有用。
|
||||
- 条形图: 使用水平排列的条形图表示数据,通常用于比较数字数据。
|
||||
- 柱状图: 是比较一系列数值的理想选择。柱是垂直的,其长度表示数据的相对大小/价值。柱状图经常被用来表示不同类别或群体的数据。
|
||||
|
||||
要创建一个 Sparkline,你首先要为该函数定义一个输入数据范围(一列或一行中的两个或多个单元格)。你还可以决定你希望 Sparkline 出现的单元格。在大多数电子表格应用中,你右键点击迷你图表来调整其属性,选择图表类型,并选择颜色。Collabora Online 为此提供了一个单独的对话框,使得改变微型图表的风格变得简单而方便。
|
||||
|
||||
在三个线上办公软件之间交换带有 Sparkline 的文件是可能的,不会丢失图表及其格式。如果你想在 Microsoft 365、Google Workspace 和 Collabora Online 之间共享电子表格,请确保使用微软格式的 .xlsx 进行导入和导出,因为 Google Sheets 不能很好地处理 .ods 文件。
|
||||
|
||||
### 文件交换很容易
|
||||
|
||||
Collabora Online 提供了几个新的互操作性功能,使得与其他办公套件交换文件变得容易。宏程序支持、动态字体加载和 Sparkline 确保了文档的无缝处理,避免了意外的格式变化。使用 Collabora Online 来统一和简化你的办公工作。
|
||||
|
||||
*(题图:MJ:Office docs process dark plain background Illustration )*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/open-source-collabora-online-interoperability
|
||||
|
||||
作者:[Heike Jurzik][a]
|
||||
选题:[lkxed][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/hej
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.collaboraoffice.com/
|
||||
[2]: https://opensource.com/article/22/7/open%20source-collabora-online
|
||||
[3]: https://opensource.com/sites/default/files/2023-03/1000020100000952000005F6266BD457E1698CC0.webp
|
||||
[4]: https://opensource.com/sites/default/files/2023-03/1000020100000690000004FB490A0D79C005B60B.webp
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/11/172833cww99zg2goqgtngk.jpg
|
@ -0,0 +1,154 @@
|
||||
[#]: subject: "Our favorite fonts for the Linux terminal"
|
||||
[#]: via: "https://opensource.com/article/23/4/linux-terminal-fonts"
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "Taivasjumala"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15715-1.html"
|
||||
|
||||
大家最喜欢的 Linux 终端字体
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 这是一个完全主观的列表,可以为你的 Linux 控制台提供一些有趣的字体建议。
|
||||
|
||||
最近,终端模拟器成为我的一个话题,它让我思考:大家最喜欢的终端字体是什么?
|
||||
|
||||
因此,我请贡献者分享了他们喜欢使用的字体。以下是他们的答案。
|
||||
|
||||
### VT323
|
||||
|
||||
我喜欢在我的 GNOME 终端中使用一个不一样的字体([VT323][1]),而不是在我的编程时用的编辑器或其他使用等宽字体的应用程序中使用的字体(Source Code Pro)。我就是喜欢经典的 VT 风格字体的外观。
|
||||
|
||||
有时,我会切换到原始的 IBM EGA 字体,因为在我眼里它看起来真的很漂亮。但是我把 EGA 和 DOS 联系在一起,把 VT323 和经典的 Unix 终端联系在一起,所以我大部分时间都用 VT323。下面是我使用 VT323 作为等宽字体的 GNOME 终端的屏幕截图:
|
||||
|
||||
![gnome-terminal1108×926 output][2]
|
||||
|
||||
我设置终端使用 24pt 大小的 VT323 字体,使得终端界面呈现一个舒适的大窗口。如果我要打开一个终端窗口,我其实是想使用它来些实实在在的工作,而不是敲两下就退出。我可能会在那个终端窗口呆一段时间,所以它应该很大,很容易看到。我也更喜欢 80x25 布局(每行 80 个字符,共 25 行),因为我是一个老式 DOS 命令行玩家,25 行在我看来才是 “正确的” 行数:
|
||||
|
||||
![preference profile screen - text appearance][3]
|
||||
|
||||
—— [Jim Hall][4]
|
||||
|
||||
### 等宽的字体
|
||||
|
||||
我不觉得我会只使用一个特定的字体。我通常使用 [DejaVu][5] 或 [Liberation][6]。我喜欢等宽字体,因为它们更容易阅读。不过,我也不希望字母靠得太近。更重要的是,要能够区分数字 1 和小写的 L、数字 O 和大小的字母 Q 等等。另外,让所有特殊字符都能特别清楚地显示出来也很好。
|
||||
|
||||
我也喜欢让字体和背景之间呈现高对比度,所以我将背景设置为黑色,字符设置为白色。
|
||||
|
||||
—— [Greg Pittman][7]
|
||||
|
||||
### Hack
|
||||
|
||||
我喜欢使用等宽字体,特别是在终端和代码编辑器中,因为它们更容易阅读。我使用 [Hack][8] 系列字体已经很多年了。它提供了一个很好的等宽字体,并提供了额外的字形和 Powerline 支持,我可以用它们在命令行上提供一些状态信息。
|
||||
|
||||
![Command line][9]
|
||||
|
||||
这是用 [Fontpreview tool][10] 工具生成的字体预览。
|
||||
|
||||
![Display of font A-Z and the numbers][11]
|
||||
|
||||
—— [Ricardo Gerardi][12]
|
||||
|
||||
### Victor Mono
|
||||
|
||||
我在终端和 IDE 中使用 [Victor Mono][13] 已经好几年了。斜体的等宽手写体可能不是一开始就会喜欢上的,我喜欢这样,因为这让代码注释的外观很独特,与代码的其余部分明显不同。下面是它在终端中的样子:
|
||||
|
||||
![terminal font is italic characters in a monospace cursive script][14]
|
||||
|
||||
我在 IDE 和终端使用了 Solarized Dark 配色方案。如果可以的话,任何与工作或代码相关的东西都会使用相同的配色方案和相同的字体,所以一切看起来都很统一。这些年来,我使用了各种字体,但我总是试图在我的终端中使用与 IDE 中相同的字体。
|
||||
|
||||
—— [Chris Reynolds][15]
|
||||
|
||||
### Monaco
|
||||
|
||||
目前,我用 16pt 大小的 Monaco 常规字形。(要比 12pt 或是 14pt 大小好多了。)
|
||||
|
||||
—— [Jenny Panighetti][16]
|
||||
|
||||
### 用粉红色来装点
|
||||
|
||||
这让我想起了有一次我恶作剧把团队里的其他开发者的终端都改成了粉红色(我是里面唯一的女性),一个婴儿粉的背景与深粉红色的文字的搭配。
|
||||
|
||||
我喜欢把我的个人终端弄得漂漂亮亮的,但在工作中,我会用黑底白字,并把字体弄成 16pt 左右,因为我喜欢较大的字体尺寸。
|
||||
|
||||
我总是把我的终端设置为 SF Mono 字体,但我把它加粗,并增大了一点,以便我可以更好地看到它。我最喜欢的颜色是粉红色或漂亮的水蓝色。我也喜欢终端的默认风格,它叫做 “Novel”。
|
||||
|
||||
![Two open terminals, one pink and one aqua blue][17]
|
||||
|
||||
—— [RachieVee][18]
|
||||
|
||||
### 万事不决,问 ChatGPT
|
||||
|
||||
对于这个问题,我决定问问 [ChatGPT][19]。以下是它的回答:
|
||||
|
||||
> 作为一个语言模型,我没有个人偏好,也没有能力拥有一种最喜欢的字体。但是,有一些流行的终端字体,包括 Monospace、Consolas 和 Inconsolata。这些字体很受欢迎,因为它们易于阅读,不同字符之间有明显的区别,即使在字体大小比较小的情况下也非常清晰。此外,它们被设计为适配在各种不同的操作系统和终端中得到更好的呈现,使它们成为开发人员和用户的通用选择。
|
||||
|
||||
我部分使用 GPT-3 生成了这段文字,GPT-3 是 OpenAI 的大规模语言生成模型。在生成草稿后,作者可以根据自己的喜好审查、编辑和修改,以符合个人的喜好,并对最终发布的内容承担最终责任。
|
||||
|
||||
—— [Stephanie Brinley][20]
|
||||
|
||||
### Fantasque Sans Mono
|
||||
|
||||
```
|
||||
$ grep font ~/.Xdefaults
|
||||
URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=12:antialias=true
|
||||
```
|
||||
|
||||
我不记得我是什么时候开始使用 [Fantasque Sans Mono][21] 的,但我想这是我过去 8 年来的默认选择,无论是在 [Rxvt][22] 还是 Konsole 中。我不知道我在 GNOME 终端中使用的是什么字体,很可能是 GNOME 上的默认字体。
|
||||
|
||||
—— [Seth Kenlon][23]
|
||||
|
||||
### Jetbrains Mono
|
||||
|
||||
最近,我将 Tilix 设置为默认终端。我的 Tilix 配置与 Jim Hall 使用的设置类似。几个不同点是:
|
||||
|
||||
- 光标形状是下划线而不是块
|
||||
- 字体是 [Jetbrains Mono][24] Nerd Font Mono Medium 14
|
||||
|
||||
![Black terminal with blue text][25]
|
||||
|
||||
—— [Alan Formy-Duval][26]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/linux-terminal-fonts
|
||||
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[Taivas Jumala](https://github.com//Taivasjumala)
|
||||
校对:[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/lkxed/
|
||||
[1]: https://fontsource.org/fonts/vt323
|
||||
[2]: https://opensource.com/sites/default/files/2023-01/gnome-terminal1108%C3%97926.png
|
||||
[3]: https://opensource.com/sites/default/files/2023-01/gnome-terminal-vt323848%C3%97661.png
|
||||
[4]: https://opensource.com/users/jim-hall
|
||||
[5]: https://fontsource.org/fonts/dejavu-mono
|
||||
[6]: https://github.com/liberationfonts
|
||||
[7]: https://opensource.com/users/greg-p
|
||||
[8]: https://sourcefoundry.org/hack/
|
||||
[9]: https://opensource.com/sites/default/files/2023-01/Geradi%201.png
|
||||
[10]: https://github.com/sdushantha/fontpreview
|
||||
[11]: https://opensource.com/sites/default/files/2023-01/fontpreview_default.png
|
||||
[12]: https://opensource.com/users/rgerardi
|
||||
[13]: https://rubjo.github.io/victor-mono/
|
||||
[14]: https://opensource.com/sites/default/files/2023-01/reynolds1.png
|
||||
[15]: https://opensource.com/users/jazzsequence
|
||||
[16]: https://twitter.com/elvenjen
|
||||
[17]: https://opensource.com/sites/default/files/2023-01/pink-blue.webp
|
||||
[18]: https://opensource.com/users/rachievee
|
||||
[19]: https://opensource.com/article/23/2/chatgpt-vs-community
|
||||
[20]: https://opensource.com/users/sbrinley
|
||||
[21]: https://github.com/belluzj/fantasque-sans
|
||||
[22]: https://opensource.com/article/19/10/why-use-rxvt-terminal
|
||||
[23]: https://opensource.com/users/seth
|
||||
[24]: https://www.jetbrains.com/lp/mono/
|
||||
[25]: https://opensource.com/sites/default/files/2023-01/alan.png
|
||||
[26]: https://opensource.com/users/alanfdoss
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/12/162240yvgnvohomg7nrnno.jpg
|
@ -0,0 +1,112 @@
|
||||
[#]: subject: "TUXEDO Stellaris 16 (Gen5) is The Ultimate Linux Laptop You Can Find Now"
|
||||
[#]: via: "https://news.itsfoss.com/tuxedo-stellaris-16-gen-5/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15729-1.html"
|
||||
|
||||
TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑
|
||||
======
|
||||
|
||||
> 这款笔记本电脑拥有 RTX 4090 和 i9 处理器等规格,可谓惊人!你觉得呢?
|
||||
|
||||
![tuxedo stellar][1]
|
||||
|
||||
TUXEDO 电脑是 Linux 领域的一个著名品牌,它提供了不同价格/性能的可定制的 Linux 笔记本和台式电脑。
|
||||
|
||||
顺便说一句,它是值得信赖的 [购买 Linux 电脑][3] 的地方之一。
|
||||
|
||||
在最近的公告中,他们推出了 **Stellaris 16 英寸笔记本电脑的下一个进化版**。
|
||||
|
||||
我必须说,这可以成为 Framework 最近宣布的高性能 16 英寸笔记本电脑的有力挑战者。
|
||||
|
||||
让我们来看看它。
|
||||
|
||||
### TUXEDO Stellaris 16 Gen 5 概览
|
||||
|
||||
![a photo of the tuxedo stellaris 16 - gen5 laptop][4]
|
||||
|
||||
这款笔记本电脑的主要亮点是,它采用了英伟达最新、最强大的 [RTX40 系列][5] 笔记本 GPU,提供了强大的图形性能和功能。
|
||||
|
||||
搭配了英特尔的顶级处理器 [i9 13900HX][6],其 24 个核心可以在高达 157W TDP(睿频)的情况下超频到 **极快的 5.40 GHz**,这是一个引人注目的组合。
|
||||
|
||||
但请记住,为了充分发挥笔记本电脑的运行潜力,TUXEDO 建议使用 **他们的外部水冷却解决方案**,[TUXEDO Aquaris][7],它可以通过磁力连接到笔记本电脑的背面。
|
||||
|
||||
> 📋 在订购该笔记本电脑时,你必须为此支付额外费用。
|
||||
|
||||
该处理器在没有全速运行时,基本 TDP 为 55W,时钟速度为 3.90GHz。
|
||||
|
||||
对于这样一台轻薄的笔记本电脑来说,这仍然是一个不错的性能数字! 😮
|
||||
|
||||
Stellaris 16 - Gen5 笔记本电脑的一些其它关键亮点如下:
|
||||
|
||||
- 外壳 1是由铝和塑料的组合组成。
|
||||
- 一个 240 赫兹的 16 英寸 IPS 显示屏,支持英伟达 G-SYNC。
|
||||
- GPU 最高可选英伟达 RTX 4090。
|
||||
- 高达 64GB DDR5,5600MHz 的内存(2x32GB)。
|
||||
- 99Wh 的电池,允许运行时间长达 10 小时(空闲),在典型负载下约 6-7 小时。
|
||||
|
||||
### TUXEDO Stellaris 16:是什么让它成为强者?
|
||||
|
||||
Stellaris 16 - Gen5 笔记本电脑上的高端硬件不仅吸引了游戏玩家,也吸引了其他各种用户,如内容创作者、AI/ML 工程师、UI/UX 艺术家等等。
|
||||
|
||||
那么,是什么让它囊括如此完整的用户群体呢?
|
||||
|
||||
嗯,是在各种可能的设置中自由选择。
|
||||
|
||||
首先,你可以从 RTX 4060 这种相对平静的 GPU 到疯狂的 RTX 4090 中挑选,其间还有 RTX 4070 和 RTX 4080 可选。
|
||||
|
||||
![tuxedo stellaris laptop][8]
|
||||
|
||||
然后是键盘选项,你可以选择他们新增加的 [樱桃 MX Ultra-Low Profile][9] 机械键盘,以获得打字时的触觉和听觉感受,或者通常的静音薄膜键盘。
|
||||
|
||||
你还可以从广泛的键盘布局清单中挑选,包括英语、德语、西班牙语、匈牙利语,以及更多,还有带有背光的 TUX 超级键。
|
||||
|
||||
内存也不例外。你可以在两个性能层之间做出选择。一个是 “性能” 层,提供 DDR5 RAM,以迅速的 4800 MHz 运行,一个是 “高性能” 层,提供 DDR5 RAM,以令人瞠目的 5600 MHz 运行。
|
||||
|
||||
这些层级提供最大 64GB 的内存,采用来自 SK 海力士、三星和美光的内存条。
|
||||
|
||||
至于存储,两个 PCIe 4.0 x4 的 M.2 2280 SSD 插槽,配备各种三星 SSD。其阵容从三星 970 EVO Plus 开始,中间是三星 980,极速的三星 980 Pro 是该系列的顶配。
|
||||
|
||||
> 📋 在两个 M.2 插槽都插满的情况下,最多可实现 4TB 的存储。
|
||||
|
||||
除此之外,Stellaris 16 - Gen5 具有 Wi-Fi 6E 和蓝牙 5.3,并预装了 [TUXEDO OS][10],除非你在购买时选择不同的操作系统,如 Ubuntu 22.04 LTS、Kubuntu 22.04 LTS、Ubuntu Budgie 22.04 LTS 和 Windows 11 Home/Pro 等。
|
||||
|
||||
### 什么时候可以买到和价格
|
||||
|
||||
TUXEDO Stellaris 16 - Gen5 现在可预购,在 4 月底开始交付。
|
||||
|
||||
基本配置的价格为 1763.87 欧元,配备 i9 处理器、RTX 4060、运行频率为 5600 MHz 的 16GB 内存(2x 8GB),500GB 三星 980 固态硬盘和 TUXEDO 操作系统。
|
||||
|
||||
> **[预购][11]**
|
||||
|
||||
前往 [官方商店列表][11],并开始按照你的要求进行配置吧。
|
||||
|
||||
(LCTT 译注:原文带有受惠链接,但本文非收费软文。)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/tuxedo-stellaris-16-gen-5/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][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/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/tuxedo-stellaris-gen-5.png
|
||||
[2]: https://news.itsfoss.com/content/images/2023/03/linux-mega-packt.webp
|
||||
[3]: https://itsfoss.com/get-linux-laptops/
|
||||
[4]: https://news.itsfoss.com/content/images/2023/04/TUXEDO_Stellaris_16-Gen5.jpg
|
||||
[5]: https://www.nvidia.com/en-us/geforce/laptops/
|
||||
[6]: https://ark.intel.com/content/www/us/en/ark/products/232171/intel-core-i913900hx-processor-36m-cache-up-to-5-40-ghz.html
|
||||
[7]: https://www.tuxedocomputers.com/en/Linux-Hardware/Accessories/Further-accessories/TUXEDO-Aquaris--External-Water-Cooling-Device_1.tuxedo
|
||||
[8]: https://news.itsfoss.com/content/images/2023/04/stellaris16-gen5_back.jpg
|
||||
[9]: https://www.cherrymx.de/en/cherry-mx/mx-ultra-low-profile/mx-ulp-click.html
|
||||
[10]: https://www.tuxedocomputers.com/os
|
||||
[11]: https://www.tuxedocomputers.com/en/TUXEDO-Stellaris-16-Gen5.tuxedo
|
@ -0,0 +1,67 @@
|
||||
[#]: subject: "5 best practices for PatternFly, an open source design system"
|
||||
[#]: via: "https://opensource.com/article/23/4/open-source-design-system-patternfly"
|
||||
[#]: author: "Abigael Donahue https://opensource.com/users/abigaeljamie"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15738-1.html"
|
||||
|
||||
开源设计系统 PatternFly 的 5 个最佳实践
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> PatternFly 是一个开源、开放社区的设计系统。
|
||||
|
||||
你是否曾欣赏过宝石的切面?这些角度和倾斜是一件美丽的事情。你可以看到多面宝石比平面宝石更亮。在分析一个多面体设计系统时,你也可能会看到这种美。设计系统是用于创建一致且统一的用户界面(UI)的准则、标准和资源的集合。就像钻石的各个切面一样,一个富含不同贡献和社区参与的开源设计系统最终会带来更好的产品体验。
|
||||
|
||||
[PatternFly][1] 项目是一个用于红帽产品的开源设计系统。但开源并没有以 PatternFly 的代码为终点。PatternFly 的背后是一群完全公开创作设计的人。从设计师和开发人员到研究人员和作家,我们作为一个开源社区共同努力。
|
||||
|
||||
我们的秘密?我们没有秘密 —— 我们在开放中工作,记得吗?然而,我们使用了这五个最佳实践。我将在这里分享它们,这样你也可以使用开源来支持你自己的设计系统。
|
||||
|
||||
### 1、集体贡献
|
||||
|
||||
我们有一个核心的 PatternFly 设计团队来设计、维护和发展设计系统。但我们鼓励并欢迎所有人的贡献。如果你对协作充满热情并且擅长用户体验(UX),[PatternFly 希望收到你的反馈][2]。
|
||||
|
||||
### 2、建立社区
|
||||
|
||||
在孤岛中创建的任何内容都无法进入 PatternFly。我们相信开放的设计更好。这就是我们将社区纳入所有更新、更改和添加的原因。我们收集来自设计和开发人员对贡献的反馈,以便每个人都对实施的内容有发言权。我们还寻求多个 [设计学科][3] 的人们的意见和协作。这样做是为了摆脱任何偏见或假设。这种开放的设计让我们的设计体系更加强大。它还加强了我们蓬勃发展的社区,该社区由参与 PatternFly 或为之做出贡献的人们组成(我们亲切地称他们为 “飞人”)。
|
||||
|
||||
### 3、在每个人中循环
|
||||
|
||||
如果你发现与他人集思广益的想法产生的解决方案比任何一个人梦寐以求的都要好,那么你已经像“飞人”一样思考了。我们定期举行设计会议,供贡献者在小组环境中展示他们的想法并讨论设计方法。这使我们能够保持我们的想法协作,并从各个角度考虑设计。此外,我们每月举办社区会议,以便我们可以与来自全球各地的“飞人”们联系并分享最新动态。你可以在我们的 [PatternFly YouTube 频道][4] 上观看我们过去的所有会议记录。
|
||||
|
||||
### 4、倾听用户
|
||||
|
||||
作为一个社区,我们的目标是让 PatternFly 的所有贡献都能在不同的环境中带来功能性和美观的产品体验。为了实现这一目标,我们要求自己打破自己的泡沫并与用户互动。我们与 UX 研究人员合作,与用户一起测试更新、更改和添加(例如视觉主题和交互),以确保我们创建的设计、资源和体验能够为每个人解决问题,而不仅仅是像我们这样的人。
|
||||
|
||||
### 5、创建连接
|
||||
|
||||
PatternFly 是贯穿红帽公司产品的一致性的主线。每个人都有创造的自由,来构建最适合他们用户的东西。但我们作为一个团队,通过设计系统连接产品组,以获得更统一的用户体验。PatternFly 的资源很容易获得,并向所有人开放。这有助于我们建立联系,压制孤岛。
|
||||
|
||||
### 与我们一起开放设计
|
||||
|
||||
无论你是一个由 1 人还是 100 人组成的团队,或者你的设计系统是否是开源的,在我们所做的每一件事中,总有一点协作和社区的空间。联系 [PatternFly 社区][5],告诉我们你的结果如何。我们迫不及待地想收到你的来信。
|
||||
|
||||
*(题图:MJ:open source design community:: blueprint drawing::1 moonlight::1 ultra wide angle lens::1 green::1)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/open-source-design-system-patternfly
|
||||
|
||||
作者:[Abigael Donahue][a]
|
||||
选题:[lkxed][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/abigaeljamie
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.patternfly.org/v4/
|
||||
[2]: https://www.patternfly.org/v4/contribute/about
|
||||
[3]: https://design.redhat.com/?intcmp=7013a000002qLH8AAM
|
||||
[4]: https://www.youtube.com/channel/UCqLT0IEvYmb8z__9IFLSVyQ
|
||||
[5]: https://www.patternfly.org/v4/community
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/20/111940b4200cp8oouxpkbp.jpg
|
@ -0,0 +1,151 @@
|
||||
[#]: subject: "Xubuntu 23.04: Best New Features"
|
||||
[#]: via: "https://www.debugpoint.com/xubuntu-23-04/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15706-1.html"
|
||||
|
||||
Xubuntu 23.04 的最佳新功能
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 一些很酷的功能将在 Xubuntu 23.04 “Lunar Lobster” 版本中出现。
|
||||
|
||||
Xubuntu 23.04,基于即将发布的 [Ubuntu 23.04 “Lunar Lobster”][1],将于 2023 年 4 月 20 日到达。这个最新版本建立在 Linux 内核 6.2 上,带来了最新的硬件、CPU、GPU 和文件系统支持。
|
||||
|
||||
从改进的小程序到更强大的 Thunar 文件管理器,Xubuntu 23.04 提供了大量的改进和错误修复,通过所有 Linux 桌面的 “OG” —— Xfce 4.18,提供了更精炼的用户体验。
|
||||
|
||||
![Xubuntu 23.04 桌面][2]
|
||||
|
||||
如果你正在使用之前的 Xubuntu 22.10,那么你可能会注意到桌面环境的明显变化。Xubuntu 22.10 以开发版 Xfce 4.17 为特色,并带有来自 Xfce 4.18 少量功能。
|
||||
|
||||
考虑到这一点,让我们来看看 Xubuntu 23.04 “Lunar Lobster” 的最佳新功能。
|
||||
|
||||
### Xubuntu 23.04 的最佳新功能
|
||||
|
||||
#### Xfce 4.18 更新
|
||||
|
||||
这个版本中的一个重要变化是对 Xfce 桌面环境的更新。Xubuntu 23.04 基于 2022 年 12 月发布的 [最新的 Xfce 4.18][3]。Xfce 4.18 是该桌面环境的一个重要里程碑,提供了对 GTK4 的更新、对 Wayland 的初始支持以及对核心原生应用的改造,更新量很大。
|
||||
|
||||
顶部主面板已经更新了新的设置和调整,而整体外观仍与早期版本相同。一些默认的面板小程序在这个版本中也被改变了,而桌面图标、右键上下文菜单和项目保持不变。
|
||||
|
||||
![Xfce 4.18 中的面板偏好][4]
|
||||
|
||||
面板首选项得到了增强,有两个新的选项。首先,面板的长度现在是以像素为单位,而不是百分比。其次,增加了一个新的选项,“保持面板在窗口上方”,允许用户将窗口对话放到面板后面。在早期版本中,应用程序窗口只能达到面板边缘。
|
||||
|
||||
在 Xfce 4.18 中对时钟小程序的设置进行了大修。用户终于可以改变 Xfce 时钟小程序的字体风格,并且有四个时钟布局选项:只显示日期,只显示时间,日期和时间,以及时间和日期。
|
||||
|
||||
#### Thunar 文件管理器的更新
|
||||
|
||||
由于在 [Google Summer of Code 2022][5] 期间所做的工作,用户现在可以在 Thunar 的嵌入式侧边栏中看到图片预览,或者在独立模式下出现在右侧的新面板中,这可以通过偏好设置进行更改。
|
||||
|
||||
Thunar 的设置也得到了加强,增加了一个新的标签用于定制键盘快捷键。用户现在可以直接指定新的组合键,并从这个标签中改变现有的组合键。
|
||||
|
||||
一个新的搜索图标已经取代了工具栏中的重载按钮,当点击它时,它会在地址栏中调出搜索,用用户的搜索关键词进行递归搜索。重载按钮已被移至 “<ruby>查看<rt>View</rt></ruby>” 菜单。另一个新项目,“<ruby>最近<rt>Recent</rt></ruby>”,已被添加到左边的导航栏。同时,元数据被组织得更好了(从逗号分隔换成竖线分隔),一个新的上下文菜单项允许用户选择他们想要的选项。
|
||||
|
||||
Thunar 的主菜单也发生了重大变化。引入了一个新的 “<ruby>书签<rt>Bookmarks</rt></ruby>” 菜单,允许用户将当前文件夹作为快捷方式添加到侧边栏中。“<ruby>编辑<rt>Edit</rt></ruby>”菜单现在包括 “<ruby>撤销<rt>Undo</rt></ruby>” 和 “<ruby>重做<rt>Redo</rt></ruby>” 选项,而 “<ruby>前往<rt>Go</rt></ruby>” 菜单则有 “最近”和 “<ruby>按文件搜索<rt>Search for the file</rt></ruby>”选项。
|
||||
|
||||
![Thunar 带有分割视图和图像预览][6]
|
||||
|
||||
Thunar 还首次通过 “<ruby>视图<rt>View</rt></ruby>” 菜单项增加了分割视图,使用户能够在视图面板中拖放项目。另外,为了组织你的文件夹以加快工作流程,Thunar 还为你的文件夹及其名称引入了背景颜色。
|
||||
|
||||
![带有文件夹高亮选项的 Thunar][7]
|
||||
|
||||
除了 Xfce 4.18 的功能外,Xubuntu 23.04 还为窗口管理器和桌面的提供了更多的错误修复和性能改进。这些改进是在底层进行的;用户可以期待一个更精巧的 Xfce 桌面体验。
|
||||
|
||||
虽然 Xfce 桌面核心和本地应用程序的 Wayland 迁移工作已经开始,但它仍然远远没有准备好。因此,这个 Xubuntu 23.04 可能是未来 Wayland 工作的基础,希望可以出现在下一个 Xubuntu LTS 之前。虽然,考虑到 Xfce 团队的规模和其他方面,这不太有信心。
|
||||
|
||||
#### 最小化 ISO
|
||||
|
||||
正如我之前所报道的,Xubuntu 23.04 也引入了一个最小化的 ISO 镜像,其中只有基本的 Xfce 桌面组件,没有任何额外的预装软件。你可以试试这个最小化的 ISO,为你的工作流程建立你自己的桌面设置。
|
||||
|
||||
最小化的 ISO 大小目前为 1.9GB,团队正在努力在未来的版本中进一步减少它。
|
||||
|
||||
你可以在 [这篇文章中][8] 阅读更多关于 Xubuntu 最小化 ISO 的信息。
|
||||
|
||||
![Xubuntu 最小化和标准安装比较][9]
|
||||
|
||||
#### Flathub 和 Snap
|
||||
|
||||
几周前,Canonical 宣布已决定从所有 Ubuntu 官方风味版中默认删除 Flatpak 支持。因此,在 Xubuntu 23.04 中,你将不会默认安装 Flatpak。
|
||||
|
||||
Ubuntu 自己的 Snap 将默认安装所有相关组件,以运行几个 Snap 应用程序,如 Firefox。
|
||||
|
||||
但是,在 Xubuntu 中设置 Flatpak 和 Flathub 非常容易,[只需要两个命令][10]。
|
||||
|
||||
#### 其他变化和总结
|
||||
|
||||
在核心方面,Xubuntu 23.04 基于 [Linux 内核 6.2][11] 主线版本,它带来了对领先制造商的最新 CPU/GPU 产品的支持。此外,这个内核版本还引入了内存优化、安全修复和许多附件支持。
|
||||
|
||||
应用程序栈和 GNOME 组件的更新如下:
|
||||
|
||||
- Firefox 111.0(Snap)
|
||||
- Thunderbird 102.9
|
||||
- Thunar 4.18.4
|
||||
- Parole media player 4.18
|
||||
- LibreOffice 7.5
|
||||
- GNOME Software 44.0
|
||||
- Catfish file search 4.16.4
|
||||
- Transmission 3.0
|
||||
|
||||
![GNOME 软件应用 44 在 Xubuntu 23.04 中][12]
|
||||
|
||||
在核心部分,Python 3.11 现在可以在 Xubuntu 23.04 中开箱即用。你不需要再单独 [安装 Python 3.11][13] 了。值得一提的是,Python 3.12版本将在今年发布,目前正在进行多个 RC 测试。下面是这个版本中核心模块的总结:
|
||||
|
||||
- Python 3.11
|
||||
- GCC 13
|
||||
- GlibC 2.37
|
||||
- Ruby 3.1
|
||||
- golang 1.2
|
||||
- LLVM 16
|
||||
|
||||
### 下载
|
||||
|
||||
你可以从下面的链接中下载 Xubuntu 23.04(测试版)。请记住,它仍然在进行测试。所以,请谨慎使用它。
|
||||
|
||||
> **[下载 Xubuntu 23.04 - Beta][14]**
|
||||
|
||||
如果你想要 Xubuntu 23.04 的最小化 ISO,你可以从下面的链接获得该文件。[了解更多关于 Xubuntu-mini][8]。
|
||||
|
||||
> **[下载 Xubuntu 23.04 (mini-ISO) - Beta][14]**
|
||||
|
||||
### 总结
|
||||
|
||||
总之,Xubuntu 23.04 是一个重要的版本,具有 Xfce 4.18 桌面环境的若干改进和功能。由于专注于提高用户体验,Xubuntu 用户可以享受到最新的 Linux 内核、改进后的 Thunar 文件管理器以及其他一些调整和变化。
|
||||
|
||||
这将是 Xubuntu 对每个人来说最好的版本之一。
|
||||
|
||||
(题图由 MJ 生成:https://s.mj.run/0robf_nipRw Lunar Lobster hyper detailed, intricate detail, beautiful lighting, Illustration --q 2 --ar 16:9 --v 5)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/xubuntu-23-04/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://www.debugpoint.com/ubuntu-23-04-features/
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2023/04/Xubuntu-23.04-Desktop.jpg
|
||||
[3]: https://www.debugpoint.com/xfce-4-18-features/
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Panel-preferences-in-Xfce-4.18.jpg
|
||||
[5]: https://debugpointnews.com/xfce-gsoc-2022/
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2023/04/Thunar-with-split-view-and-image-preview.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2023/04/Thunar-with-folder-highlight-option.jpg
|
||||
[8]: https://www.debugpoint.com/xubuntu-minimal/
|
||||
[9]: https://www.debugpoint.com/wp-content/uploads/2023/03/Xubuntu-minimal-and-standard-install-comparison.jpg
|
||||
[10]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
|
||||
[11]: https://www.debugpoint.com/linux-kernel-6-2/
|
||||
[12]: https://www.debugpoint.com/wp-content/uploads/2023/04/GNOME-Software-44-in-Xubuntu-23.04.jpg
|
||||
[13]: https://www.debugpoint.com/install-python-3-11-ubuntu/
|
||||
[14]: https://cdimage.ubuntu.com/xubuntu/releases/lunar/beta/
|
||||
[15]: https://www.xfce-look.org/p/1953253
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/09/164211inurec5cc59cqtmc.jpg
|
@ -0,0 +1,116 @@
|
||||
[#]: subject: "CachyOS: Arch-based Distro for Speed and Ease of Use"
|
||||
[#]: via: "https://news.itsfoss.com/cachyos/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15718-1.html"
|
||||
|
||||
CachyOS:基于 Arch 的发行版,具有速度和易用性
|
||||
======
|
||||
|
||||
> 面向新手和专家的以性能为中心的基于 Arch 的发行版。
|
||||
|
||||
![cachyOS][1]
|
||||
|
||||
Arch Linux 适合于那些想在其系统上使用 Linux 的寻求挑战的高级用户。
|
||||
|
||||
然而,许多 [基于 Arch 的发行版][3] 也可以使新用户通过简化操作来进入这个发行版家族。比如说,Garuda Linux、Manjaro Linux 等就适合新用户。
|
||||
|
||||
其中一个令人感兴趣的选项是 **CachyOS**。
|
||||
|
||||
好吧,你可能已经知道 [blendOS][4](它也是一个基于 Arch 的发行版,仍在开发中)。但这个和它一点也不一样,如果你正在探索基于 Arch 的发行版,你可以尝试一下。
|
||||
|
||||
### CachyOS 概述
|
||||
|
||||
![cachyos home with cachyos theme][5]
|
||||
|
||||
CachyOS 为各种用户量身定制,无论你是专家还是新手。即使它相当新,也可以作为稳定版本使用。
|
||||
|
||||
它旨在提供极速体验,同时提供可定制性和稳定性。
|
||||
|
||||
所有这些都牢记安全性。
|
||||
|
||||
CachyOS 的一些重要亮点包括:
|
||||
|
||||
- 用 LTO 和 x86-64-v3 优化编译的桌面软件包。
|
||||
- 可选择通过在线安装的桌面环境(包括 i3、bspwm 和 Openbox 窗口管理器)。
|
||||
- 离线和在线安装方式
|
||||
- 基于 GUI 和 CLI 的安装方式
|
||||
- 优化的 Linux 内核,带有先进的 BORE 调度程序以增强性能和可靠性
|
||||
|
||||
### 初步印象
|
||||
|
||||
CachyOS 看起来像是一个精心打磨过的发行版。当我使用 ISO 启动虚拟机时,我注意到它确实支持英伟达显卡,这是一个很好的开端。
|
||||
|
||||
![][6]
|
||||
|
||||
然后,使用离线或在线安装过程的方式很有帮助。通过在线安装过程,你可以根据自己的喜好安装桌面环境或窗口管理器。
|
||||
|
||||
完成后,欢迎屏幕从一开始就提供了所有基本功能。所以,这一点也很好。
|
||||
|
||||
![cachyos welcome screen][7]
|
||||
|
||||
你可以在欢迎屏幕上安装软件包、启用系统特定的设置以及调整应用程序/内核内容。当然,新手不应该做任何他们不知道的事情,但是这些都可以访问是很好的。
|
||||
|
||||
![cachyos hello welcome screen tweak options][8]
|
||||
|
||||
我尝试了 CachyOS 的 KDE 版本,它看起来很不错。
|
||||
|
||||
出于某种原因,主题是 KDE 的默认 Breeze Dark。我希望它可以开箱即用 CachyOS 的自定义主题。
|
||||
|
||||
![cachyos homescreen with file manager using kde breeze dark theme][9]
|
||||
|
||||
所以,我不得不前往主题管理器设置并应用 CachyOS 主题,让它看起来独一无二。
|
||||
|
||||
![][10]
|
||||
|
||||
它使用 Fish shell,打开终端,你就能看到非常出色的外观和感觉。
|
||||
|
||||
![cachyos fish shell][11]
|
||||
|
||||
性能和安全性增强是其核心。因此,如果你不确定这代表了什么,你可以与其它发行版进行仔细比较。然而,根据一些 Reddit 上的主题,一些用户提到了它提升了 10-20% 的性能。
|
||||
|
||||
你可以阅读 CachyOS 的 [Phoronix 的性能分析][12] 来了解更多。
|
||||
|
||||
与其他发行版不同,它具有自己的 Web 浏览器,即 Firefox 的一个复刻,并针对隐私和安全性进行了修改/增强。然而,它没有默认的视频播放器,这个应该是为了迎合新用户。
|
||||
|
||||
总体感觉像是一个经过深思熟虑的开箱即用的发行版。最重要的是,它的 [文档][13] 非常到位,对初学者很有用。
|
||||
|
||||
### 下载 CachyOS
|
||||
|
||||
你可以在其 [官方网站][14] 上找到 CachyOS 的 KDE 和 GNOME 版本。XFce 版本正在制作中。当然,你可以使用在线安装过程安装其他任何东西。
|
||||
|
||||
> **[CachyOS][14]**
|
||||
|
||||
此外,如果你对他们在幕后所做的定制感到好奇,你可以浏览它的 [GitHub 页面][15]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/cachyos/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[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/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/CachyOS.jpg
|
||||
[2]: https://news.itsfoss.com/content/images/2023/03/linux-mega-packt.webp
|
||||
[3]: https://itsfoss.com/arch-based-linux-distros/?ref=news.itsfoss.com
|
||||
[4]: https://news.itsfoss.com/blendos/
|
||||
[5]: https://news.itsfoss.com/content/images/2023/04/cachy-os-home.jpg
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/cachy-os-installer.jpg
|
||||
[7]: https://news.itsfoss.com/content/images/2023/04/cachy-os-hello.jpg
|
||||
[8]: https://news.itsfoss.com/content/images/2023/04/cachyos-app-tweaks.jpg
|
||||
[9]: https://news.itsfoss.com/content/images/2023/04/cachyos-home.jpg
|
||||
[10]: https://news.itsfoss.com/content/images/2023/04/cachyos-nord-theme.jpg
|
||||
[11]: https://news.itsfoss.com/content/images/2023/04/cachy-os-fish-shell.jpg
|
||||
[12]: https://www.phoronix.com/review/cachyos-linux-perf?ref=news.itsfoss.com
|
||||
[13]: https://wiki.cachyos.org/?ref=news.itsfoss.com
|
||||
[14]: https://cachyos.org/?ref=news.itsfoss.com
|
||||
[15]: https://github.com/cachyos?ref=news.itsfoss.com
|
@ -0,0 +1,63 @@
|
||||
[#]: subject: "A search engine for Creative Commons"
|
||||
[#]: via: "https://opensource.com/article/23/4/search-engine-creative-commons-openverse"
|
||||
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15736-1.html"
|
||||
|
||||
搜索知识共享内容的搜索引擎
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 寻找具有开放许可的图像和音频。
|
||||
|
||||
你是否正在寻找可以重复使用的公开许可的内容?那么你可能会对 [Openverse][1] 感兴趣。Openverse 是一个创新工具,可从不同数据库的集合中对多达 3 亿张图片进行搜索。它不仅仅可以搜索图像,还允许用户访问由机器学习模型创建的标签,并可以一键设置归属。由于可以搜索大量的视觉效果,用户可以找到完美的图像,使他们的项目更具吸引力。这些内容来自各种来源,包括史密森尼博物馆、克利夫兰艺术博物馆、美国宇航局和纽约公共图书馆。
|
||||
|
||||
2019 年,<ruby>知识共享<rt>Creative Commons</rt></ruby>(CC)站点提供的 CC Search 工具被 WordPress 项目采用。Openverse 是 CC Search 的新化身。
|
||||
|
||||
目前,Openverse 仅索引了图像和视听内容。视频的搜索可以从外部来源获得。他们计划增加更多的开放性文本、3D 模型等形式。他们有一个共同的目标:让人们可以使用 [知识共享][2] 许可和在线公共领域作品,这些估计有 25 亿之多。他们所使用的代码都是开源的。
|
||||
|
||||
请注意,Openverse 不保证视觉资料已正确提供了知识共享许可,也不保证所收集的归属信息和任何其他相关许可信息准确完整。为了安全起见,请在重新使用材料之前仔细检查版权状态和归属信息。要了解更多信息,请阅读 [Openverse][3] 中的使用条款。
|
||||
|
||||
### Openverse 搜索
|
||||
|
||||
使用 Openverse 很容易。在**搜索内容**字段中输入你的搜索词,然后按**回车**。我对“尼亚加拉大瀑布”进行了简单搜索,收到了超过 [10,000 个结果][4] 的图像和两个音频结果。在显示屏的最右侧是一个对话框,用于检查可用于商业用途的内容,另一个用于检查允许修改和改编的内容。
|
||||
|
||||
此外,第二个复选框允许你指定要使用或重复使用的知识共享许可,包括 CC0(公共领域)、[CC-BY][5]、[CC-BY-SA][6]、所有 [CC-BY-NC-ND][7] 的方式。
|
||||
|
||||
### 有功者受禄
|
||||
|
||||
在使用公开许可的内容时,重要的是确保你提供适当的归属,并遵守内容原创作者所规定的许可条款。关于知识共享协议的更多信息,请查阅 [知识共享网站][8]。
|
||||
|
||||
Openverse 是一个 [开源][9] 项目,这意味着你可以托管自己的副本或为该项目做出贡献。该项目有一个 [贡献者指南][10],供想要参与的人使用。该项目还欢迎你对新特性和功能提出 [建议][11]。
|
||||
|
||||
*(题图:MJ:Creative Commons" shared illustration:: blueprint drawing::1 blue::1)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/search-engine-creative-commons-openverse
|
||||
|
||||
作者:[Don Watkins][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://openverse.org/
|
||||
[2]: https://opensource.com/article/20/1/what-creative-commons
|
||||
[3]: https://creativecommons.org/terms/
|
||||
[4]: https://openverse.org/search/?q=niagara%20falls
|
||||
[5]: https://creativecommons.org/licenses/by/4.0/
|
||||
[6]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[7]: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
||||
[8]: https://creativecommons.org/about/cclicenses/
|
||||
[9]: https://github.com/WordPress/openverse
|
||||
[10]: https://make.wordpress.org/openverse/handbook/new-contributor-guide/
|
||||
[11]: https://github.com/WordPress/openverse/tree/main/rfcs
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/19/184451akuqktr2k7rt77pp.jpg
|
@ -0,0 +1,78 @@
|
||||
[#]: subject: "Is Official Ubuntu Mini ISO Truly Minimal? A Test Drive"
|
||||
[#]: via: "https://debugpointnews.com/ubuntu-minimal-test-drive/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "imgradeone"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15761-1.html"
|
||||
|
||||
官方的 Ubuntu 精简 ISO 真的“精简”吗?
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Ubuntu 23.04 “Lunar Lobster” 新推出的精简安装程序到底有多精简呢?一起来看看吧。
|
||||
|
||||
几周前,Canonical/Ubuntu 开发者 [确认了][1] Ubuntu 23.04 Lunar Lobster 将引入官方的精简版安装程序。对于那些等待 Ubuntu Linux 官方精简安装程序的用户来说,这是个好消息,因为 Canonical/Ubuntu 此前从未对任何精简 ISO 镜像提供官方支持。
|
||||
|
||||
虽然在 Ubuntu 18.04 时期有一些非官方性质的旧版精简 ISO 镜像,但它们都已经停止维护。鉴于 Ubuntu Linux 的热门程度,这种无法获取精简安装程序的情况已阻碍部分用户的选择。
|
||||
|
||||
正如公告所言,Canonical 现在已经为 Ubuntu 23.04 Lunar Lobster 版本推出了官方精简安装程序,这也意味着那些希望安装轻量版本 Ubuntu Linux 用户的等待终于结束了。
|
||||
|
||||
我试运行了该 **测试版** ISO 镜像(LCTT 校注:本文原文发布于 Ubuntu 23.04 正式版发布之前)。下面是我发现的一些东西。
|
||||
|
||||
在最新的 Beta 版本中,官方的 Ubuntu 精简版 ISO 安装程序现已提供试用。“Lunar Lobster”版本的官方 ISO 镜像大小为 113 MB,这确实很小。
|
||||
|
||||
当你首次启动该精简 ISO 时,你将可以选择两个主要选项 —— 针对服务器版本和桌面版本的安装选项。目前我用于试运行的测试版精简 ISO 显示了 Ubuntu 22.04 LTS 和 Ubuntu 22.10 Kinetic Kudu —— 于去年发布。不过,先暂时忽略这些文本标识吧。
|
||||
|
||||
![Ubuntu 精简安装 - 第一个菜单][2]
|
||||
|
||||
我首先尝试安装桌面版本。令人惊讶的是,它运行了一个下载器,以获取用于标准桌面安装的所有软件包。精简桌面版的选项需要从互联网下载超过 3GB 的软件包,而且用时很长。考虑到我的位置与 Ubuntu 服务器状态,我的下载测试花费了大量时间。
|
||||
|
||||
![Ubuntu 精简安装程序在线下载桌面本身][3]
|
||||
|
||||
如果你将使用精简 Ubuntu ISO 安装桌面所需的时间与精力与常规下载进行比较,那精简版反而慢许多,并占用大量系统资源。举个例子,在安装程序运行时,下载的完整 Ubuntu 桌面版也同时存储于内存当中。
|
||||
|
||||
因此,精简版的最小内存大小要求为 8GB。如果你没有 8GB 内存,你就无法运行该安装程序。而另一边,如果你借助标准的 torrent 文件下载 Ubuntu 桌面版,那么用于启动安装程序的最小内存要求则为 4GB。
|
||||
|
||||
![Ubuntu 精简版 ISO 的强制性 8GB RAM 要求][4]
|
||||
|
||||
下载完成后,安装程序将启动<ruby>立付<rt>Live</rt></ruby> Ubuntu 系统,在这里,你将可以和平常一样安装带有 GNOME 桌面的 Ubuntu 桌面版。这根本没有区别。
|
||||
|
||||
来到服务器选项,我在精简安装程序里选择了 Ubuntu 22.04 LTS 服务器版本。令我惊讶的是,服务器安装选项也需要至少 8GB 内存才能开始安装。基于该版本,它下载了约 1.8GB 的软件包。之后,它启动了正常的 Ubuntu 服务器版安装程序。这与常规的服务器版安装过程也是毫无区别。
|
||||
|
||||
![Ubuntu 精简 ISO - 服务器选项只是常规的服务器安装][5]
|
||||
|
||||
![Ubuntu 精简 ISO - 服务器安装大约占用 7GB 存储][6]
|
||||
|
||||
综上可知,精简版桌面安装程序仅仅只是一个下载完整桌面版或服务器版镜像的 CLI 前端界面,仅此而已。这款安装程序的主要用途可能是 Ubuntu 桌面版或服务器版的联网安装。但,再次强调,你需要稳定的网络连接,以便下载所需内容。
|
||||
|
||||
与之相似的是,Xubuntu 团队在几周前 [提供了][7] 精简版 ISO,它只包含基本的 Ubuntu,以及不含任何额外程序的原生 Xfce 桌面。
|
||||
|
||||
也就是说,这款安装程序恐怕和你从名字里所想的不太一样。如果他们能提供一款仅包含必要的 Ubuntu 组件,且不含桌面环境、Snap 等要素的“真·精简 ISO”,那会更好;就像不含任何桌面组件的原生 Arch 安装那样。
|
||||
|
||||
你可以从 [该页面][8] 下载精简 ISO。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/ubuntu-minimal-test-drive/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[imgradeone](https://github.com/imgradeone)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://linux.cn/article-15588-1.html
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/04/Ubuntu-minimal-install-first-menu.jpg
|
||||
[3]: https://debugpointnews.com/wp-content/uploads/2023/04/Ubuntu-mini-installer-downloads-the-desktop-itself-online.jpg
|
||||
[4]: https://debugpointnews.com/wp-content/uploads/2023/04/Mandatory-requirement-of-8GB-RAM-for-Ubuntu-mini-ISO.jpg
|
||||
[5]: https://debugpointnews.com/wp-content/uploads/2023/04/Ubuntu-mini-ISO-server-option-is-just-regular-server-installation.jpg
|
||||
[6]: https://debugpointnews.com/wp-content/uploads/2023/04/Ubuntu-mini-ISO-server-install-takes-around-7GB-of-storage.jpg
|
||||
[7]: https://www.debugpoint.com/xubuntu-minimal/
|
||||
[8]: https://cdimages.ubuntu.com/ubuntu-mini-iso/daily-live/current/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/27/213525ymlmxicpt3ctmlti.jpg
|
@ -0,0 +1,117 @@
|
||||
[#]: subject: "Remove the background from an image with this Linux command"
|
||||
[#]: via: "https://opensource.com/article/23/4/image-editing-linux-python"
|
||||
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15762-1.html"
|
||||
|
||||
使用 Linux 命令从图像中删除背景
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Python 的力量使 Linux 上的图像编辑变得简单。
|
||||
|
||||
你有一张很棒的自己的照片,并想将其用于你的社交媒体资料,但背景让人分心。而另一张图片为你的个人资料图片提供了完美的背景。你如何将两者结合起来?一些智能手机应用可以进行这种照片处理,但价格太贵或充斥着广告软件。而且它们不是开源的。
|
||||
|
||||
[Rembg][1] 正适合于此。
|
||||
|
||||
Rembg 是用 Python 编写的,因此请在你的计算机上安装 Python 3。大多数 Linux 发行版默认包含 Python 3。你可以使用这个简单的命令检查你的版本:
|
||||
|
||||
```
|
||||
$ python3 --version
|
||||
```
|
||||
|
||||
Rembg 至少需要 Python 3.7 且不高于 Python 3.11。就我而言,我安装了 Python 3.10.6。
|
||||
|
||||
### 在 Linux 上安装 Rembg
|
||||
|
||||
我在我的 Linux 笔记本电脑上创建了一个名为 `PythonCoding` 的目录,然后创建了一个 Python 虚拟环境:
|
||||
|
||||
```
|
||||
$ python3 -m venv /home/don/PythonCoding
|
||||
```
|
||||
|
||||
接下来,我使用 `pip` 安装 `rembg`:
|
||||
|
||||
```
|
||||
$ python3 -m pip install rembg
|
||||
```
|
||||
|
||||
### 合并图像
|
||||
|
||||
是时候施展魔法了。首先,我选择了 2019 年在 All Things Open 拍摄的照片。
|
||||
|
||||
![Don Watkins at All Things Open conference][2]
|
||||
|
||||
为了方便起见,我运行了以下 `rembg` 命令以使用较短的文件名重命名它:
|
||||
|
||||
```
|
||||
$ rembg i dgw_ato.jpeg dgw_noback.jpg
|
||||
```
|
||||
|
||||
第一次运行 `rembg` 时,它会下载一个开源 [模式识别模型][3]。这可能超过 100 MB,并且 `rembg` 将它保存到 `~/.u2net/u2net.onnx` 的用户目录中。该模型是 U-2-Net,并使用 Apache 2.0 许可证。有关模式识别模型的更多信息(包括如何训练你自己的模型),请阅读 Rembg 文档。
|
||||
|
||||
它在大约十秒钟内创建了我没有背景的新照片。我有一个带有 16 GB 内存的 Ryzen 7。你的体验可能因硬件而异。
|
||||
|
||||
![A processed image of Don Watkins, with the background removed by Rembg.][4]
|
||||
|
||||
过去我曾使用 [GIMP][5] 删除背景,但 `rembg` 比我使用 GIMP 时更快更彻底。
|
||||
|
||||
这就是删除背景的全部内容。如果添加一个新的呢?
|
||||
|
||||
### 添加新背景
|
||||
|
||||
接下来,我想给图片添加一个新的背景。有不同的方法可以做到这一点。例如,你可以使用 [ImageMagick][6] 组合图像,但获得正确的帧大小可能很复杂。最简单的方法是使用 GIMP 或 [Krita][7]。
|
||||
|
||||
我使用 GIMP。首先,打开新创建的图像(在我的例子中是 `ato_image.jpg`)。现在转到 “<ruby>文件<rt>File</rt></ruby>” 菜单并选择 “<ruby>打开为图层<rt>Open as layers</rt></ruby>”。选择不同的背景图像。此图像作为现有照片的叠加层打开。
|
||||
|
||||
我想将新背景移到我的肖像下方。在 GIMP 窗口的右侧有两个缩略图,每个图像层一个。背景层在上面。我将背景层拖到肖像图像下方,结果如下:
|
||||
|
||||
![Don Watkins with a new background.][8]
|
||||
|
||||
这对我的个人资料照片来说是一个更好的设置!
|
||||
|
||||
### 尝试 Rembg
|
||||
|
||||
Rembg 有三个子命令,你可以在 `--help` 菜单中查看:
|
||||
|
||||
```
|
||||
$ rembg --help
|
||||
```
|
||||
|
||||
他们是:
|
||||
|
||||
- `rembg i` 用于文件
|
||||
- `rembg p` 用于文件夹
|
||||
- `rembg s` 用于 HTTP 服务器
|
||||
|
||||
Rembg 使用 [MIT][9] 许可证发布。下次你需要从图像中删除背景时试试看。
|
||||
|
||||
*(题图:MJ/blur background image lens in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/image-editing-linux-python
|
||||
|
||||
作者:[Don Watkins][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://github.com/danielgatis/rembg
|
||||
[2]: https://opensource.com/sites/default/files/2023-03/don-watkins-at-All-Things-Open.webp
|
||||
[3]: https://github.com/xuebinqin/U-2-Net
|
||||
[4]: https://opensource.com/sites/default/files/2023-03/don-watkins-no-background.webp
|
||||
[5]: https://opensource.com/content/cheat-sheet-gimp
|
||||
[6]: https://opensource.com/article/17/8/imagemagick
|
||||
[7]: https://opensource.com/article/21/12/open-source-photo-editing-krita
|
||||
[8]: https://opensource.com/sites/default/files/2023-03/don-watkins-at-the-beach.webp
|
||||
[9]: https://github.com/danielgatis/rembg/blob/main/LICENSE.txt
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/27/225433ed1xkzdfz7iuwfyo.jpg
|
@ -0,0 +1,134 @@
|
||||
[#]: subject: "Beginner’s Guide to Verify ISO Files in Linux"
|
||||
[#]: via: "https://www.debugpoint.com/verify-iso-files-linux/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15755-1.html"
|
||||
|
||||
在 Linux 中验证 ISO 文件的初学者指南
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 这篇简单指南演示了在 Ubuntu 和其他 Linux 发行版中验证 ISO 文件过程。
|
||||
|
||||
从互联网下载操作系统镜像文件或软件有时会带来安全风险,因为恶意行为者可能会损坏或修改文件。为保证下载文件的真实性和完整性,需要对其进行校验。在本初学者指南中,我们将引导你在 Linux 中验证 ISO 文件。
|
||||
|
||||
### 什么是 ISO 文件?
|
||||
|
||||
ISO 文件通常用于创建可启动媒体、安装软件和创建备份。ISO 文件包含压缩格式的所有原始应用/光盘数据,可以轻松下载并通过互联网共享。
|
||||
|
||||
例如,如果你下载 Ubuntu 桌面、服务器或任何其他 Linux 操作系统,你一定遇到过扩展名为 .iso 的文件。它还用于应用或其他操作系统,例如 Windows。
|
||||
|
||||
### 为什么要验证 ISO 文件?
|
||||
|
||||
验证 ISO 文件对于确保下载的文件真实且未被修改至关重要。修改后的 ISO 文件可能包含可能损害你系统的恶意软件或病毒。验证 ISO 文件可确保下载的文件与开发人员创建的文件相同且未被篡改。
|
||||
|
||||
例如,几年前 [Linux Mint 服务器被黑][1] 并且官方 ISO 文件被修改。由于你是从官方网站下载的,你可能会认为这些文件是真实的,但它们不一定是。
|
||||
|
||||
因此,在使用 ISO 文件安装到你的笔记本电脑/台式机之前,始终验证 ISO 文件非常重要。
|
||||
|
||||
### 在 Linux 中验证 ISO 文件的方法
|
||||
|
||||
Linux 中校验 ISO 文件的常用方法有两种:
|
||||
|
||||
- 使用 SHA-256 校验和
|
||||
- 使用 GPG 签名
|
||||
|
||||
#### 使用 SHA-256 校验和
|
||||
|
||||
[SHA-256][2] 是一种加密哈希函数,可为文件生成唯一的哈希值。校验和是将 SHA-256 算法应用于文件的结果。校验和是一个唯一的字符串,可用于验证文件的完整性。
|
||||
|
||||
要使用 SHA-256 校验和验证 ISO 文件,请从开发者网站下载 SHA-256 校验和。SHA-256 校验和文件将包含 ISO 文件的校验和值。你需要生成下载的 ISO 文件的校验和值,并将其与 SHA-256 校验和文件中的校验和值进行比较。如果两个值匹配,则下载的 ISO 文件是真实的且未被修改。
|
||||
|
||||
#### 使用 GPG 签名
|
||||
|
||||
[GPG][3](GNU Privacy Guard)是一种加密软件,可用于对文件进行签名和验证。GPG 签名是一种数字签名,可确保文件的真实性和完整性。开发者使用他们的私钥签署 ISO 文件,用户使用开发者的公钥验证签名。
|
||||
|
||||
要使用 GPG 签名验证 ISO 文件,你需要从开发者网站下载 GPG 签名文件。GPG 签名文件将包含开发者的公钥和 ISO 文件的签名。你需要导入开发者公钥,下载 ISO 文件和 GPG 签名文件,并使用开发者公钥对 ISO 文件进行签名验证。如果签名有效,则 ISO 文件是真实的并且未被修改。
|
||||
|
||||
### 如何在 Linux 中验证 ISO 文件:示例
|
||||
|
||||
让我们看一下上述在 Linux 中使用 SHA-256 校验和及 GPG 签名验证 ISO 文件的方法的一些示例。
|
||||
|
||||
#### 使用 SHA-256 校验和验证 ISO 文件
|
||||
|
||||
![示例 - 要验证和校验和的 ISO 文件][4]
|
||||
|
||||
- 我已经从 [官方网站][5] 下载了 Linux Mint 21.1 ISO 文件。
|
||||
- 此外,我还下载了包含 ISO 文件校验和的 SHA-256 文本文件(见上图)。
|
||||
- 现在,打开终端并转到 ISO 和 SHA-256 校验和文件所在的目录。
|
||||
- 在终端中使用 `sha256sum` 命令生成 ISO 文件的 SHA-256 校验和值。例如,要生成上述名为 linuxmint-21.1-cinnamon-64bit.iso 的 ISO 文件的校验和值,请运行以下命令:
|
||||
|
||||
```
|
||||
sha256sum linuxmint-21.1-cinnamon-64bit.iso
|
||||
```
|
||||
|
||||
- 将生成的校验和值与 SHA-256 校验和文件中的校验和值进行比较。如果两个值匹配,则 ISO 文件是真实的并且未被修改。
|
||||
- 这是上述 ISO 文件的并排比较。
|
||||
|
||||
![使用 sha256sum 命令验证 ISO 文件][6]
|
||||
|
||||
如果校验和匹配,你可以确信该文件是真实的并且没有被篡改。你可以对任何其他 ISO 文件和校验和使用相同的命令进行验证。
|
||||
|
||||
现在,让我们看看如何使用 GPG 密钥进行验证。
|
||||
|
||||
#### 使用 GPG 签名验证 ISO 文件
|
||||
|
||||
对于上面的示例,我已经从官方网站下载了 .gpg 文件和 ISO 文件。
|
||||
|
||||
下一步是下载并导入开发者的公钥。你可以从开发者的网站或密钥服务器下载公钥。
|
||||
|
||||
我使用下面的命令为这个例子下载了 Linux Mint 的公钥。因此,对于相应 Linux 发行版文件的 ISO 文件,请查看下载页面以找出公钥。
|
||||
|
||||
```
|
||||
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09"
|
||||
```
|
||||
|
||||
**注意**:你还可以下载公钥 `.asc` 文件(如果有),然后使用命令 `gpg --import developer_key_file.asc` 将其导入你的系统。
|
||||
|
||||
完成后,运行下面的 gpg 命令来验证文件。
|
||||
|
||||
```
|
||||
gpg --verify sha256sum.txt.gpg sha256sum.txt
|
||||
```
|
||||
|
||||
![使用 gpg 密钥验证 ISO 文件][7]
|
||||
|
||||
|
||||
如果文件是真实的,你应该会在上述命令的输出中看到 “Good signature” 消息。此外,你可以匹配公钥的最后 8 个字节。“Warning” 是一条通用消息,你可以忽略它。
|
||||
|
||||
### 总结
|
||||
|
||||
验证 ISO 文件是确保下载文件的真实性和完整性的重要步骤。在本初学者指南中,我介绍了在 Linux 中使用 SHA-256 校验和和 GPG 签名验证 ISO 文件的方法和步骤。通过执行这些步骤,你可以自信地下载和使用 ISO 文件,知道它们没有被修改并且可以安全使用。
|
||||
|
||||
请记住,即使你是从官方网站下载的,在你验证之前你永远不会知道 ISO 文件是否真实。因此,请将此作为最佳实践。
|
||||
|
||||
> **[参考信息][8]**
|
||||
|
||||
*(题图:MJ/iso cd image illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/verify-iso-files-linux/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://blog.linuxmint.com/?p=2994
|
||||
[2]: https://en.wikipedia.org/wiki/SHA-2
|
||||
[3]: https://gnupg.org/
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2023/04/Example-ISO-files-to-verify-and-checksum.jpg
|
||||
[5]: https://linuxmint.com/edition.php?id=302
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2023/04/Verify-ISO-file-using-sha256-command.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2023/04/Verifying-ISO-file-using-gpg-keys.jpg
|
||||
[8]: https://linuxmint-installation-guide.readthedocs.io/en/latest/verify.html
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/25/212733t57u5suu75t58gl5.jpg
|
@ -0,0 +1,68 @@
|
||||
[#]: subject: "7 tips to make the most of your next tech conference"
|
||||
[#]: via: "https://opensource.com/article/23/4/tips-tech-conference"
|
||||
[#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "TaivasJumala"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15759-1.html"
|
||||
|
||||
充分利用你的下一次技术会议的 7 个技巧
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 会议是科技行业的福利之一。以下是如何充分利用你所参加的会议的方法。
|
||||
|
||||
我在 2023 年 2 月参加了两个针对开源软件的技术会议。我是比利时根特举办的 [Config Management Camp][1] 的演讲者,也是比利时布鲁塞尔 [FOSDEM][2] 的与会者。本文旨在着重讲述我在会议上的经验,并为你提供一些如何充分利用这种机会的建议。
|
||||
|
||||
### 保持目的性
|
||||
|
||||
不同的人参加会议有不同的原因。有些人是某个主题、知识或兴趣领域的演讲者。另外一些人是希望从这些讲座中获得知识并与其他志同道合的人建立联系的与会者。也有一些代表他们公司的与会者。你很可能属于其中的一类。明确你希望从会议中获得什么,这是进行一次成功会议访问的第一步。如果你是一个演讲者,这意味着你要熟练掌握你所演讲的东西。如果你是一个与会者,你应该对你想从会议中获得什么有一个认识。
|
||||
|
||||
### 了解场地和会议日程
|
||||
|
||||
FOSDEM 是一个非常大的会议,在两天的时间里至少有六千人参加。对于一个参加这样一个大型的会议的与会者来说,由于许多演讲会在同一时间举行,无法参加所有你感兴趣的会议并不奇怪。通常,这样的大型会议在大学或会议中心等宽敞的场地举行。由于面积非常大,会议会根据特定的主题分散在整个会场。这些会议会有一个固定的日程,所以有时你可能必须迅速地从场地的一边跑到另一边。场馆地图可以在场馆网站上轻松获取。在第一天早点到达会场并熟悉它是非常有用的。这有助于节省你在一个演讲结束时匆忙赶往另一个演讲的时间。
|
||||
|
||||
### 记些笔记
|
||||
|
||||
在现场集中注意力和专注于演讲当然很好。然而,你的头脑只能记住这么多。当然,有些人会试着尽可能地利用他们的手机拍摄正在演示的幻灯片(顺着演讲者的演讲节奏)。如果你想在社交媒体上快速更新你正在参加的会议信息,这是很好的。但是它不是很有效的笔记。通常幻灯片上的有效信息是最少的。但是如果演讲者在台上深入地解释了一些东西,你可能会错过这些解释。我建议你随身携带一个记事本和一支笔。你甚至可以带上笔记本电脑做笔记。这个做法的目的是在于通过在演讲中对有趣的花絮做一个简短的笔记,以便你可以在以后重温它们。而且它让你总是能在演讲快结束时回想起要向演讲者提问的问题。
|
||||
|
||||
### 建立关系和促成协作
|
||||
|
||||
会议可能是与志同道合的人彼此交往的最佳场所。他们和你一样对同样的话题感兴趣。最好利用这段时间来了解在感兴趣的话题上正在发生什么,看看人们如何解决令人感兴趣的问题,他们如何处理事情,并掌握整个行业的脉搏。你在会议上的时间有限,所以一定要把你介绍给那些从事与你有关的工作的人。这是一个收集信息的好机会,以便以后与他们沟通。你可以通过电子邮件、Mastodon、领英等方式交换个人信息。
|
||||
|
||||
### 腾出时间看展位和礼品
|
||||
|
||||
大多数技术会议都有来自各种公司或上游项目的展位,希望推销他们的产品和服务。为了吸引更多参展的人,展位上经常会有各种各样的免费的礼品(在大多数情况下)。这些礼品通常是贴纸、凉水瓶、有趣的小玩意、毛绒玩具、笔之类。一定要把它们收集起来,这样你就有东西送给你的同事和朋友了。参观展位不应该只是为了礼品。你应该利用这个机会与来自不同公司的人交谈(即使他们是竞争对手),以了解他们能提供什么。谁没准你就会得到以后的项目知识!
|
||||
|
||||
### 放松
|
||||
|
||||
参加会议不应该只是为了工作。这也让你你从平时忙碌的日程中休息一下,放松一下。很有可能你正在前往一个你还没有访问过的不同的国家或城市。会议、会谈和技术讨论都很重要。但这只是整个体验的一部分。另一半的经验是旅行,它可以使人了解另一个国家、它的文化、它的人民、食物、语言和不同的生活方式。退一步讲,享受所有这些经历,留下终生的回忆。我建议你在住宿的地方找一些著名的地标兼做。你也应该尝试当地的美食,或者你可以和当地人聊天。最后,你会发现你认为从来没有存在过的自己的另一面。
|
||||
|
||||
### 写下你的经历
|
||||
|
||||
一旦你从会议回来,不要只是忘记它然后回到你的日常生活,就好像什么都没发生一样。利用这个机会写下你的经历,并分享你认为最好的演讲以及原因。会议和旅行的主要收获是什么?你应该记录你学到的东西。你应该主动联系你在会议上遇到的人。你也可以在社交媒体上关注你可能错过的事情。
|
||||
|
||||
### 总结
|
||||
|
||||
会议是科技行业的福利之一。我建议每个人在职业生涯中的某个时候都去一次。我希望这篇文章能帮助你了解如何在参加技术会议时最大限度地利用会议。
|
||||
|
||||
*(题图:MJ/conference illustration talk meetup in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/tips-tech-conference
|
||||
|
||||
作者:[Gaurav Kamathe][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[Taivas Jumala](https://github.com/TaivasJumala)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/gkamathe
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://cfgmgmtcamp.eu/ghent2023/
|
||||
[2]: https://fosdem.org/2023/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/27/074139chzhgld44l4dih4b.jpg
|
@ -0,0 +1,67 @@
|
||||
[#]: subject: "Firefox 112 Released: Right-Click to Reveal Password, Improved Tab Management, and More!"
|
||||
[#]: via: "https://debugpointnews.com/firefox-112/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15732-1.html"
|
||||
|
||||
Firefox 112 发布:右键单击显示密码、改进标签管理等!
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Firefox 发布 112 版本,为我们带来了显示密码的新选择、同时改进了标签管理等。
|
||||
|
||||
Mozilla 于 2023 年 4 月 11 日发布了 Firefox 112,新版本包含一些令人兴奋的新功能和改进。该浏览器的最新版本带来了一些功能以增强用户体验和提高性能。
|
||||
|
||||
![在 Ubuntu 上运行 Firefox 112][1]
|
||||
|
||||
本次更新最明显的其中一个功能是,你只需右键单击密码字段即可显示密码。对于那些容易忘记登录凭据的人来说,这是一个方便的工具。
|
||||
|
||||
![Firefox 112 引入了显示密码选项][2]
|
||||
|
||||
如今,Firefox 允许 Ubuntu Linux 用户从 Chromium Snap 包导入浏览器数据。但是,此功能仅在 Firefox 未以 Snap 包安装时才有效,这一问题 Mozilla 正在努力解决了。
|
||||
|
||||
在标签管理方面,Firefox 112 提供了一个新的选项,可以通过在标签列表面板中用鼠标中键点击来关闭标签。此外,快捷键 `(Cmd/Ctrl)-Shift-T` 用于取消关闭标签,当同一会话中没有更多已关闭的标签需要重新打开时,它现在会恢复之前的会话。
|
||||
|
||||
Firefox 还扩展了已知跟踪参数列表,对于 ETP Strict 用户,这些参数会从 URL 中删除。这进一步保护用户免受跨站点跟踪。
|
||||
|
||||
新的更新还可以在 Windows 中的英特尔 GPU 上叠加软件解码视频。这提高了缩小的视频质量,并减少了 GPU 的使用。
|
||||
|
||||
在其他功能方面,已弃用的 U2F Javascript API 现在默认处于禁用状态。但是,U2F 协议仍然可以通过 WebAuthn API 使用,并且可以使用 security.webauth.u2f 首选项重新启用 U2F API。
|
||||
|
||||
最后,日期选择器面板中添加了一个新的清除按钮,允许用户快速清除类型为“日期”或“本地日期-时间”的输入,从而为跨浏览器的用户体验提供一致性。
|
||||
|
||||
Firefox 112 可在 Windows、Mac 和 Linux 上下载,我们鼓励用户将浏览器更新到最新版本以获得更流畅、更安全的浏览体验。
|
||||
|
||||
你可以立即从以下链接下载最新版本。
|
||||
|
||||
> **[下载 Firefox 112][3]**
|
||||
|
||||
或者,你可以再等几天,Linux 发行版会对它进行测试并通过定期发行版更新让你也能用上 Firefox 112。
|
||||
|
||||
参考自:[changelog][4]
|
||||
|
||||
*(题图:MJ:Firefox illustation in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/firefox-112/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/04/Firefox-112-Running-in-Ubuntu.jpg
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/04/Firefox-112-introduces-reveal-password-option.jpg
|
||||
[3]: https://ftp.mozilla.org/pub/firefox/releases/112.0/
|
||||
[4]: https://www.mozilla.org/en-US/firefox/112.0/releasenotes/
|
||||
[5]: https://floss.social/@debugpoint
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/18/152313ymv11zo1jmqdd01m.jpg
|
@ -0,0 +1,98 @@
|
||||
[#]: subject: "OpenBSD 7.3 Released with New Features and Updates"
|
||||
[#]: via: "https://debugpointnews.com/openbsd-7-3/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15726-1.html"
|
||||
|
||||
OpenBSD 7.3 发布,包含新功能和更新
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> OpenBSD 7.3 正式发布,有大量的软件包更新和改进。
|
||||
|
||||
![OpenBSD desktop (7+) fvwm][1]
|
||||
|
||||
OpenBSD 7.3 已经正式 [发布][2],这是该系统的第 54 个版本。这个最新的版本建立在 OpenBSD 令人印象深刻的傲人记录之上 —— 它是一个安全可靠的操作系统,在二十多年的使用过程中,在默认安装中只发现了两个远程漏洞。
|
||||
|
||||
与以前的版本一样,OpenBSD 7.3 在广泛的系统领域提供了显著的改进。其中包括内核的改进,如增加了 `waitid(2)`、`pinsyscall(2)`、 `getthrname(2)` 和 `setthrname(2)` 函数,以及 `waitid(2)` 的 `WTRAPPED` 选项,等等。此外,新的内核 `autoconf_serial sysctl(8)` 允许用户区监控内核设备树状态的变化。
|
||||
|
||||
直接渲染管理器和图形驱动已经更新,引入了对 Ryzen 7000 “Raphael” 和 Ryzen 7020 和 7045 系列处理器以及 Radeon RX 7900 XT/XTX “Navi 31” 的支持,并改进了苹果芯片笔记本电脑和联想 x13s 的问题的解决方案。
|
||||
|
||||
此外,还改进了对网络硬件的支持,例如启用了 `em(4)` IPv4、 TCP 和 UDP 校验卸载,以及 82575、 82576、 i350 和 i210 芯片组设备上的硬件 VLAN 标记, 以及改进了 `mcx(4)` 性能。
|
||||
|
||||
![OpenBSD 7.3 安装][3]
|
||||
|
||||
除了上述的改进,OpenBSD 7.3 还包括一系列新的或改进的硬件和软件对 <ruby>端口源码包<rt>Port</rt></ruby> 和 <ruby>二进制软件包<rt>Package</rt></ruby> 的支持。一些来自外部供应商的主要组件包括 Xenocara、LLVM/Clang、GCC、Perl、NSD、Unbound、Ncurses、Binutils、Gdb、Awk 和 Expat。
|
||||
|
||||
OpenBSD 以最安全、最可靠的操作系统之一而闻名。在过去的二十年里,它的默认安装中只有两个远程漏洞,这一记录令人印象深刻。随着 OpenBSD 7.3 的发布,用户可以期待在几乎所有的系统领域都有显著的改进。
|
||||
|
||||
这个版本的内核改进,如增加了 `waitid(2)`、`pinsyscall(2)`、`getthrname(2)`、`setthrname(2)` 和 `clockintr(9)`,将为用户提供更简化的体验。Direct Rendering Manager 和图形驱动也得到了更新,包括对 Ryzen 7000 “Raphael”、Radeon RX 7900 XT/XTX “Navi 31” 和 Radeon RX 7600M(XT)等新设备的支持。
|
||||
|
||||
OpenBSD 7.3 还包括改进的网络硬件支持,在 82575、82576、i350 和 i210 芯片组的设备上启用 `em(4)` IPv4、TCP 和 UDP 校验和卸载以及硬件 VLAN 标记。此外,通过使用基于中断的命令完成,`mcx(4)` 的性能得到了提高。
|
||||
|
||||
至于端口源码包和二进制软件包,OpenBSD 7.3 包括了最新版本的应用程序、桌面和关键软件包。下面是关键端口源码包和二进制软件包的新项目列表:
|
||||
|
||||
**桌面和应用**
|
||||
|
||||
- Chromium 111.0.5563.110
|
||||
- GNOME 43.3
|
||||
- KDE 应用 22.12.3
|
||||
- KDE 框架 5.103.0
|
||||
- Xfce 4.18
|
||||
- Krita 5.1.5
|
||||
- LibreOffice 7.5.1.2
|
||||
- Mozilla Firefox 111.0 和 ESR 102.9.0
|
||||
- Mozilla Thunderbird 102.9.0
|
||||
|
||||
**核心开发软件包**
|
||||
|
||||
- Mutt 2.2.9 和 NeoMutt 20220429
|
||||
- Node.js 18.15.0
|
||||
- OCaml 4.12.1
|
||||
- OpenLDAP 2.6.4
|
||||
- PHP 7.4.33, 8.0.28, 8.1.16 和 8.2.3
|
||||
- Postfix 3.5.17 和 3.7.3
|
||||
- PostgreSQL 15.2
|
||||
- Python 2.7.18, 3.9.16, 3.10.10 和 3.11.2
|
||||
- Qt 5.15.8 和 6.4.2
|
||||
- R 4.2.1
|
||||
- Ruby 3.0.5, 3.1.3 和 3.2.1
|
||||
- Rust 1.68.0
|
||||
- Sudo 1.9.13.3
|
||||
- MariaDB 10.9.4
|
||||
- Mono 6.12.0.182
|
||||
|
||||
总的来说,最新发布的 OpenBSD 继续为用户提供安全可靠的操作系统,同时也在系统的各个领域进行了重大改进。我们鼓励用户升级到 OpenBSD 7.3,以利用这些新功能和改进。
|
||||
|
||||
OpenBSD 7.3 可以从官方网站下载,并有全面的发布说明,详细介绍了所有的新功能和改进。
|
||||
|
||||
> **[下载 OpenBSD 7.3(所有架构)][4]**
|
||||
|
||||
> **[详细的更新日志][5]**
|
||||
|
||||
*(题图: MJ:Future computer with transparent screen, metal box, hd, ultra detailed, sci-fi)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/openbsd-7-3/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/04/OpenBSD-desktop-7-fvwm.jpg
|
||||
[2]: https://www.openbsd.org/73.html
|
||||
[3]: https://debugpointnews.com/wp-content/uploads/2023/04/OpenBSD-7.3-installation.jpg
|
||||
[4]: https://cdn.openbsd.org/pub/OpenBSD/7.3/
|
||||
[5]: https://www.openbsd.org/plus73.html
|
||||
[6]: https://floss.social/@debugpoint
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/16/150654wtvhflqgvmfdg6hv.jpg
|
@ -0,0 +1,76 @@
|
||||
[#]: subject: "7 open source modules to make your website accessible"
|
||||
[#]: via: "https://opensource.com/article/23/4/drupal-modules-website-accessibility"
|
||||
[#]: author: "Neeraj Kumar https://opensource.com/users/neerajskydiver"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15767-1.html"
|
||||
|
||||
7 个使你的 Drupal 网站无障碍访问的开源模块
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 使用这些 Drupal 模块,使你的网站对每个人都可以无障碍访问。
|
||||
|
||||
随着网站的 <ruby>无障碍访问<rt>accessibility</rt></ruby> 继续成为人们日益关注的问题,网站所有者和开发人员需要确保他们的网站符合[美国残疾人法案][1](ADA)。Drupal 是一种流行的开源内容管理系统(CMS),它提供各种工具和模块以确保所有用户都可以访问你的网站,而无论他们的能力如何。本文讨论了网站无障碍访问的重要性、ADA 合规性的基本要求,以及 [Drupal][2] 如何帮助你实现合规性。
|
||||
|
||||
### 为什么网站无障碍访问很重要
|
||||
|
||||
出于多种原因,网站无障碍访问很重要。首先,它确保残障人士可以访问和使用你的网站。这包括有视觉、听觉、身体和认知障碍的人。通过使你的网站可以无障碍访问,你不仅遵守了法律,而且还为所有用户提供了更好的体验。
|
||||
|
||||
此外,网站无障碍访问可以改善你网站的搜索引擎优化(SEO)并提高网站的可用性。搜索引擎优先考虑无障碍的网站,如果易于使用,用户更有可能在你的网站上停留更长时间并与你互动。
|
||||
|
||||
### ADA 合规性的基本要求
|
||||
|
||||
ADA 要求所有网站和数字内容都可供残障人士访问。ADA 合规性的一些基本要求包括:
|
||||
|
||||
- 为所有图像和非文本内容提供替代文本描述。
|
||||
- 确保所有视频都有字幕和文字说明。
|
||||
- 使用颜色对比和其他设计元素使你的网站更具可读性。
|
||||
- 提供访问内容的替代方式,例如音频描述和键盘导航。
|
||||
- 确保你的网站与辅助技术兼容,例如屏幕阅读器和盲文显示器。
|
||||
|
||||
### Drupal 如何帮助你实现合规性
|
||||
|
||||
Drupal 提供各种工具和模块来帮助你实现网站的无障碍和 ADA 合规性。以下是我认为最有用的七个:
|
||||
|
||||
- [无障碍访问检查器][3]:扫描你的网站以查找常见的无障碍访问问题并提出改进建议。
|
||||
- [颜色对比分析器][4]:分析你网站的颜色对比度并做出改变以提高可读性。
|
||||
- [块元素 ARIA 地标角色][5]:增强 WAI-ARIA 在站点标记中的使用。此模块允许你通过块配置表单将 ARIA 地标角色和/或 ARIA 标签直接分配给站点布局中的每个块元素。
|
||||
- [Civic 无障碍访问工具栏][6]:提供辅助工具以帮助残障用户浏览网站并与之交互。
|
||||
- [htmLawed][7]:通过限制和净化 HTML 确保符合 Web 标准和管理策略。
|
||||
- [调整文本大小][8]:通过在页面上显示可调整的文本大小更改器或缩放功能来增强 Web 无障碍。
|
||||
- [自动替代文本][9]:利用 [微软 Azure Cognitive Services API][10] 在没有替代文本时创建图像标题。
|
||||
|
||||
### 总结
|
||||
|
||||
出于法律原因和为所有用户提供更好的用户体验,确保网站无障碍访问和 ADA 合规性非常重要。从无障碍访问检查器到颜色对比分析器,Drupal 提供了多种方法来确保你的网站符合 ADA 标准。使用 Drupal 的工具和模块,你可以让每个人都可以访问你的网站,无论他们的能力如何,并提供更好的用户体验。
|
||||
|
||||
*(题图:MJ/accessibility illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/drupal-modules-website-accessibility
|
||||
|
||||
作者:[Neeraj Kumar][a]
|
||||
选题:[lkxed][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/neerajskydiver
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.dol.gov/general/topic/disability/ada
|
||||
[2]: https://opensource.com/article/23/3/create-accessible-websites-drupal
|
||||
[3]: https://www.drupal.org/project/editoria11y
|
||||
[4]: https://www.drupal.org/project/high_contrast
|
||||
[5]: https://www.drupal.org/project/block_aria_landmark_roles
|
||||
[6]: https://www.drupal.org/project/civic_accessibility_toolbar
|
||||
[7]: https://www.drupal.org/project/htmlawed
|
||||
[8]: https://www.drupal.org/project/textsize
|
||||
[9]: https://www.drupal.org/project/auto_alter
|
||||
[10]: https://www.microsoft.com/cognitive-services
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/30/162337kdiekuzchl2cx2m1.png
|
@ -0,0 +1,179 @@
|
||||
[#]: subject: "How to Connect GitHub to VS Code [Step by Step]"
|
||||
[#]: via: "https://itsfoss.com/vs-code-github/"
|
||||
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15750-1.html"
|
||||
|
||||
详解:如何将 GitHub 连接到 VS Code
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
VS Code 无疑是最受欢迎的代码编辑器之一。同样,GitHub 是编码人员中最受欢迎的平台。
|
||||
|
||||
两种微软产品可以很好地融合在一起。你可以在 VS Code 中无缝编码并将更改推送到你的 GitHub 仓库。从同一个应用界面完成所有这些工作让生活变得如此轻松。
|
||||
|
||||
如何将 GitHub 添加到 VS Code? 其实很容易。
|
||||
|
||||
在本教程中,我将展示:
|
||||
|
||||
- 如何将你的 GitHub 帐户集成到 VS Code 中
|
||||
- 如何将仓库从 GitHub 克隆到 VS Code 中
|
||||
- 如何将你的更改从 VS Code 推送到 GitHub
|
||||
|
||||
听起来不错?让我们看看如何去做。
|
||||
|
||||
### 先决条件
|
||||
|
||||
请确保你的计算机上安装了 Git。怎么做?
|
||||
|
||||
一种方法是转到 VS Code 中的源代码管理视图。如果未安装 Git,它会要求你下载它。
|
||||
|
||||
![Checking if Git is installed via VS Code][2]
|
||||
|
||||
另一件事是你**需要配置 Git 用户名和电子邮件**。
|
||||
|
||||
### 将 GitHub 添加到 VS Code
|
||||
|
||||
VS Code 内置了 GitHub 集成。你不需要安装任何扩展来克隆仓库和推送你的更改。
|
||||
|
||||
从左侧边栏转到源代码选项卡。你应该看到 “<ruby>克隆仓库<rt>Clone Repository</rt></ruby>” 或 “<ruby>发布到 GitHub<rt>Publish to GitHub</rt></ruby>”(如果你已经打开了一个文件夹)选项。单击 “<ruby>克隆仓库<rt>Clone Repository</rt></ruby>” 并为其提供 GitHub 仓库链接或单击 “<ruby>从 GitHub 克隆<rt>Clone from GitHub</rt></ruby>”。
|
||||
|
||||
![Cloning GitHub repo in VS Code][3]
|
||||
|
||||
然后它会显示一条消息,要求你登录 GitHub。
|
||||
|
||||
![VS Code asking to sign in to GitHub][4]
|
||||
|
||||
你单击“<ruby>允许<rt>Allow</rt></ruby>”按钮,它将打开 GitHub 登录页面。
|
||||
|
||||
![Connect GitHub to VS Code][5]
|
||||
|
||||
如果你尝试克隆一个仓库,你应该会看到这样的消息并单击 “<ruby>打开<rt>Open</rt></ruby>”。
|
||||
|
||||
![Opening GitHub repo in VS Code][6]
|
||||
|
||||
这应该需要几秒钟,你就会登录到你的 GitHub 帐户。
|
||||
|
||||
#### 你怎么知道你已经使用 VS Code 登录到 GitHub?
|
||||
|
||||
好吧,它将开始在顶部视图中显示你的 GitHub 仓库(如果有的话)(如果你之前按下了“克隆存储库”)。
|
||||
|
||||
![GitHub repos accessible from VS Code][7]
|
||||
|
||||
或者,你可以单击左下角的配置文件图标,查看它是否显示你已登录到你的 GitHub 帐户。
|
||||
|
||||
![Checking if VS Code logged into GitHub account][8]
|
||||
|
||||
### 在 GitHub 中克隆一个 GitHub 仓库
|
||||
|
||||
如果你已经在 GitHub 中打开了一个项目,想要克隆另一个 GitHub 仓库,有几种方法可以做到。
|
||||
|
||||
你可以**使用 Git 命令将仓库克隆到磁盘上**,然后在 VS Code 中打开此仓库文件夹。
|
||||
|
||||
或者,如果你不想使用命令行,则可以坚持使用 VS Code。
|
||||
|
||||
这很简单。在 VS Code 中打开一个新窗口。
|
||||
|
||||
![Open a new window in VS Code][9]
|
||||
|
||||
这将为你提供一个全新、干净的编辑器。**如果看到欢迎屏幕**,你可以从那里单击 “克隆存储库” 的快速链接。
|
||||
|
||||
否则,从左侧边栏转到“<ruby>源码管理<rt>Source Control</rt></ruby>”选项卡,然后单击“<ruby>克隆仓库<rt>Clone Repository</rt></ruby>”按钮。
|
||||
|
||||
它将在顶部打开一个视图。你可以**直接复制 GitHub 仓库的 URL**。它可以自动从中获取克隆链接。
|
||||
|
||||
![Clone a new GitHub repo in VS Code][10]
|
||||
|
||||
它会问你把克隆的仓库放在哪里。
|
||||
|
||||
![Select a location for the cloned GitHub repo in VS Code][11]
|
||||
|
||||
它会询问你是否要将克隆的仓库在 VS Code 中打开。如果你想立即处理它,那就去做吧。
|
||||
|
||||
![Open the just cloned GitHub repo in VS Code][12]
|
||||
|
||||
不仅仅是克隆的存储库,VS Code 会询问你是否信任你添加到其中的任何文件夹的作者。
|
||||
|
||||
![Trust author promot in VS Code][13]
|
||||
|
||||
好了,你已经在 VS Code 中克隆了一个 GitHub 仓库。让我们看看如何修改并将更改推送到 GitHub。
|
||||
|
||||
### 从 VS Code 推送更改到 GitHub
|
||||
|
||||
现在假设你对代码进行了一些更改并希望将提交推送到你的仓库。
|
||||
|
||||
当你将更改保存到文件中,**VS Code 就会开始用 “M” 指示修改后的文件**。对于新文件,符号为 “U”(未跟踪)。
|
||||
|
||||
从左侧进入“源码控制”,输入提交消息,然后单击提交旁边的按钮并选择 “<ruby>提交并推送<rt>Commit & Push</rt></ruby>”。
|
||||
|
||||
![Push your changes to GitHub from VS Code][14]
|
||||
|
||||
_如果你没有配置 Git 用户名和电子邮件,你将看到如下错误。_
|
||||
|
||||
![Error in VS Code if Git username and email is not set][15]
|
||||
|
||||
你可以 [在全局或仓库级别设置用户名和电子邮件][16]。完全根据你自己的选择。
|
||||
|
||||
> 📋 对于成功的提交和推送,你不会看到任何错误。已修改文件或新文件旁边的 “M” 或 “U” 符号将消失。
|
||||
|
||||
**你可以通过进入 GitHub 上的仓库来验证你的推送是否成功。**
|
||||
|
||||
你可以选择在本地提交更改而不推送它们。你也可以在这里使用 `git` 命令执行所有你以前使用过的操作。有用于创建拉取请求、刷新等等的选项。
|
||||
|
||||
![VS Code gives all kind of Git actions to perform][17]
|
||||
|
||||
### 通过 GitHub 官方扩展将其提升到一个新的水平
|
||||
|
||||
有一个专用的官方扩展,让你还可以**管理其他人对你的仓库的拉取请求并合并它们**。你还可以在此处查看在你的仓库中打开中的问题。这是将 GitHub 与 VS Code 集成的更好方法。
|
||||
|
||||
打开 VS Code,然后转到左侧栏中的扩展选项卡。在这里**搜索 “GitHub Pull Requests and Issues”**。它是 GitHub 本身的官方插件。你可以看到已验证的勾选。
|
||||
|
||||
单击安装按钮并在你的编辑器上安装 [扩展][18]。
|
||||
|
||||
![Installing GitHub extension in VS Code][19]
|
||||
|
||||
使用此扩展,如果其他人正在协作,你可以管理你的存储库。
|
||||
|
||||
在 VS Code 中完全集成 Git 和 GitHub 是件好事。不喜欢命令行的人肯定会喜欢这种集成。
|
||||
|
||||
我希望本教程能帮助你将 GitHub 无缝添加到 VS Code。如果你仍然遇到任何问题,请告诉我。
|
||||
|
||||
*(题图:MJ/GitHub VS Code develop illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/vs-code-github/
|
||||
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lkxed][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/abhishek/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://itsfoss.com/content/images/2023/04/humble-bundle-packt-offer.webp
|
||||
[2]: https://itsfoss.com/content/images/2023/04/check-git-vs-code.png
|
||||
[3]: https://itsfoss.com/content/images/2023/04/integrate-github-vs-code.png
|
||||
[4]: https://itsfoss.com/content/images/2023/04/vs-code-sign-in-github.png
|
||||
[5]: https://itsfoss.com/content/images/2023/04/connect-github-with-vs-code.png
|
||||
[6]: https://itsfoss.com/content/images/2023/04/allowing-vs-code-extension-github.png
|
||||
[7]: https://itsfoss.com/content/images/2023/04/github-repos-accessible-from-vs-code.png
|
||||
[8]: https://itsfoss.com/content/images/2023/04/check-if-vs-code-logged-in-github.png
|
||||
[9]: https://itsfoss.com/content/images/2023/04/open-new-window-vs-code.png
|
||||
[10]: https://itsfoss.com/content/images/2023/04/clone-new-github-repo-vs-code.png
|
||||
[11]: https://itsfoss.com/content/images/2023/04/location-for-cloned-repo-vs-code.png
|
||||
[12]: https://itsfoss.com/content/images/2023/04/open-cloned-github-repo-vs-code.png
|
||||
[13]: https://itsfoss.com/content/images/2023/04/open-project-trust-author-prompt-vs-code.png
|
||||
[14]: https://itsfoss.com/content/images/2023/04/push-chnages-to-github-repo-from-vs-code.png
|
||||
[15]: https://itsfoss.com/content/images/2023/04/git-usernam-email-error-message.png
|
||||
[16]: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup?ref=itsfoss.com
|
||||
[17]: https://itsfoss.com/content/images/2023/04/git-actions-in-vs-code.png
|
||||
[18]: https://itsfoss.com/install-vs-code-extensions/
|
||||
[19]: https://itsfoss.com/content/images/2023/04/install-github-extension-vs-code.png
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/24/160055gt5d5u6dk5f4f5e7.jpg
|
@ -0,0 +1,159 @@
|
||||
[#]: subject: "Generate Linux Commands from English Text Using ChatGPT AI"
|
||||
[#]: via: "https://itsfoss.com/linux-terminal-ai/"
|
||||
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15764-1.html"
|
||||
|
||||
使用 ChatGPT AI 从英文文本生成 Linux 命令
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
即使是专家级的 Linux 用户也不记得所有的 Linux 命令和它们的选项。这对我们人类来说是不可能的。
|
||||
|
||||
但是机器呢?尤其是人工智能驱动的机器?
|
||||
|
||||
想象一下,如果你可以“命令”你的终端“显示过去 12 小时内修改过的所有小于 100 MB 的文件”。当然,你可以使用 Linux 命令“命令”它,但是用普通的英语进行交互呢?
|
||||
|
||||
由于人工智能的进步,这实际上是可能的。下面是自动生成 Linux 命令以显示当前目录中所有小于 10 KB 的文件的示例。
|
||||
|
||||
![Shell Genie AI assistent in Linux terminal][1]
|
||||
|
||||
我使用的工具叫做 [Shell Genie][2]。它是一个命令行工具,可让你以普通的英语与终端进行交互。
|
||||
|
||||
它可以生成命令、运行命令(如果需要),还可以向你解释生成的命令。
|
||||
|
||||
![Shell Genie explain commands][3]
|
||||
|
||||
### Shell-Genie 的特点
|
||||
|
||||
- 将普通英语转换为 Linux 命令。
|
||||
- 提供了一个需要 openAI 的 API 密钥的 openAI gpt3 后端,和一个可以免费使用的 free-genie 后端。
|
||||
- 提示一个选项以运行你要求的命令。
|
||||
- 解释生成的命令。
|
||||
|
||||
### 安装 Shell Genie
|
||||
|
||||
Shell-genie 在任何发行版的默认仓库中都不可用。你可以使用 `pipx` 安装它。
|
||||
|
||||
要安装它,你需要安装 Python 3.10+ 和 Pip。你可以参考我们关于 [如何在 Ubuntu 和其他 Linux 发行版中安装 pip][4] 的文章。
|
||||
|
||||
安装 `pip` 后,使用以下命令安装 `pipx`:
|
||||
|
||||
```
|
||||
python3 -m pip install --user pipx
|
||||
python3 -m pipx ensurepath
|
||||
```
|
||||
|
||||
![An SVG animation showing pipx Installation steps][5]
|
||||
|
||||
现在,重启终端并运行以下命令安装 shell-genie:
|
||||
|
||||
```
|
||||
pipx install shell-genie
|
||||
```
|
||||
|
||||
这可能显示错误或需要依赖项。
|
||||
|
||||
![A dependency installation to install the shell-geie properly][6]
|
||||
|
||||
运行提示的命令来安装所需的依赖。在我的例子中:
|
||||
|
||||
```
|
||||
sudo apt install python3.10-venv
|
||||
```
|
||||
|
||||
之后,再次运行 `shell-genie` 安装命令,就可以安装了。
|
||||
|
||||
![The steps showing the installation of shell-genie][7]
|
||||
|
||||
安装完成后,运行以下命令:
|
||||
|
||||
```
|
||||
shell-genie init
|
||||
```
|
||||
|
||||
这将要求你选择后端,openAI 或 free-genie。如果你有 [openAI API][8],你可以选择它或继续使用 free-genie。
|
||||
|
||||
> 🚧 free-genie 后端可能并不总是工作,因为它是由开发者托管的,他警告说可能会出现中断。
|
||||
|
||||
然后它将请求允许报告反馈。用 `y/n` 来决定。
|
||||
|
||||
![Run shell-genie init commad to set up the shell-genie properly][9]
|
||||
|
||||
现在就可以使用了。
|
||||
|
||||
### 使用 Shell-genie
|
||||
|
||||
> 🚧 如果你要进行实验,请尽量不要使用带有 `sudo` 或删除文件的命令。不要将你的机器交到机器手中。
|
||||
|
||||
如上所述,shell-genie 提供了两种工作模式:
|
||||
|
||||
- 从普通的英语获取命令
|
||||
- 获取命令解释
|
||||
|
||||
#### 从普通英语中获取 Linux 命令
|
||||
|
||||
你可以使用 shell-genie 的 `ask` 选项从普通的英语中获取命令。例如:
|
||||
|
||||
```
|
||||
shell-genie ask "Display only the folders of this directory"
|
||||
```
|
||||
|
||||
这将显示正确的命令,并提示我们是否运行该命令。
|
||||
|
||||
![The working of shell-genie, that will print the required command from the provided plain text description. Also propt the user to execute the same or not][10]
|
||||
|
||||
#### 获取带解释的 Linux 命令
|
||||
|
||||
你可以使用 shell genie 来解释你要运行的一些命令。
|
||||
|
||||
```
|
||||
shell-genie ask "display all files smaller than 10kb in here" --explain
|
||||
```
|
||||
|
||||
上面的命令首先会显示需要的命令并进行解释,然后提示用户是否执行。
|
||||
|
||||
![The explain mode in shell-genie, where it will explain the command that was asked in the form of plain english and then prompts the user to execute it or not][11]
|
||||
|
||||
### 总结
|
||||
|
||||
有像 [Explain Shell][12] 这样的工具(试图)解释 Linux 命令。但是这个 Shell genie 通过从普通的英语生成命令将它提升到一个新的水平。
|
||||
|
||||
当然,不能一味依赖人工智能。如果你对 Linux 命令有一定的了解,可以使用 Shell Genie 生成适合你的命令。你不必为手册页或各种网站而苦恼。
|
||||
|
||||
它可以帮助你在终端中更快地做事,也可以减少你的知识储备。为什么? 因为你越依赖它,你自己学的就越少。
|
||||
|
||||
这就是我所想的。 无论你同意或不同意我的观点,都可以在评论中发表你的看法。
|
||||
|
||||
*(题图:MJ/chatgpt commands linux cli illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/linux-terminal-ai/
|
||||
|
||||
作者:[Sreenath][a]
|
||||
选题:[lkxed][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/sreenath/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://itsfoss.com/content/images/2023/04/shell-genie.png
|
||||
[2]: https://github.com/dylanjcastillo/shell-genie?ref=itsfoss.com
|
||||
[3]: https://itsfoss.com/content/images/2023/04/shell-genie-explain.png
|
||||
[4]: https://itsfoss.com/install-pip-ubuntu/
|
||||
[5]: https://itsfoss.com/content/images/2023/03/install-pipx.svg
|
||||
[6]: https://itsfoss.com/content/images/2023/03/needs-extensions.png
|
||||
[7]: https://itsfoss.com/content/images/2023/03/install-shell-genie.svg
|
||||
[8]: https://openai.com/product?ref=itsfoss.com
|
||||
[9]: https://itsfoss.com/content/images/2023/03/shell-genie-init.svg
|
||||
[10]: https://itsfoss.com/content/images/2023/03/shell-gen.svg
|
||||
[11]: https://itsfoss.com/content/images/2023/03/shell-genie-explain-action.svg
|
||||
[12]: https://explainshell.com/?ref=itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/29/111749dhzuflynyxw8w8uu.jpg
|
@ -0,0 +1,85 @@
|
||||
[#]: subject: "LXQt 1.3.0: Explore the Upgrades in Lightweight Desktop"
|
||||
[#]: via: "https://www.debugpoint.com/lxqt-1-3-0/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15768-1.html"
|
||||
|
||||
LXQt 1.3.0 发布:探索轻量级桌面的升级
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 流行的轻量级桌面环境 LXQt 1.3.0 的新版本现已发布。以下是它的新功能。
|
||||
|
||||
轻量级桌面环境 LXQt 发布了 1.3.0 版本,其中包含许多改进和新功能。让我们深入了解细节。
|
||||
|
||||
![LXQt 1.3.0 桌面][1]
|
||||
|
||||
### LXQt 1.3.0:主要功能
|
||||
|
||||
最新版本的 LXQt 仍然基于 Qt 5.15,即 Qt5 的最后一个 LTS 版本。该团队已经开始支持 Qt6,但由于缺乏稳定的 [KF6][2] 而无法发布。但是,该团队显著改进了文件管理器及其库。整个 KF6 API/库目前进行 Qt6 迁移,以供 KDE 和其他桌面使用。
|
||||
|
||||
#### LibFM-Qt / PCManFM-Qt
|
||||
|
||||
默认文件管理器 PCManFM-Qt 修复了一个问题,即在配置更改时防止桌面项目抖动。此外,最新版本增加了一个桌面标题,这有助于在某些 Wayland 合成器下设置窗口管理器(WM)规则。
|
||||
|
||||
此外,现在所有的视图模式都可以禁用平滑滚动,而之前仅适用于列表和紧凑模式。此外,现在已修复了使用可执行类型打开非可执行文件的问题,并使用 `New file` 作为新文件的默认名称(特别是在 GLib 2.75.1 不再将空文件视为文本/纯文本之后)。
|
||||
|
||||
![LXQt 1.3.0 文件管理器更改以实现平滑滚动][3]
|
||||
|
||||
#### LXQt 面板和 QTerminal
|
||||
|
||||
现在 LXQt 面板在编译时默认启用 DOM 插件。
|
||||
|
||||
新版 QTerminal 修复了深浅配色切换的问题。它还保证了上下文菜单在 Wayland 下的正确定位。
|
||||
|
||||
#### LXQt 会话
|
||||
|
||||
主要的 LXQt 会话现在添加了对 procps-ng >= 4.0.0 的支持。此外,它还有更好的方法来检测窗口管理器和系统托盘。在 Wayland 上,现在禁用了所有潜在的崩溃调用。
|
||||
|
||||
这是关于此版本的主要亮点。考虑到这是一个次要版本,亮点并不多。你可以在详细的 [变更日志][4] 中了解更多信息。
|
||||
|
||||
### LXQt 1.3.0 的 Linux 发行版可用性
|
||||
|
||||
[Lubuntu 23.04 “Lunar Lobster”][5] 由于计划不匹配,将不会包含此版本。因此,你可以在 2023 年 10 月发布的 Lubuntu 上收到此更新。
|
||||
|
||||
到 2023 年底,Fedora 39 将把这个版本作为 Fedora LXQt 的一部分。
|
||||
|
||||
Arch Linux 用户可以在通过测试后立即安装此桌面。截至发布时,[当前][6] 它在社区测试仓库中。你可能需要使用 [本指南][7] 进行安装。
|
||||
|
||||
或者,你可以编辑 `/etc/pacman.conf`,启用 `community-testing` 仓库,然后立即安装。[此处][7] 提供了一组示例命令。
|
||||
|
||||
其他基于 Arch 的发行版,例如 [Manjaro][8] 和 [Endeavour OS][9],将在稳定后的几周内采用此版本。
|
||||
|
||||
### 总结
|
||||
|
||||
总之,LXQt 1.3.0 是一个重要的版本,包含许多新的改进和错误修复。用户现在可以通过 LXQt 桌面享受更稳定、超快、高效的体验。今天就试试吧!
|
||||
|
||||
*(题图:MJ/d96d5eb2-290d-4fe4-a9a6-1e51dff8e1d2)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/lxqt-1-3-0/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2023/04/LXQt-1.3.0-Desktop.jpg
|
||||
[2]: https://phabricator.kde.org/project/profile/310/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2023/04/LXQt-1.3.0-file-manager-changes-for-smooth-scrolling.jpg
|
||||
[4]: https://github.com/lxqt/lxqt/releases/tag/1.3.0
|
||||
[5]: https://www.debugpoint.com/lubuntu-23-04/
|
||||
[6]: https://archlinux.org/packages/?sort=&q=lxqt&maintainer=&flagged=
|
||||
[7]: https://www.debugpoint.com/lxqt-arch-linux-install/
|
||||
[8]: https://www.debugpoint.com/manjaro-linux-review-2022/
|
||||
[9]: https://www.debugpoint.com/endeavouros-review/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/30/165405xltlyyk038ry0llk.png
|
@ -0,0 +1,103 @@
|
||||
[#]: subject: "Fedora 38 is Officially Released. This is What’s New"
|
||||
[#]: via: "https://debugpointnews.com/fedora-38-release/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15741-1.html"
|
||||
|
||||
Fedora 38 正式发布
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Fedora Linux 的最新版本 Fedora 38 已经发布,带来了一系列令人兴奋的新功能和更新。以下是其中的一些亮点。
|
||||
|
||||
Fedora Linux 是一个流行的发行版,提供最新的软件包和技术。它是一个由红帽公司赞助的社区驱动的项目,是在主流 Linux 发行版之前领先采用新技术和功能的先驱。
|
||||
|
||||
它的 2023 年的第一个版本现在已经可以下载和升级。虽然我在我的文章中介绍过了它的功能亮点,但让我给你再摘要介绍一下。
|
||||
|
||||
![Fedora 38 工作站桌面][1]
|
||||
|
||||
### Fedora 38 工作站的新内容
|
||||
|
||||
让我们从 Fedora 38 工作站版开始,它默认提供的是 GNOME 桌面。Fedora 38 工作站采用 GNOME 44 版本的桌面环境,为用户提供了正宗的 GNOME 体验,因为 Fedora Linux 工作站搭载的是原汁原味的 GNOME。
|
||||
|
||||
在 GNOME 44 中最重要的更新之一是系统托盘菜单中的后台应用程序功能。这个功能在主应用程序窗口不可见时非常有用,许多应用程序和用户都借助了该功能。Fedora 38 还包括了 “<ruby>文件<rt>Files</rt></ruby>”(即 Nautilus)应用程序中的扩展文件夹视图,现在它可以在列表视图中使用。
|
||||
|
||||
![GNOME 中的后台应用程序模拟图][2]
|
||||
|
||||
此外,Fedora 38 还改进了文件打开对话框,可以在网格视图布局中显示图像预览,这个功能人们已经等待了十年之久。这些变化和改进之外,[GNOME 44][3] 中还有许多其他较小的改进。
|
||||
|
||||
除了 GNOME,Fedora 38 还有作为 “<ruby>定制版<rt>Spin</rt></ruby>” 的其他桌面环境,比如 KDE Plasma、Xfce、LXQt 和 MATE。
|
||||
|
||||
KDE Plasma 版的 Fedora 38 采用了 [Plasma 5.27][4] 桌面版本,其中包括平铺窗口功能、多显示器显示的强大设置、Wayland 更新以及一个全新的欢迎屏幕。
|
||||
|
||||
Fedora 38 Xfce 版中包含了 Xfce 4.18 的桌面。经过近两年的时间,这是一个功能方面的大规模发布,包括了重新打造的 Thunar 文件管理器,它带有分割视图、图像预览、强大的 FTP 设置和更多面板调整。
|
||||
|
||||
![Thunar 的分割视图和图像预览][5]
|
||||
|
||||
其他风格的桌面,如 [LXQt 1.2.0][6] 和 MATE 1.26 在 Fedora 38 也是最新的版本。Fedora LXQt 定制版正在为用户引入一个 Arch64 ISO 镜像。
|
||||
|
||||
由于 i3 窗口管理器定制版的流行,Fedora 在 Fedora 38 中引入了一个官方的 Sway 定制版。喜欢低内存占用的精简桌面的用户现在可以享受 Sway 了,它带来了出色的 Wayland 支持。
|
||||
|
||||
经过几个月的开发,一个官方的 Fedora Budgie 定制版在 Fedora 38 中首次出现。它由 Solus 项目开发的,是一个轻量级但功能丰富的桌面环境,看起来很专业,并为菜单/图标驱动的桌面提供了一种替代。这个版本带来了 Budgie 桌面 10.7.2 版本中令人兴奋的功能更新。
|
||||
|
||||
Fedora 38 现在可以不受限制地使用 Flathub 的软件包,这是一个最广泛的 Flatpak 应用集合。以前,用户必须改变过滤器才能从“软件”应用中访问 Flathub 软件包。然而,现在所有的 Flathub 软件包都可以在“软件”应用中使用,其中优先考虑 Fedora 核心软件包。
|
||||
|
||||
Fedora 38 中默认的 systemd 单元关机计时器从 2 分钟变为 45 秒。这一改变解决了一个有问题的服务会导致系统关闭过程停滞 2 分钟,给用户带来不必要的等待的问题。团队将观察实际的反馈和用户体验,并可能在未来的版本中将其减少到 15 秒。
|
||||
|
||||
出于安全考虑,现在默认情况下,从一个大端架构(s390x)以外的不同的大小端系统连接到 X 服务器(X.Org 或 XWayland)是禁用的。然而,用户可以创建自定义配置来允许它。
|
||||
|
||||
所以,这就是关于 Fedora 38 的主要亮点。你可以在我的重要专题 [文章][7] 中了解更多细节。
|
||||
|
||||
### 如何升级到 Fedora 38
|
||||
|
||||
你可以依次运行以下命令来升级到最新版本。详细的升级指南 [放在这里][8]。
|
||||
|
||||
```
|
||||
sudo dnf update
|
||||
sudo dnf upgrade --refresh
|
||||
sudo dnf install dnf-plugin-system-upgrade
|
||||
sudo dnf system-upgrade download --releasever=38
|
||||
sudo dnf system-upgrade reboot
|
||||
```
|
||||
|
||||
### 下载新鲜出炉的 Fedora 38
|
||||
|
||||
你可以使用下面网页上的种子文件下载 Fedora 38 工作站和所有的定制版。
|
||||
|
||||
> **[下载 Fedora 38(种子)][9]**
|
||||
|
||||
> **[下载 Fedora 38 ISO][10]**
|
||||
|
||||
参考自官方 [变更日志][11] 和 [公告][12]。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/fedora-38-release/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/04/Fedora-38-Workstation-desktop.jpg
|
||||
[2]: https://www.debugpoint.com/wp-content/uploads/2023/02/Background-apps-mockup-in-GNOME-1024x576.jpg
|
||||
[3]: https://www.debugpoint.com/gnome-44/
|
||||
[4]: https://www.debugpoint.com/kde-plasma-5-27/
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2023/02/Thunar-split-view-and-image-preview.jpg
|
||||
[6]: https://www.debugpoint.com/lxqt-1-2-0-features/
|
||||
[7]: https://www.debugpoint.com/fedora-38/
|
||||
[8]: https://www.debugpoint.com/upgrade-fedora-38-from-fedora-37/
|
||||
[9]: https://torrent.fedoraproject.org/
|
||||
[10]: https://fedoraproject.org/workstation/download/
|
||||
[11]: https://fedoraproject.org/wiki/Releases/38/ChangeSet
|
||||
[12]: https://fedoramagazine.org/whats-new-fedora-38-workstation/
|
||||
[13]: https://floss.social/@debugpoint
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/21/094903rq21hgkbog6ky1jb.jpg
|
@ -0,0 +1,92 @@
|
||||
[#]: subject: "Valve's Proton 8.0 Release is Good News for Linux Gamers and Steam Deck Users"
|
||||
[#]: via: "https://news.itsfoss.com/proton-8-0-release/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15749-1.html"
|
||||
|
||||
Valve 发布 Proton 8.0
|
||||
======
|
||||
|
||||
> Proton 8.0 已经到来,带来了一些改进,以提升 Linux 游戏体验。
|
||||
|
||||
Proton 8.0 的到来改进了 Linux 游戏体验。
|
||||
|
||||
(LCTT 译注:Proton 是 V 社开发的兼容层,可以让 Windows 游戏在 Linux 上运行。它是一个软件集合,扩展了流行的 API 翻译层 Wine,提供高性能和低开销的 Vulkan API。)
|
||||
|
||||
![][0]
|
||||
|
||||
Proton 一直是 Linux 游戏玩家的福音,它使 Steam 客户端能够在 Linux 上运行 Windows 生态系统独有的游戏。
|
||||
|
||||
基于流行的 [Wine][2] 兼容层,Valve 多年来一直为 Proton 提供更新。
|
||||
|
||||
Proton 8.0 的发布带来了一些令人印象深刻的升级,标志着 Linux 游戏又迈出了重要一步。
|
||||
|
||||
让我们一起来一探究竟。
|
||||
|
||||
**Proton 8.0 有啥新鲜事儿:** Proton 的新版本增加了对许多**新游戏**的**兼容支持**和对现有游戏的**错误修复**。
|
||||
|
||||
例如,一些现有游戏,如 《<ruby>极限竞速:地平线 5<rt>Forza Horizon 5</rt></ruby>》、《<ruby>车祸模拟器<rt>BeamNG</rt></ruby>》、《<ruby>真人快打 X<rt>Mortal Combat X</rt></ruby>》、《<ruby>最终幻想 14<rt>Final Fantasy XIV Online</rt></ruby>》、《<ruby>汤姆·克兰西的细胞分裂<rt>Tom Clancy's Splinter Cell</rt></ruby>》都得到了不同程度的修复,使它们比之前表现更好。
|
||||
|
||||
**刚刚提到的新支持的游戏呢?**
|
||||
|
||||
![dead space 2023 的屏幕截图][3]
|
||||
|
||||
最具期待的一些游戏包括:
|
||||
|
||||
- 《<ruby>仁王 2 完整版<rt>Nioh 2 – The Complete Edition</rt></ruby>》
|
||||
- 《<ruby>海贼无双 4<rt>One Piece: Pirate Warriors 4</rt></ruby>》
|
||||
- 《<ruby>死亡空间 2023<rt>Dead Space (2023)</rt></ruby>》
|
||||
- 《<ruby>魔咒之地<rt>Forspoken</rt></ruby>》
|
||||
- 《<ruby>无双大蛇 3 终极版<rt>WARRIORS OROCHI 3 Ultimate Definitive Edition</rt></ruby>》
|
||||
|
||||
此外,还有一些改进会对 Steam Deck 用户有所帮助,包括:
|
||||
|
||||
- 改进了 Steam Deck 上 《<ruby>小缇娜的奇幻之地<rt>Tiny Tina's Wonderland</rt></ruby>》 的睡眠/恢复功能
|
||||
- 改进了多点触控支持
|
||||
|
||||
**对技术细节更感兴趣?**
|
||||
|
||||
Proton 8.0 基于最近发布的 **Wine 8.0**,它可以提供**更好的 WoW64 32 位支持**、**提升了 Direct3D 性能**、**增强了对游戏控制器及方向盘的支持**等等。
|
||||
|
||||
你可以查看我们的报道以深入了解。
|
||||
|
||||
除此之外,此版本还引入了针对 GNOME 43 上的 **Alt+Tab 问题**、**为游戏启用了英伟达 API**、附带的 **dxvk v2.1-4-gcaf31033** 等的修复程序。
|
||||
|
||||
你或许想通过 [发行说明][4] 来探索随 Proton 8.0 一起提供的**有关技术变更和游戏的详细列表**。
|
||||
|
||||
**想上手试试?**
|
||||
|
||||
![在 steam play 上运行 proton 8.0 的截图][5]
|
||||
|
||||
如果你使用 Steam,你可以按照我们的指南了解如何在 Linux 上设置 Steam Play (Proton)并开始 [在 Linux 上玩游戏][6]。
|
||||
|
||||
不过,需要注意的是,随着 Proton 8.0 的发布,要想顺利运行系统需要 **至少支持 Vulkan 1.3 的 GPU**。
|
||||
|
||||
你还可以查看 [GitHub 代码库][7],了解如何从源代码手动安装它。
|
||||
|
||||
*(题图:MJ/linux game illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/proton-8-0-release/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/proton-8-0.png
|
||||
[2]: https://www.winehq.org/?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/content/images/2023/04/Proton_8.0_1.jpg
|
||||
[4]: https://github.com/ValveSoftware/Proton/releases/tag/proton-8.0-1c?ref=news.itsfoss.com
|
||||
[5]: https://news.itsfoss.com/content/images/2023/04/Proton_8.0_2-1.jpg
|
||||
[6]: https://itsfoss.com/linux-gaming-guide/?ref=news.itsfoss.com
|
||||
[7]: https://github.com/ValveSoftware/Proton?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/24/113235pz88t69zene1nt6d.jpg
|
@ -0,0 +1,182 @@
|
||||
[#]: subject: "Ubuntu 23.04 Releases With New Installer, A New Flavour, and GNOME 44"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-23-04-release/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15744-1.html"
|
||||
|
||||
Ubuntu 23.04 发布:新安装程序、新风味版和 GNOME 44
|
||||
======
|
||||
|
||||
> Ubuntu 23.04 增加了 GNOME 44 的魔力,并有一些自己的调整和改进。请看下文。
|
||||
|
||||
![][0]
|
||||
|
||||
每年的这个时候,都会有新的 Ubuntu 版本发布:**Ubuntu 23.04** 来了。
|
||||
|
||||
然而,这并不是一个 [长期支持版本][2]。所以,代号为 <ruby>月球龙虾<rt>Lunar Lobster</rt></ruby> 的 Ubuntu 23.04 并不适合所有人。
|
||||
|
||||
如果你想要最新和最棒的发行版,并且不介意在一年内再次升级你的系统,那么这个版本适合你。而如果你想在几年内坚持使用一个版本,你应该继续使用 [Ubuntu 20.04 LTS][3] 或 [Ubuntu 22.04 LTS][4]。
|
||||
|
||||
现在,继续说说 Ubuntu 23.04 的亮点:
|
||||
|
||||
> 💡 Ubuntu 23.04 将被支持 **九个月**,直到 **2024 年 1 月**。如果你想在其寿命结束后得到一个最新的安全系统,你可以升级到 Ubuntu 23.10(即将推出的版本)。
|
||||
|
||||
### ⭐ Ubuntu 23.04:有什么新内容?
|
||||
|
||||
![Ubuntu 23.04 主屏幕][5]
|
||||
|
||||
该版本最重要的改进包括以下内容:
|
||||
|
||||
- 新的现代化安装程序
|
||||
- Steam Snap 晋升为稳定版
|
||||
- GNOME 44
|
||||
- 文件管理器的改进
|
||||
- Linux 内核 6.2
|
||||
- 传统和最小化 ISO
|
||||
- 新的 Cinnamon 风味版
|
||||
|
||||
> 📋 这 **不是** 一个 [长期支持][2] 版本。因此,对于大多数人来说,你不需要升级。只有当你想要最新的和最棒的 Linux 发行版,同时愿意在一年内再次升级的时候,它才是你要的。
|
||||
|
||||
#### 基于 Flutter 的默认安装程序
|
||||
|
||||
![Ubuntu 新安装程序][6]
|
||||
|
||||
Canonical 一直在开发一个由 [Subiquity][7] 支持的现代化的安装程序,它的外观感觉看起来不错。
|
||||
|
||||
这个安装程序被打包成了一个 Snap 包,而最小化的安装方式在这个新改造下也变得更快。
|
||||
|
||||
这个新的安装程序还旨在向新用户提供有意义的信息,同时改善用户体验。一些幻灯片、动画和加载屏幕将看起来完全不同。
|
||||
|
||||
总体而言,安装体验应该更快、更直观。
|
||||
|
||||
#### Steam Snap 现已晋升为稳定版
|
||||
|
||||
上个月,我们 [报道][8] 了 Canonical 正在寻找用户来测试 Ubuntu 的 Steam Snap 应用。
|
||||
|
||||
![Steam Snap 应用][9]
|
||||
|
||||
随着 Ubuntu 23.04 的到来,等待已经结束了!Steam Snap 应用现在被推广到了稳定频道。
|
||||
|
||||
所以,现在你可以在 Steam 新 Snap 应用的帮助下无忧无虑地运行新老游戏了。虽然这是为 Ubuntu 量身定做的,但你也可以用其他任何发行版来尝试,通过 Steam 改善你的游戏体验。
|
||||
|
||||
你可以查看我们的 [Linux 游戏指南][10] 以获得进一步的帮助。
|
||||
|
||||
#### GNOME 44
|
||||
|
||||
![Ubuntu 23.04 与 GNOME 44][11]
|
||||
|
||||
[GNOME 44][12],从其核心上分为你带来了一些根本变化,比如一个具有新能力的、更加互动的快速菜单。
|
||||
|
||||
比如说:
|
||||
|
||||
- 快速蓝牙切换可以查看/管理设备,而无需进入设置页面
|
||||
- 监控后台应用程序
|
||||
|
||||
当然,Canonical 调整了原本的 GNOME 44 体验,不像你在 [Fedora 38][13] 中发现的那样原汁原味。但是你可以在这里探索 GNOME 44 的详细变化:
|
||||
|
||||
> **[7 个值得关注的 GNOME 44 功能][13a]**
|
||||
|
||||
#### 传统的和最小化 ISO
|
||||
|
||||
Ubuntu 将首次单独提供一个最小化 ISO,它需要互联网连接才能在机器上成功安装 Ubuntu 23.04。
|
||||
|
||||
![Ubuntu 23.04 的传统 ISO 的列表][14]
|
||||
|
||||
还有一个传统的 ISO 提供了旧的安装程序,供那些适应它的用户使用。
|
||||
|
||||
#### 新的 Cinnamon 风味版和 Edubuntu 的复活
|
||||
|
||||
当然,每一个 Ubuntu 风味版都会随着新的 23.04 版本的发布而得到升级。
|
||||
|
||||
![Ubuntu Cinnamon][15]
|
||||
|
||||
Cinnamon 风味版是随着这个版本的发布而新增加的。因此,如果你喜欢使用 Cinnamon 桌面而不是 GNOME,你可以下载 Ubuntu Cinnamon 风味版。
|
||||
|
||||
此外,以前的 Ubuntu 的一个官方版本,**Edubuntu**,现在已经复活了。
|
||||
|
||||
![Edubuntu 23.04][16]
|
||||
|
||||
你可以在 [Ubuntu 的网站][17] 上找到列出的官方风味版。
|
||||
|
||||
#### 文件管理器的改进
|
||||
|
||||
![可展开的文件夹][18]
|
||||
|
||||
作为 GNOME 44 改进的一部分,文件管理器(Nautilus)已经得到了改进。
|
||||
|
||||
你可以期待更好的性能和打开可展开文件夹的能力(是的,这个功能在 Ubuntu 22.10 中被放弃后又回来了)。
|
||||
|
||||
#### Linux 内核 6.2
|
||||
|
||||
![Ubuntu 23.04 Neofetch 屏幕截图][19]
|
||||
|
||||
为了帮助你跟上最新的硬件兼容性和改进,Ubuntu 23.04 配备了 Linux 内核 6.2。
|
||||
|
||||
这个内核版本增加了对英特尔 Arc 图形卡的全面支持、Nouveau 驱动更新,以及其他增强功能。
|
||||
|
||||
#### 🛠️ 其他变化
|
||||
|
||||
此外,一些细微的变化可以提升 Ubuntu 的体验。其中一些包括以下内容:
|
||||
|
||||
- 在软件中心搜索 Snap 时支持分类
|
||||
- Ubuntu 字体更新
|
||||
- Telegram 应用程序以 Snap 提供,不再有 Deb 包
|
||||
- 固件更新器作为一个单独的应用程序加入到 Snap 商店中
|
||||
- PostgreSQL 15、Rclone 1.60.1、NetworkManager 1.42、Ruby 3.1
|
||||
- Qemu v7.2.0,支持 RISC-V
|
||||
- 更新的应用程序: Firefox 111、LibreOffice 7.5.2、Thunderbird 102.9
|
||||
|
||||
你可以参考 [官方发布说明][20],了解更多关于 Ubuntu 服务器和物联网版变化的细节。
|
||||
|
||||
### 📥 下载 Ubuntu 23.04
|
||||
|
||||
前往 [官方网站][21] 获取最新的 ISO,或者使用 [Ubuntu 镜像库][22] 来获取它。
|
||||
|
||||
> **[Ubuntu 23.04][23]**
|
||||
|
||||
如果你已经是一个 **Ubuntu 用户**,你可以按照我们的指南 [升级到 Ubuntu 23.04][24]。
|
||||
|
||||
💬你对 Ubuntu 23.04 有什么看法?请在下面的评论中分享你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-23-04-release/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/Ubuntu-23-04-release.png
|
||||
[2]: https://itsfoss.com/long-term-support-lts/?ref=news.itsfoss.com
|
||||
[3]: https://itsfoss.com/things-to-do-after-installing-ubuntu-20-04/?ref=news.itsfoss.com
|
||||
[4]: https://itsfoss.com/ubuntu-22-04-release-features/?ref=news.itsfoss.com
|
||||
[5]: https://news.itsfoss.com/content/images/2023/04/ubuntu-23-04-home.jpg
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/ubuntu-new-install-23-04.jpg
|
||||
[7]: https://github.com/canonical/subiquity?ref=news.itsfoss.com
|
||||
[8]: https://news.itsfoss.com/ubuntu-steam-snap/
|
||||
[9]: https://news.itsfoss.com/content/images/2023/04/steam-snap.jpg
|
||||
[10]: https://itsfoss.com/linux-gaming-guide/?ref=news.itsfoss.com
|
||||
[11]: https://news.itsfoss.com/content/images/2023/04/ubuntu-23-04-gnome-44.jpg
|
||||
[12]: https://news.itsfoss.com/gnome-44/
|
||||
[13]: https://news.itsfoss.com/fedora-38/
|
||||
[13a]: https://news.itsfoss.com/gnome-44/
|
||||
[14]: https://news.itsfoss.com/content/images/2023/04/legacy-iso-ubuntu.jpg
|
||||
[15]: https://news.itsfoss.com/content/images/2023/04/ubuntu-cinnamon-home.jpg
|
||||
[16]: https://news.itsfoss.com/content/images/size/w2400/2023/04/edubuntu-new-2023.jpg
|
||||
[17]: https://ubuntu.com/desktop/flavours?ref=news.itsfoss.com
|
||||
[18]: https://news.itsfoss.com/content/images/2023/04/expandable-folder-ubuntu-23-04.jpg
|
||||
[19]: https://news.itsfoss.com/content/images/2023/04/ubuntu-23-04-kernel.jpg
|
||||
[20]: https://discourse.ubuntu.com/t/lunar-lobster-release-notes/31910?ref=news.itsfoss.com
|
||||
[21]: https://releases.ubuntu.com/lunar/?ref=news.itsfoss.com
|
||||
[22]: https://cdimage.ubuntu.com/ubuntu/releases/23.04/?ref=news.itsfoss.com
|
||||
[23]: https://ubuntu.com/download/desktop?ref=news.itsfoss.com
|
||||
[24]: https://itsfoss.com/upgrade-ubuntu-to-newer-version/?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/22/182550fzkshcasisazmc9a.jpg
|
@ -0,0 +1,124 @@
|
||||
[#]: subject: "Xubuntu 23.04 Releases With Xfce 4.18 and Pipewire"
|
||||
[#]: via: "https://news.itsfoss.com/xubuntu-23-04/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "chris000132"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15758-1.html"
|
||||
|
||||
Xubuntu 23.04 发布:带来了 Xfce 4.18 和 Pipewire
|
||||
======
|
||||
|
||||
> Xubuntu 23.04 版本带来了 Xfce 4.18 和必要的修复,以获得更好的体验。
|
||||
|
||||
![][0]
|
||||
|
||||
Xubuntu 是最受欢迎的 Ubuntu 风味版之一,提供了极简版的 Xfce 桌面环境。
|
||||
|
||||
从去年这个时候 [Xubuntu 22.04 LTS][2] 发布以来,Ubuntu 的 Xfce 风味版已经有了很多改进。
|
||||
|
||||
让我们来看看新版本提供了什么。
|
||||
|
||||
> 💡 Xubuntu 23.04 将被支持 **9 个月** 直到 **2024 年 1 月**。如果你想在它的生命周期结束后得到一个最新的、安全的系统,你可以升级到 Xubuntu 23.10(即将推出的版本)。
|
||||
|
||||
### 🆕 Xubuntu 23.04:有什么新内容?
|
||||
|
||||
![Xubuntu 23.04 的 neofetch 输出截图][3]
|
||||
|
||||
它基于 Ubuntu 23.04 “<ruby>月球龙虾<rt>Lunar Lobster</rt></ruby>”,这是一个包含许多重要更新的版本。值得注意的亮点包括以下内容:
|
||||
|
||||
- 桌面环境升级
|
||||
- 删除默认的 Flatpak 支持
|
||||
- Xubuntu 极简版
|
||||
- 加入 PipeWire
|
||||
|
||||
> 📋 这**不是**一个 [长期支持版本][4]。因此,对于大多数人来说,你不是必须升级。只有当你想体验最新和最好的版本,同时愿意在一年内再次升级的时候,再去进行这一操作。
|
||||
|
||||
#### 桌面环境升级
|
||||
|
||||
![Xubuntu 23.04 上关于 xfce 应用程序的截图][5]
|
||||
|
||||
在这个版本中,你会注意到最重要的变化是加入了 Xfce 4.18,它带来了许多新的改进,使其比前代产品更加完善。
|
||||
|
||||
其中一些改进包括:**Thunar 文件管理器增加了重大功能**、**Xfce 面板的更新**、**新的壁纸**、**初步的 Wayland 支持** 等等。
|
||||
|
||||
你可以通过我们的报道来了解更多:
|
||||
|
||||
> **[XFCE 4.18 发布先窥][5a]**
|
||||
|
||||
#### 移除默认的 Flatpak 支持
|
||||
|
||||
是的,你没看错!
|
||||
|
||||
由于 Xubuntu 是 Ubuntu 的一个版本,Flatpak 支持不再是一个默认的选项,Snap 才是。
|
||||
|
||||
你仍然可以通过在终端运行几行代码,[在几分钟内设置好 Flatpak][6]。
|
||||
|
||||
#### 最小化 ISO 的引入
|
||||
|
||||
与 Ubuntu [类似][7], 你现在可以使用 **Xubuntu 的最小化的 ISO**,尽管它不像为 Ubuntu 设计的那样小,但它与标准 ISO 相比仍然很小。
|
||||
|
||||
这个最小的ISO只有 **1.7 GB** 大小,带有一套最小化的 **应用程序**:终端、文件管理器、系统设置应用程序、Snap 软件包管理器和屏幕截图应用程序。
|
||||
|
||||
正因为如此,它所 **占用的存储空间** 也比标准安装要少。
|
||||
|
||||
#### 加入 PipeWire
|
||||
|
||||
Xubuntu 现在终于有了 [PipeWire][8]。这应该会为整个系统**加强对音频和视频的处理**。
|
||||
|
||||
它还将有助于以极小的延迟和实时处理来捕获和播放音频/视频。
|
||||
|
||||
#### 🛠️ 其他改进措施
|
||||
|
||||
除了上述提到的之外,这里还有一些值得了解的应用更新:
|
||||
|
||||
- [Linux 内核 6.2][9]
|
||||
- Firefox 111.0(Snap
|
||||
- GIMP 2.10.34
|
||||
- LibreOffice 7.5.2
|
||||
- Pipewire 0.3.65
|
||||
- Snapd 2.58.3
|
||||
- [Thunderbird 102.9.0][10]
|
||||
- 由于对系统托盘插件的图标大小进行了“自动调整”,托盘图标和系统状态图标现在有了一个更一致的外观
|
||||
- 为了提高可读性,终端的默认字体大小从 9 号增加到了 10 号
|
||||
|
||||
你也可以查看 [发行说明][11] 来深入了解技术上的变化。
|
||||
|
||||
### 📥 下载 Xubuntu 23.04
|
||||
|
||||
前往 [官方网站][12] 获取最新的 ISO 镜像, 或者使用 [Ubuntu 镜像库][13] 来获取它。
|
||||
|
||||
> **[Xubuntu 23.04][12]**
|
||||
|
||||
如果你已经是一个 ** Ubuntu 用户**,你可以按照 [官方指南][14] 来进行升级。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/xubuntu-23-04/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[chris000132](https://github.com/chris000132)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/xubuntu-23-04-release.jpg
|
||||
[2]: https://news.itsfoss.com/xubuntu-22-04-release/
|
||||
[3]: https://news.itsfoss.com/content/images/2023/04/Xubuntu_23.04_1.png
|
||||
[4]: https://itsfoss.com/long-term-support-lts/?ref=news.itsfoss.com
|
||||
[5]: https://news.itsfoss.com/content/images/2023/04/Xubuntu_23.04_2.png
|
||||
[5a]: https://news.itsfoss.com/xfce-4-18-release/
|
||||
[6]: https://itsfoss.com/flatpak-guide/?ref=news.itsfoss.com
|
||||
[7]: https://news.itsfoss.com/ubuntu-mini-iso/
|
||||
[8]: https://pipewire.org/?ref=news.itsfoss.com
|
||||
[9]: https://news.itsfoss.com/linux-kernel-6-2-release/
|
||||
[10]: https://news.itsfoss.com/thunderbird-102-release/
|
||||
[11]: https://wiki.xubuntu.org/releases/23.04/release-notes?ref=news.itsfoss.com
|
||||
[12]: https://xubuntu.org/download/?ref=news.itsfoss.com
|
||||
[13]: https://cdimage.ubuntu.com/xubuntu/releases/23.04/?ref=news.itsfoss.com
|
||||
[14]: https://docs.xubuntu.org/latest/user/C/migrating-upgrading.html?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/27/065436gwacpb44ycebctde.jpg
|
132
published/202304/20230420.5 ⭐️ Kubuntu 23.04 Release is Here!.md
Normal file
132
published/202304/20230420.5 ⭐️ Kubuntu 23.04 Release is Here!.md
Normal file
@ -0,0 +1,132 @@
|
||||
[#]: subject: "Kubuntu 23.04 Release is Here!"
|
||||
[#]: via: "https://news.itsfoss.com/kubuntu-23-04/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15747-1.html"
|
||||
|
||||
Kubuntu 23.04 来了!
|
||||
======
|
||||
|
||||
> Kubuntu 23.04 已经到达,并带有 KDE Plasma 5.27。
|
||||
|
||||
![Kubuntu 23.04][0]
|
||||
|
||||
如果你正在寻找一个基于 KDE 的发行版,毋庸置疑 Kubuntu 作为 Ubuntu 的官方风味版就是其中一个。
|
||||
|
||||
在 Kubuntu 23.04 中,你可以期待增强的 KDE 体验和其他一些改进。
|
||||
|
||||
让我带你了解一下 Kubuntu 23.04 版本的亮点。
|
||||
|
||||
> 💡 Kubuntu 23.04 将被支持 **九个月**,直到 **2024 年 1 月**。如果你想要在其寿命结束后得到一个最新的、安全的系统,你可以升级到 Kubuntu 23.10(即将发布)。
|
||||
|
||||
### 🆕 Kubuntu 23.04:有什么新内容?
|
||||
|
||||
![Kubuntu 23.04 主屏][2]
|
||||
|
||||
Kubuntu 23.04 版本中的一些特色部分包括:
|
||||
|
||||
- KDE Plasma 5.27
|
||||
- Flatpak 被移除
|
||||
- Discover 的改进
|
||||
- Plasma Wayland 会话(测试)
|
||||
- 默认采用 Pipewire
|
||||
- KDE 应用程序更新
|
||||
|
||||
> 📋 这 **不是** 一个 [长期支持][3] 版本。所以,对于大多数人来说,不需要升级。只有当你想要最新和最好的 Linux 发行版,同时愿意在一年内再次升级的时候,才该选择它。
|
||||
|
||||
#### KDE Plasma 5.27 LTS
|
||||
|
||||
KDE Plasma 5.27 是 KDE 6 到来之前最后一个 5.x 系列的版本。
|
||||
|
||||
因此,随着最新的 KDE Plasma 桌面的到来,你可以期待所有的改进都已就绪。比如说,增强的多显示器支持、新的欢迎屏幕,以及其他用户界面的改进,其中一些我将单独提及。
|
||||
|
||||
如果你想了解关于 [KDE Plasma 5.27][4] 的所有内容,我们的之前的报道应该能给你更好的介绍:
|
||||
|
||||
> **[给 KDE 用户的情人节礼物:Plasma 5.27][4]**
|
||||
|
||||
#### Flatpak 支持被移除
|
||||
|
||||
Kubuntu 默认包括 Flatpak。然而,最近 Canonical 决定 [对所有 Ubuntu 风味版默认放弃 Flatpak 支持][5],Kubuntu 23.04 也不例外。
|
||||
|
||||
![在 Kubuntu 中检查 Snap 和 Flatpak][6]
|
||||
|
||||
你可以手动 [添加 Flatpak][7],但你会发现它不是开箱即用的了。
|
||||
|
||||
#### “发现”应用的增强
|
||||
|
||||
作为 KDE Plasma 5.27 的一部分,“<ruby>发现<rt>Discover</rt></ruby>” 应用在列出应用和程序的方式上进行了重大改革。“发现”应用的商店看起来更有活力和更有价值,有了编辑选择区和流行应用区。
|
||||
|
||||
![“发现”应用][8]
|
||||
|
||||
此外,你可以通过“发现”应用访问 Flatpak 应用程序的更多权限,并在手动启用后轻松地将 Flatpak 应用程序直接整合到“发现”应用中。
|
||||
|
||||
![Flatpak 后端][9]
|
||||
|
||||
#### Plasma Wayland 会话(测试)
|
||||
|
||||
你现在可以在 Kubuntu 23.04 的登录屏幕上尝试 Wayland 会话。
|
||||
|
||||
然而,这只是测试,并不完全支持。
|
||||
|
||||
#### KDE 应用程序更新
|
||||
|
||||
KDE 套件的每个部分都收到了版本升级,包括文件管理器、Krunner 和其他。
|
||||
|
||||
![KDE 应用程序更新][10]
|
||||
|
||||
Krunner,这个启动器现在如果没有找到与你要找的东西相匹配的东西,就会提示进行互联网搜索,如下面的截图所示。
|
||||
|
||||
![Krunner][11]
|
||||
|
||||
#### 其他完善的功能
|
||||
|
||||
你会发现一个新的 [Linux 内核 6.2][12]、功能和其他细微的变化。值得一提的亮点包括以下内容:
|
||||
|
||||
- Pipewire 作为默认的音频服务器
|
||||
- LibreOffice 7.5
|
||||
- Firefox 111 Snap
|
||||
- Qt 5.15.8
|
||||
|
||||
你可以参考 [发行说明][13] 了解更多技术细节。
|
||||
|
||||
### 📥 下载 Kubuntu 23.04
|
||||
|
||||
前往 [官方网站][14] 获取最新的 ISO,或者使用 [Ubuntu 镜像库][15] 来获取它。
|
||||
|
||||
> **[Kubuntu 23.04][14]**
|
||||
|
||||
如果你已经是 Ubnutu 用户,你可以按照 [官方指南][16] 来升级。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/kubuntu-23-04/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/kubuntu-23-04-release.jpg
|
||||
[2]: https://news.itsfoss.com/content/images/2023/04/Kubuntu-Desktop--1-.png
|
||||
[3]: https://itsfoss.com/long-term-support-lts/?ref=news.itsfoss.com
|
||||
[4]: https://news.itsfoss.com/kde-plasma-5-27-release/
|
||||
[5]: https://news.itsfoss.com/ubuntu-flavor-drops-flatpak/
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/version-and-snap-flatpak-check-in-terminal.png
|
||||
[7]: https://itsfoss.com/flatpak-guide/?ref=news.itsfoss.com
|
||||
[8]: https://news.itsfoss.com/content/images/2023/04/revamped-discover.png
|
||||
[9]: https://news.itsfoss.com/content/images/2023/04/flatpak-backend-discover.png
|
||||
[10]: https://news.itsfoss.com/content/images/2023/04/LunarApps.png
|
||||
[11]: https://news.itsfoss.com/content/images/2023/04/KRUNNER-after.png
|
||||
[12]: https://news.itsfoss.com/linux-kernel-6-2-release/
|
||||
[13]: https://kubuntu.org/news/kubuntu-23-04-lunar-lobster-released/?ref=news.itsfoss.com
|
||||
[14]: https://kubuntu.org/getkubuntu/?ref=news.itsfoss.com
|
||||
[15]: https://cdimage.ubuntu.com/kubuntu/releases/23.04/?ref=news.itsfoss.com
|
||||
[16]: https://help.ubuntu.com/community/KineticUpgrades/Kubuntu?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/23/180549h0fkfqrflirikrar.jpg
|
@ -0,0 +1,105 @@
|
||||
[#]: subject: "HuggingChat is the First Open Source ChatGPT Alternative That Anyone Can Use"
|
||||
[#]: via: "https://news.itsfoss.com/huggingchat-chatgpt/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15765-1.html"
|
||||
|
||||
HuggingChat:第一个面向所有人使用的 ChatGPT 开源替代方案
|
||||
======
|
||||
|
||||
> 忘了 ChatGPT 吧,我们一起来看看 HuggingChat,一个开源的项目。
|
||||
|
||||
![][0]
|
||||
|
||||
新 AI 聊天机器人的浪潮看起来短时间内势不可挡;而新的一个竞争者已经加入与 ChatGPT 抗衡的比赛中。
|
||||
|
||||
这个竞争者最近刚发布,它就是“**HuggingChat**”。 这个聊天机器人的主要重点是提供一个比 ChatGPT 更**透明**、**包容**和**负责**的替代方案。
|
||||
|
||||
不要误会我的意思,HuggingChat 并不是 ChatGPT 的第一个开源替代品。 我们之前也介绍了挑战 ChatGPT 江湖地位的开源项目。
|
||||
|
||||
🌟 然而,**HugginChat 似乎是第一个可以访问的类似于 ChatGPT 的平台**。
|
||||
|
||||
因此,你在使用的不只是一个演示版,你正在用的版本已经拥有它本应具有的外观设计和性能表现 —— 只有后端会在你测试或者使用这个应用时得到升级。
|
||||
|
||||
让我们一起来看看 HuggingChat 是什么。
|
||||
|
||||
**它是什么:**
|
||||
|
||||
基本上呢,在当前状态下,HuggingChat 充当了用户界面的角色,促进用户与 **Open Assistant 支持的后端** 的交互,从而实现聊天机器人功能。
|
||||
|
||||
> 📋 [Open Assistant][2] 是一个旨在为大众提供可行的基于聊天的大语言模型(LLM)的项目。
|
||||
|
||||
![huggingchat 界面截图][3]
|
||||
|
||||
HuggingChat 由 Open Assistant 最新的 [基于 LLaMA 的模型][4] 提供支持,据说这是目前市场上最好的开源聊天模型之一。
|
||||
|
||||
但是在 HuggingChat 中使用该模型有一个问题。
|
||||
|
||||
你看,[LLaMA 模型][5] 是 **Meta AI** 的作品,他们限制了对其模型的任何商业使用。
|
||||
|
||||
因此,LLaMA 模型仅为暂时使用,**开发人员打算在未来增加对更多模型的支持**,为不同的使用场景甚至企业使用案例铺平道路。
|
||||
|
||||
除此之外,这个聊天机器人正在一个被 [Hugging Face][6](HuggingChat 的创建者)的人们称为“[Space][7]”的地方运行。其推理后端还在其推理 API 基础设施上运行 [text-generation-inference][8]。
|
||||
|
||||
他们还开放了 HuggingChat 的用户界面代码。你可以在此处 [查看][9]。
|
||||
|
||||
**它能行吗?**
|
||||
|
||||
额,部分能行吧。
|
||||
|
||||
由于它处于 **非常早期的开发阶段(版本 0)**,因此缺少一些关键功能,例如在浏览器重启或切换浏览器时保存对话。
|
||||
|
||||
然后就是熟悉的“_流量太大,请稍后再试_”错误,会在运行聊天命令时弹出。
|
||||
|
||||
当我可以运行命令时,我向 HuggingChat 询问了它的后端。它为我提供了相当不错的关于它自己的信息。
|
||||
|
||||
![huggingchat 界面截图][10]
|
||||
|
||||
最后,总结一下吧!
|
||||
|
||||
Hugging Chat 还远没有达到 ChatGPT 的水平,但是 **拥有像这样的替代方案是当务之急**。我们都知道当一项服务在特定领域占据统治地位时会发生什么。
|
||||
|
||||
[OpenChatKit][11] 和 [Dolly][12] 也是一些值得了解的选择。
|
||||
|
||||
但目前我们能做的只有等待。这些开源替代品需要一些时间成长,但总有一天它们可能会与 ChatGPT 媲美甚至更好;谁知道呢? 😲
|
||||
|
||||
**想试试吗?**
|
||||
|
||||
你可以通过访问其 [聊天页面][13] 来运行 HuggingChat;也可以在 [官方网站][14] 上查看它运行的代码。
|
||||
|
||||
> **[HuggingChat][15]**
|
||||
|
||||
*(题图:MJ/ai chatting illustration in high resolution, very detailed, 8k)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/huggingchat-chatgpt/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/huggingchat-opensource-chatgpt-alt.jpg
|
||||
[2]: https://open-assistant.io/?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/content/images/2023/04/HuggingChat.jpg
|
||||
[4]: https://huggingface.co/OpenAssistant/oasst-sft-6-llama-30b-xor?ref=news.itsfoss.com
|
||||
[5]: https://ai.facebook.com/blog/large-language-model-llama-meta-ai/?ref=news.itsfoss.com
|
||||
[6]: https://huggingface.co/?ref=news.itsfoss.com
|
||||
[7]: https://huggingface.co/docs/hub/spaces-overview?ref=news.itsfoss.com
|
||||
[8]: https://github.com/huggingface/text-generation-inference?ref=news.itsfoss.com
|
||||
[9]: https://huggingface.co/spaces/huggingchat/chat-ui/tree/main?ref=news.itsfoss.com
|
||||
[10]: https://news.itsfoss.com/content/images/2023/04/HuggingChat_2.png
|
||||
[11]: https://news.itsfoss.com/open-source-chatgpt/
|
||||
[12]: https://news.itsfoss.com/open-source-model-dolly/
|
||||
[13]: https://huggingface.co/chat/?ref=news.itsfoss.com
|
||||
[14]: https://huggingface.co/spaces?ref=news.itsfoss.com
|
||||
[15]: https://huggingface.co/chat?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202304/29/201643lawx29o47x00avaz.jpg
|
@ -0,0 +1,437 @@
|
||||
[#]: subject: "Rust Basics Series #2: Using Variables and Constants in Rust Programs"
|
||||
[#]: via: "https://itsfoss.com/rust-variables/"
|
||||
[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "Cubik65536"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15771-1.html"
|
||||
|
||||
Rust 基础系列 #2: 在 Rust 程序中使用变量和常量
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 推进你的 Rust 学习,熟悉 Rust 程序的变量和常量。
|
||||
|
||||
在 [该系列的第一章][2]中,我讲述了为什么 Rust 是一门越来越流行的编程语言。我还展示了如何 [在 Rust 中编写 Hello World 程序][2]。
|
||||
|
||||
让我们继续 Rust 之旅。在本文中,我将向你介绍 Rust 编程语言中的变量和常量。
|
||||
|
||||
此外,我还将讲解一个称为“<ruby>遮蔽<rt>shadowing</rt></ruby>”的新编程概念。
|
||||
|
||||
### Rust 变量的独特之处
|
||||
|
||||
在编程语言中,变量是指 _存储某些数据的内存地址的一个别名_ 。
|
||||
|
||||
对 Rust 语言来讲也是如此。但是 Rust 有一个独特的“特性”。每个你声明的变量都是 **默认 <ruby>不可变的<rt>immutable</rt></ruby>** 。这意味着一旦给变量赋值,就不能再改变它的值。
|
||||
|
||||
这个决定是为了确保默认情况下,你不需要使用 <ruby>自旋锁<rt>spin lock</rt></ruby> 或 <ruby>互斥锁<rt>mutex</rt></ruby> 等特殊机制来引入多线程。Rust **会保证** 安全的并发。由于所有变量(默认情况下)都是不可变的,因此你不需要担心线程会无意中更改变量值。
|
||||
|
||||
这并不是在说 Rust 中的变量就像常量一样,因为它们确实不是常量。变量可以被显式地定义为可变的。这样的变量称为 **可变变量** 。
|
||||
|
||||
这是在 Rust 中声明变量的语法:
|
||||
|
||||
```
|
||||
// 默认情况下不可变
|
||||
// 初始化值是**唯一**的值
|
||||
let variable_name = value;
|
||||
|
||||
// 使用 'mut' 关键字定义可变变量
|
||||
// 初始化值可以被改变
|
||||
let mut variable_name = value;
|
||||
```
|
||||
|
||||
> 🚧 尽管你可以改变可变变量的值,但你不能将另一种数据类型的值赋值给它。
|
||||
>
|
||||
> 这意味着,如果你有一个可变的浮点型变量,你不能在后面将一个字符赋值给它。
|
||||
|
||||
### Rust 数据类型概观
|
||||
|
||||
在上一篇文章中,你可能注意到了我提到 Rust 是一种强类型语言。但是在定义变量时,你不需要指定数据类型,而是使用一个通用的关键字 `let`。
|
||||
|
||||
Rust 编译器可以根据赋值给变量的值推断出变量的数据类型。但是如果你仍然希望明确指定数据类型并希望注释类型,那么可以这样做。以下是语法:
|
||||
|
||||
```
|
||||
let variable_name: data_type = value;
|
||||
```
|
||||
|
||||
下面是 Rust 编程语言中一些常见的数据类型:
|
||||
|
||||
- **整数类型**:分别用于有符号和无符号的 32 位整数的 `i32` 和 `u32`
|
||||
- **浮点类型**:分别用于 32 位和 64 位浮点数的 `f32` 和 `f64`
|
||||
- **布尔类型**:`bool`
|
||||
- **字符类型**:`char`
|
||||
|
||||
我会在下一篇文章中更详细地介绍 Rust 的数据类型。现在,这应该足够了。
|
||||
|
||||
> 🚧 Rust 并不支持隐式类型转换。因此,如果你将值 `8` 赋给一个浮点型变量,你将会遇到编译时错误。你应该赋的值是 `8.` 或 `8.0`。
|
||||
|
||||
Rust 还强制要求在读取存储在其中的值之前初始化变量。
|
||||
|
||||
```
|
||||
{ // 该代码块不会被编译
|
||||
let a;
|
||||
println!("{}", a); // 本行报错
|
||||
// 读取一个**未初始化**变量的值是一个编译时错误
|
||||
}
|
||||
|
||||
{ // 该代码块会被编译
|
||||
let a;
|
||||
a = 128;
|
||||
println!("{}", a); // 本行不会报错
|
||||
// 变量 'a' 有一个初始值
|
||||
}
|
||||
```
|
||||
|
||||
如果你在不初始化的情况下声明一个变量,并在给它赋值之前使用它,Rust 编译器将会抛出一个 **编译时错误** 。
|
||||
|
||||
虽然错误很烦人,但在这种情况下,Rust 编译器强制你不要犯写代码时常见的错误之一:未初始化的变量。
|
||||
|
||||
### Rust 编译器的错误信息
|
||||
|
||||
来写几个程序,你将
|
||||
|
||||
- 通过执行“正常”的任务来理解 Rust 的设计,这些任务实际上是内存相关问题的主要原因
|
||||
- 阅读和理解 Rust 编译器的错误/警告信息
|
||||
|
||||
#### 测试变量的不可变性
|
||||
|
||||
让我们故意写一个试图修改不可变变量的程序,看看接下来会发生什么。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let mut a = 172;
|
||||
let b = 273;
|
||||
println!("a: {a}, b: {b}");
|
||||
|
||||
a = 380;
|
||||
b = 420;
|
||||
println!("a: {}, b: {}", a, b);
|
||||
}
|
||||
```
|
||||
|
||||
直到第 4 行看起来都是一个简单的程序。但是在第 7 行,变量 `b` —— 一个不可变变量 —— 的值被修改了。
|
||||
|
||||
注意打印 Rust 变量值的两种方法。在第 4 行,我将变量括在花括号中,以便打印它们的值。在第 8 行,我保持括号为空,并使用 C 的风格将变量作为参数。这两种方法都是有效的。(除了修改不可变变量的值,这个程序中的所有内容都是正确的。)
|
||||
|
||||
来编译一下!如果你按照上一章的步骤做了,你已经知道该怎么做了。
|
||||
|
||||
```
|
||||
$ rustc main.rs
|
||||
error[E0384]: cannot assign twice to immutable variable `b`
|
||||
--> main.rs:7:5
|
||||
|
|
||||
3 | let b = 273;
|
||||
| -
|
||||
| |
|
||||
| first assignment to `b`
|
||||
| help: consider making this binding mutable: `mut b`
|
||||
...
|
||||
7 | b = 420;
|
||||
| ^^^^^^^ cannot assign twice to immutable variable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0384`.
|
||||
```
|
||||
|
||||
> 📋 “binding” 一词是指变量名。但这只是一个简单的解释。
|
||||
|
||||
这很好的展示了 Rust 强大的错误检查和信息丰富的错误信息。第一行展示了阻止上述代码编译的错误信息:
|
||||
|
||||
```
|
||||
error[E0384]: cannot assign twice to immutable variable b
|
||||
```
|
||||
|
||||
这意味着,Rust 编译器注意到我试图给变量 `b` 重新赋值,但变量 `b` 是一个不可变变量。所以这就是导致这个错误的原因。
|
||||
|
||||
编译器甚至可以识别出错误发生的确切行和列号。
|
||||
|
||||
在显示 `first assignment to b` 的行下面,是提供帮助的行。因为我正在改变不可变变量 `b` 的值,所以我被告知使用 `mut` 关键字将变量 `b` 声明为可变变量。
|
||||
|
||||
> 🖥️ 自己实现一个修复来更好地理解手头的问题。
|
||||
|
||||
#### 使用未初始化的变量
|
||||
|
||||
现在,让我们看看当我们尝试读取未初始化变量的值时,Rust 编译器会做什么。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let a: i32;
|
||||
a = 123;
|
||||
println!("a: {a}");
|
||||
|
||||
let b: i32;
|
||||
println!("b: {b}");
|
||||
b = 123;
|
||||
}
|
||||
```
|
||||
|
||||
这里,我有两个不可变变量 `a` 和 `b`,在声明时都没有初始化。变量 `a` 在其值被读取之前被赋予了一个值。但是变量 `b` 的值在被赋予初始值之前被读取了。
|
||||
|
||||
来编译一下,看看结果。
|
||||
|
||||
```
|
||||
$ rustc main.rs
|
||||
warning: value assigned to `b` is never read
|
||||
--> main.rs:8:5
|
||||
|
|
||||
8 | b = 123;
|
||||
| ^
|
||||
|
|
||||
= help: maybe it is overwritten before being read?
|
||||
= note: `#[warn(unused_assignments)]` on by default
|
||||
|
||||
error[E0381]: used binding `b` is possibly-uninitialized
|
||||
--> main.rs:7:19
|
||||
|
|
||||
6 | let b: i32;
|
||||
| - binding declared here but left uninitialized
|
||||
7 | println!("b: {b}");
|
||||
| ^ `b` used here but it is possibly-uninitialized
|
||||
|
|
||||
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to previous error; 1 warning emitted
|
||||
|
||||
For more information about this error, try `rustc --explain E0381`.
|
||||
```
|
||||
|
||||
这里,Rust 编译器抛出了一个编译时错误和一个警告。警告说变量 `b` 的值从来没有被读取过。
|
||||
|
||||
但是这是荒谬的!变量 `b` 的值在第 7 行被访问了。但是仔细看;警告是关于第 8 行的。这很令人困惑;让我们暂时跳过这个警告,继续看错误。
|
||||
|
||||
这个错误信息说 `used binding b is possibly-uninitialized`。和之前的例子一样,Rust 编译器指出错误是由于尝试在第 7 行读取变量 `b` 的值而引起的。读取变量 `b` 的值是错误的原因是它的值没有初始化。在 Rust 编程语言中,这是非法的。因此编译时错误出现。
|
||||
|
||||
> 🖥️ 这个错误可以很容易地通过交换第 7 和第 8 行的代码来解决。试一下,看看错误是否消失了。
|
||||
|
||||
### 示例程序:交换数字
|
||||
|
||||
现在你已经熟悉了常见的变量相关问题,让我们来看一个交换两个变量值的程序。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let mut a = 7186932;
|
||||
let mut b = 1276561;
|
||||
|
||||
println!("a: {a}, b: {b}");
|
||||
|
||||
// 交换变量值
|
||||
let temp = a;
|
||||
a = b;
|
||||
b = temp;
|
||||
|
||||
println!("a: {}, b: {}", a, b);
|
||||
}
|
||||
```
|
||||
|
||||
我在这里声明了两个变量 `a` 和 `b`。这两个变量都是可变的,因为我希望在后面改变它们的值。我赋予了一些随机值。最初,我打印了这些变量的值。
|
||||
|
||||
然后,在第 8 行,我创建了一个名为 `temp` 的不可变变量,并将存储在 `a` 中的值赋给它。之所以这个变量是不可变的,是因为 `temp` 的值不会改变。
|
||||
|
||||
要交换值,我将变量 `b` 的值赋给变量 `a`,在下一行,我将 `temp` 的值(它包含 `a` 的值)赋给变量 `b`。现在值已经交换了,我打印了变量 `a` 和 `b` 的值。
|
||||
|
||||
在编译并执行上面的代码后,我得到了以下输出:
|
||||
|
||||
```
|
||||
a: 7186932, b: 1276561
|
||||
a: 1276561, b: 7186932
|
||||
```
|
||||
|
||||
正如你所见,值已经交换了。完美。
|
||||
|
||||
### 使用未使用的变量
|
||||
|
||||
当你声明了一些变量,打算在后面使用它们,但是还没有使用它们,然后编译你的 Rust 代码来检查一些东西时,Rust 编译器会警告你。
|
||||
|
||||
原因是显而易见的。不会被使用的变量占用了不必要的初始化时间(CPU 周期)和内存空间。如果不会被使用,为什么要在程序写上它呢?尽管编译器确实会优化这一点。但是它仍然是一个问题,因为它会以多余的代码的形式影响可读性。
|
||||
|
||||
但是,有的时候,你可能会面对这样的情况:创建一个变量与否不在你的控制之下。比如说,当一个函数返回多个值,而你只需要其中的一些值时。在这种情况下,你不能要求库维护者根据你的需要调整他们的函数。
|
||||
|
||||
所以,在这种情况下,你可以写一个以下划线开头的变量,Rust 编译器将不再显示这样的警告。如果你真的不需要使用存储在该未使用变量中的值,你可以简单地将其命名为 `_`(下划线),Rust 编译器也会忽略它!
|
||||
|
||||
接下来的程序不仅不会生成任何输出,而且也不会生成任何警告和/或错误消息:
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let _unnecessary_var = 0; // 没有警告
|
||||
let _ = 0.0; // 完全忽略
|
||||
}
|
||||
```
|
||||
|
||||
### 算术运算
|
||||
|
||||
数学就是数学,Rust 并没有在这方面创新。你可以使用在其他编程语言(如 C、C++ 和/或 Java)中使用过的所有算术运算符。
|
||||
|
||||
包含可以在 Rust 编程语言中使用的所有运算符和它们的含义的完整列表可以在 [这里][3] 找到。
|
||||
|
||||
#### 示例程序:一个生锈的温度计
|
||||
|
||||
(LCTT 译注:这里的温度计“生锈”了是因为它是使用 Rust(生锈)编写的,原作者在这里玩了一个双关。)
|
||||
|
||||
接下来是一个典型的程序,它将华氏度转换为摄氏度,反之亦然。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let boiling_water_f: f64 = 212.0;
|
||||
let frozen_water_c: f64 = 0.0;
|
||||
|
||||
let boiling_water_c = (boiling_water_f - 32.0) * (5.0 / 9.0);
|
||||
let frozen_water_f = (frozen_water_c * (9.0 / 5.0)) + 32.0;
|
||||
|
||||
println!(
|
||||
"Water starts boiling at {}°C (or {}°F).",
|
||||
boiling_water_c, boiling_water_f
|
||||
);
|
||||
println!(
|
||||
"Water starts freezing at {}°C (or {}°F).",
|
||||
frozen_water_c, frozen_water_f
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
没什么大不了的……华氏温度转换为摄氏温度,反之亦然。
|
||||
|
||||
正如你在这里看到的,由于 Rust 不允许自动类型转换,我不得不在整数 32、9 和 5 后放一个小数点。除此之外,这与你在 C、C++ 和/或 Java 中所做的类似。
|
||||
|
||||
作为练习,尝试编写一个程序,找出给定数中有多少位数字。
|
||||
|
||||
### 常量
|
||||
|
||||
如果你有一些编程知识,你可能知道这意味着什么。常量是一种特殊类型的变量,它的值**永远不会改变**。_它保持不变_。
|
||||
|
||||
在 Rust 编程语言中,使用以下语法声明常量:
|
||||
|
||||
```
|
||||
const CONSTANT_NAME: data_type = value;
|
||||
```
|
||||
|
||||
如你所见,声明常量的语法与我们在 Rust 中看到的变量声明非常相似。但是有两个不同之处:
|
||||
|
||||
- 常量的名字需要像 `SCREAMING_SNAKE_CASE` 这样。所有的大写字母和单词之间用下划线分隔。
|
||||
- 常量的数据类型**必须**被显性定义。
|
||||
|
||||
#### 变量与常量的对比
|
||||
|
||||
你可能在想,既然变量默认是不可变的,为什么语言还要包含常量呢?
|
||||
|
||||
接下来这个表格应该可以帮助你消除疑虑。(如果你好奇并且想更好地理解这些区别,你可以看看[我的博客][4],它详细地展示了这些区别。)
|
||||
|
||||
![一个展示 Rust 编程语言中变量和常量之间区别的表格][5]
|
||||
|
||||
#### 使用常量的示例程序:计算圆的面积
|
||||
|
||||
这是一个很直接的关于 Rust 中常量的简单程序。它计算圆的面积和周长。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
const PI: f64 = 3.14;
|
||||
let radius: f64 = 50.0;
|
||||
|
||||
let circle_area = PI * (radius * radius);
|
||||
let circle_perimeter = 2.0 * PI * radius;
|
||||
|
||||
println!("有一个周长为 {radius} 厘米的圆");
|
||||
println!("它的面积是 {} 平方厘米", circle_area);
|
||||
println!(
|
||||
"以及它的周长是 {} 厘米",
|
||||
circle_perimeter
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
如果运行代码,将产生以下输出:
|
||||
|
||||
```
|
||||
有一个周长为 50 厘米的圆
|
||||
它的面积是 7850 平方厘米
|
||||
以及它的周长是 314 厘米
|
||||
```
|
||||
|
||||
### Rust 中的变量遮蔽
|
||||
|
||||
如果你是一个 C++ 程序员,你可能已经知道我在说什么了。当程序员**声明**一个与已经声明的变量同名的新变量时,这就是变量遮蔽。
|
||||
|
||||
与 C++ 不同,Rust 允许你在同一作用域中执行变量遮蔽!
|
||||
|
||||
> 💡 当程序员遮蔽一个已经存在的变量时,新变量会被分配一个新的内存地址,但是使用与现有变量相同的名称引用。
|
||||
|
||||
来看看它在 Rust 中是如何工作的。
|
||||
|
||||
```
|
||||
fn main() {
|
||||
let a = 108;
|
||||
println!("a 的地址: {:p}, a 的值 {a}", &a);
|
||||
let a = 56;
|
||||
println!("a 的地址: {:p}, a 的值: {a} // 遮蔽后", &a);
|
||||
|
||||
let mut b = 82;
|
||||
println!("\nb 的地址: {:p}, b 的值: {b}", &b);
|
||||
let mut b = 120;
|
||||
println!("b的地址: {:p}, b的值: {b} // 遮蔽后", &b);
|
||||
|
||||
let mut c = 18;
|
||||
println!("\nc 的地址: {:p}, c的值: {c}", &c);
|
||||
c = 29;
|
||||
println!("c 的地址: {:p}, c的值: {c} // 遮蔽后", &c);
|
||||
}
|
||||
```
|
||||
|
||||
`println` 语句中花括号内的 `:p` 与 C 中的 `%p` 类似。它指定值的格式为内存地址(指针)。
|
||||
|
||||
我在这里使用了 3 个变量。变量 `a` 是不可变的,并且在第 4 行被遮蔽。变量 `b` 是可变的,并且在第 9 行也被遮蔽。变量 `c` 是可变的,但是在第 14 行,只有它的值被改变了。它没有被遮蔽。
|
||||
|
||||
现在,让我们看看输出。
|
||||
|
||||
```
|
||||
a 的地址: 0x7ffe954bf614, a 的值 108
|
||||
a 的地址: 0x7ffe954bf674, a 的值: 56 // 遮蔽后
|
||||
|
||||
b 的地址: 0x7ffe954bf6d4, b 的值: 82
|
||||
b 的地址: 0x7ffe954bf734, b 的值: 120 // 遮蔽后
|
||||
|
||||
c 的地址: 0x7ffe954bf734, c 的值: 18
|
||||
c 的地址: 0x7ffe954bf734, c 的值: 29 // 遮蔽后
|
||||
```
|
||||
|
||||
来看看输出,你会发现不仅所有三个变量的值都改变了,而且被遮蔽的变量的地址也不同(检查十六进制的最后几个字符)。
|
||||
|
||||
变量 `a` 和 `b` 的内存地址改变了。这意味着变量的可变性或不可变性并不是遮蔽变量的限制。
|
||||
|
||||
### 总结
|
||||
|
||||
本文介绍了 Rust 编程语言中的变量和常量。还介绍了算术运算。
|
||||
|
||||
做个总结:
|
||||
|
||||
- Rust 中的变量默认是不可变的,但是可以引入可变性。
|
||||
- 程序员需要显式地指定变量的可变性。
|
||||
- 常量总是不可变的,无论如何都需要类型注释。
|
||||
- 变量遮蔽是指使用与现有变量相同的名称声明一个 _新_ 变量。
|
||||
|
||||
很好!我相信和 Rust 一起的进展不错。在下一章中,我将讨论 Rust 中的数据类型。敬请关注。
|
||||
|
||||
与此同时,如果你有任何问题,请告诉我。
|
||||
|
||||
*(题图:MJ/7c5366b8-f926-487e-9153-0a877145ca5)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/rust-variables/
|
||||
|
||||
作者:[Pratham Patel][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[Cubik](https://github.com/Cubik65536)
|
||||
校对:[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/lkxed/
|
||||
[1]: https://itsfoss.com/content/images/2023/03/linux-mega-packt.webp
|
||||
[2]: https://linux.cn/article-15709-1.html
|
||||
[3]: https://doc.rust-lang.org/book/appendix-02-operators.html?ref=itsfoss.com#operators
|
||||
[4]: https://blog.thefossguy.com/posts/immutable-vars-vs-constants-rs.md?ref=itsfoss.com
|
||||
[5]: https://itsfoss.com/content/images/2023/02/image.png
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/01/144948gp13zdindx50ll0p.png
|
@ -0,0 +1,66 @@
|
||||
[#]: subject: "KDE Team Developing a New e-Book Management App: Arianna"
|
||||
[#]: via: "https://debugpointnews.com/kde-app-arinna/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15773-1.html"
|
||||
|
||||
KDE 团队正在开发新的电子书管理应用:Arianna
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> KDE 引入了 Arianna,这是一款基于 Qt 和 Kirigami 构建的新 ePub 阅读器应用,集成了 Baloo,可轻松组织和浏览文件。
|
||||
|
||||
著名的国际自由软件社区 KDE 正在开发新的 ePub 阅读器应用 Arianna。该应用程序建立在 Qt 和 Kirigami 之上,提供时尚现代的用户界面。
|
||||
|
||||
Arianna 既是 ePub 查看器,也是库管理应用。该应用利用 KDE 的文件索引和搜索框架 Baloo 来查找和分类用户设备上的现有 ePub 文件。
|
||||
|
||||
Arianna 的库视图会跟踪用户的阅读进度,并在新书下载后立即更新。对于那些拥有较大库的人,Arianna 提供内部搜索功能以及按体裁、出版商或作者浏览书籍的能力。
|
||||
|
||||
Arianna 的实际阅读界面很简单,唯一的目的就是展示书的内容。但是,该应用确实有有用的功能,例如用于跟踪用户阅读进度的进度条和键盘导航功能。它还允许用户在书中搜索特定单词。
|
||||
|
||||
以下是来自公告的一些截图:
|
||||
|
||||
![Arianna - 主视图][1]
|
||||
|
||||
![阅读视图][2]
|
||||
|
||||
![作者视图][3]
|
||||
|
||||
该应用在 Flathub 中以 Flatpak 的形式提供。你需要使用[本指南][4]为你的 Linux 发行版设置 Flatpak/Flathub。并使用以下命令安装它。
|
||||
|
||||
```
|
||||
flatpak install flathub org.kde.arianna
|
||||
```
|
||||
|
||||
尽管它具有令人印象深刻的功能,但人们可能会质疑是否需要另一个 ePub 管理应用,因为已经有了 [Calibre][5],这是一个自由开源的替代方案。然而,Arianna 现代而直观的设计,以及与 KDE 生态系统的无缝集成,使其成为 ePub 阅读器领域的有力竞争者。
|
||||
|
||||
总之,Arianna 是 KDE 大量应用中令人兴奋的新成员。它提供时尚现代的设计以及用于管理和阅读 ePub 文件的实用功能。随着它的不断发展,用户可以期待在未来有更多的改进和增强。
|
||||
|
||||
> 来自 [Carl 的博客][7]
|
||||
|
||||
*(题图:MJ/665fb955-deb5-4519-9259-afa983b616cc)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/kde-app-arinna/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/04/Arinna-Main-view.jpg
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/04/Reading-View.jpg
|
||||
[3]: https://debugpointnews.com/wp-content/uploads/2023/04/Author-View.jpg
|
||||
[4]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
|
||||
[5]: https://calibre-ebook.com/
|
||||
[7]: https://carlschwan.eu/2023/04/13/announcing-arianna-1.0/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/02/144229yuyuecfuueeujue6.png
|
@ -0,0 +1,205 @@
|
||||
[#]: subject: "How to Install FreeIPA Server on RHEL 8 | Rocky Linux 8 | AlmaLinux 8"
|
||||
[#]: via: "https://www.linuxtechi.com/install-freeipa-rhel-rocky-almalinux/"
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15783-1.html"
|
||||
|
||||
如何在 RHEL 8 上安装 FreeIPA 服务器
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
你是否正在寻找有关如何在 Linux 上安装 FreeIPA 服务器的简单指南?
|
||||
|
||||
此页面上的分步指南将展示如何在 RHEL 8、Rocky Linux 8 和 AlmaLinux 8 上安装 FreeIPA 服务器。
|
||||
|
||||
[FreeIPA][1] 是一个自由开源的基于 Linux 系统的集中式身份和访问管理工具,它是 Red Hat 身份管理器的上游项目。使用 FreeIPA,我们可以轻松地管理集中式身份验证以及帐户管理、策略(基于主机的访问控制)和审计。
|
||||
|
||||
FreeIPA 基于以下开源项目:
|
||||
|
||||
- LDAP 服务器 – 基于 389 项目
|
||||
- KDC – 基于 MIT Kerberos 实现
|
||||
- 基于 Dogtag 项目的 PKI
|
||||
- 用于活动目录集成的 Samba 库
|
||||
- 基于 BIND 和 Bind-DynDB-LDAP 插件的 DNS 服务器
|
||||
- NTP
|
||||
|
||||
### 先决条件
|
||||
|
||||
- 预装 RHEL 8 或 Rocky Linux 8 或 AlmaLinux 8
|
||||
- 具有管理员权限的 Sudo 用户
|
||||
- 内存 = 2 GB
|
||||
- CPU = 2 个 vCPU
|
||||
- 磁盘 = 根目录有 12GB 可用空间
|
||||
- 互联网连接
|
||||
|
||||
### FreeIPA 的实验室详细信息
|
||||
|
||||
- IP 地址 = 192.168.1.102
|
||||
- Hostanme = ipa.linuxtechi.lan
|
||||
- 操作系统:RHEL 8 或 Rocky Linux 8 或 AlmaLinux 8
|
||||
|
||||
事不宜迟,让我们深入了解 FreeIPA 安装步骤。
|
||||
|
||||
### 1、设置主机名并安装更新
|
||||
|
||||
打开服务器的终端并使用 `hostnamectl` 命令设置主机名:
|
||||
|
||||
```
|
||||
$ sudo hostnamectl set-hostname "ipa.linuxtechi.lan"
|
||||
$ exec bash
|
||||
```
|
||||
|
||||
使用 `yum`/`dnf` 命令安装更新,然后重新启动:
|
||||
|
||||
```
|
||||
$ sudo dnf update -y
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
### 2、更新主机文件并将 SELinux 设置为许可
|
||||
|
||||
运行以下 `tee` 命令更新 `/etc/hosts` 文件,根据你的设置替换 IP 地址和主机名。
|
||||
|
||||
```
|
||||
$ echo -e "192.168.1.102\tipa.linuxtechi.lan\t ipa" | sudo tee -a /etc/hosts
|
||||
```
|
||||
|
||||
将 SELinux 设置为许可,运行以下命令:
|
||||
|
||||
```
|
||||
$ sudo setenforce 0
|
||||
$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
|
||||
$ getenforce
|
||||
Permissive
|
||||
```
|
||||
|
||||
### 3、安装 FreeIPA 及其组件
|
||||
|
||||
Appstream 包仓库中提供了 FreeIPA 包及其依赖项。由于我们计划安装集成 DNS 的 FreeIPA,因此我们还将安装 `ipa-server-dns` 和 `bind-dyndb-ldap`。
|
||||
|
||||
运行以下命令安装 FreeIPA 及其依赖项:
|
||||
|
||||
```
|
||||
$ sudo dnf -y install @idm:DL1
|
||||
$ sudo dnf install freeipa-server ipa-server-dns bind-dyndb-ldap -y
|
||||
```
|
||||
|
||||
### 4、开始安装 FreeIPA
|
||||
|
||||
成功安装 FreeIPA 包及其依赖项后,使用以下命令启动 FreeIPA 安装设置。
|
||||
|
||||
它将提示几件事,例如配置集成 DNS、主机名、域名和领域名。
|
||||
|
||||
```
|
||||
$ sudo ipa-server-install
|
||||
```
|
||||
|
||||
上述命令的输出如下所示:
|
||||
|
||||
![][2]
|
||||
|
||||
![][3]
|
||||
|
||||
在上面的窗口中输入 “yes” 后,需要一些时间来配置你的 FreeIPA 服务器,设置成功后,我们将得到下面的输出:
|
||||
|
||||
![][4]
|
||||
|
||||
以上输出确认 FreeIPA 已成功安装。
|
||||
|
||||
### 5、在防火墙中允许 FreeIPA 端口
|
||||
|
||||
如果正在你的服务器上运行系统防火墙,那么运行如下 `firewall-cmd` 命令以允许 FreeIPA 端口:
|
||||
|
||||
```
|
||||
$ sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
|
||||
$ sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
### 6、访问 FreeIPA 管理门户
|
||||
|
||||
执行下面的 `ipactl` 命令查看 FreeIPA 的所有服务是否都在运行:
|
||||
|
||||
```
|
||||
$ ipactl status
|
||||
You must be root to run ipactl.
|
||||
$ sudo ipactl status
|
||||
Directory Service: RUNNING
|
||||
krb5kdc Service: RUNNING
|
||||
kadmin Service: RUNNING
|
||||
named Service: RUNNING
|
||||
httpd Service: RUNNING
|
||||
ipa-custodia Service: RUNNING
|
||||
pki-tomcatd Service: RUNNING
|
||||
ipa-otpd Service: RUNNING
|
||||
ipa-dnskeysyncd Service: RUNNING
|
||||
ipa: INFO: The ipactl command was successful
|
||||
$
|
||||
```
|
||||
|
||||
让我们使用 `kinit` 命令验证管理员用户是否会通过 Kerberos 获取令牌,使用我们在 FreeIPA 安装期间提供的相同管理员用户密码。
|
||||
|
||||
```
|
||||
$ kinit admin
|
||||
$ klist
|
||||
```
|
||||
|
||||
以上命令的输出:
|
||||
|
||||
![][5]
|
||||
|
||||
完美,上面的输出确认管理员获得了令牌。现在,尝试访问 FreeIPA Web 控制台,在网络浏览器上输入以下 URL:
|
||||
|
||||
```
|
||||
https://ipa.linuxtechi.lan/ipa/ui
|
||||
```
|
||||
|
||||
或者
|
||||
|
||||
```
|
||||
https://<Server-IPAddress>/ipa/ui
|
||||
```
|
||||
|
||||
使用我们在安装过程中指定的用户名 `admin` 和密码。
|
||||
|
||||
![][6]
|
||||
|
||||
对于 FreeIPA Web 控制台,使用自签名 SSL 证书,这就是我们看到此窗口的原因,因此单击“<ruby>接受风险并继续<rt>Accept the Risk and Continue</rt></ruby>”。
|
||||
|
||||
![][7]
|
||||
|
||||
输入凭据后,单击“<ruby>登录<rt>Log in</rt></ruby>”。
|
||||
|
||||
![][8]
|
||||
|
||||
这证实我们已在 RHEL 8/Rocky Linux 8 / AlmaLinux8 上成功设置 FreeIPA。
|
||||
|
||||
这就是全部,我希望你觉得它提供了很多信息。请在下面的评论部分中发表你的疑问和反馈。
|
||||
|
||||
*(题图:MJ/9df57ea0-b5a0-48f9-a323-853a28ca6162)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/install-freeipa-rhel-rocky-almalinux/
|
||||
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.linuxtechi.com/author/pradeep/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.freeipa.org/page/Main_Page
|
||||
[2]: https://www.linuxtechi.com/wp-content/uploads/2018/11/IPA-Server-Install-Command-RHEL-RockyLinux-AlmaLinux.png?ezimgfmt=ng:webp/ngcb22
|
||||
[3]: https://www.linuxtechi.com/wp-content/uploads/2018/11/IPA-Install-Directory-Manager-IPA-Admin-Password.png?ezimgfmt=ng:webp/ngcb22
|
||||
[4]: https://www.linuxtechi.com/wp-content/uploads/2018/11/IPA-Installation-Successful-Message-RHEL-AlmaLinux-RockyLinux.png?ezimgfmt=ng:webp/ngcb22
|
||||
[5]: https://www.linuxtechi.com/wp-content/uploads/2018/11/FeeIPA-kinit-admin-token.png
|
||||
[6]: https://www.linuxtechi.com/wp-content/uploads/2018/11/Accept-Risk-FreeIPA-WebConsole-URL-1024x556.png?ezimgfmt=ng:webp/ngcb22
|
||||
[7]: https://www.linuxtechi.com/wp-content/uploads/2018/11/FreeIPA-Login-Page-RHEL-RockyLinux-AlmaLinux-1024x586.png?ezimgfmt=ng:webp/ngcb22
|
||||
[8]: https://www.linuxtechi.com/wp-content/uploads/2018/11/FreeIPA-Dashboard-RHEL-RockyLinux-AlmaLinux-1024x585.png?ezimgfmt=ng:webp/ngcb22
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/05/160246m3vu7phhy7eyuo7j.png
|
@ -0,0 +1,84 @@
|
||||
[#]: subject: "Edit your photos with open source artificial intelligence"
|
||||
[#]: via: "https://opensource.com/article/23/4/edit-photos-open-source-ai"
|
||||
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15777-1.html"
|
||||
|
||||
使用开源人工智能 Upscayl 放大你的老照片
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Upscayl 是一个自由开源的程序,它使用开源人工智能来提升低分辨率的图像。
|
||||
|
||||
自从我小时候使用了我父亲的柯达 620 相机以来,我就一直对摄影很感兴趣。我用它来拍摄我们附近的动植物。出于对摄影的热爱,我在高中时购买了一台 Instamatic 相机,并最终在 1990 年代后期购买了一台刚刚进入市场的数码相机。早期的数码相机便于携带,能够快速捕捉图像并轻松地在互联网上共享图像。但它们在质量和复杂性上不如最好的胶片摄影。当然,从那时起,数码相机有了很大的改进。但我这么多年的数码照片看起来有点小,嗯,是在现代设备上看起来比较*小*。
|
||||
|
||||
直到最近,我用于提升数字图像的首选工具一直都是 [GIMP][1]。几年前,我尝试使用 GIMP 放大我父亲在 1940 年代中期拍摄的“小”图。不过虽然放大了,但照片缺乏我想要的细节、深度和清晰度。
|
||||
|
||||
自从我知道了 [Upscayl][2],这一切都发生了变化。这是一个自由开源的程序,它使用了 <ruby>[开源人工智能][3]<rt>open source artificial intelligence</rt></ruby> 来升级低分辨率图像,
|
||||
|
||||
### Upscayl
|
||||
|
||||
Upscayl 适用于 Linux、Windows 和 macOS。
|
||||
|
||||
无论你的系统使用 RPM 还是 DEB 包,在 Linux 上安装都很容易,它的网站也包含一个通用的 Linux [AppImage][4]。
|
||||
|
||||
对于 macOS 和 Windows,你可以从项目的网站下载安装程序。Upscayl 使用 [AGPL][5] 许可证发布。
|
||||
|
||||
### 开始使用 Upscayl
|
||||
|
||||
安装后,你可以用它放大图像了。GUI 软件非常易于使用。该软件使你的旧图像看起来像昨天拍摄的,图像分辨率远远超过原件。此外,你可以批量缩放整个文件夹和图像相册,并一次对它们进行提升。
|
||||
|
||||
![The left panel of Upscayl provides clear guidance on the 4 steps required to upscale an image.][6]
|
||||
|
||||
启动软件并单击 “<ruby>选择图像<rt>Select Image</rt></ruby>” 按钮。找到要放大的图像或图像文件夹。
|
||||
|
||||
加载图像后,选择要尝试的放大类型。默认值为 Real-ESRGAN,这是一个很好的起点。有六个选项可供选择,包括数字艺术的选择:
|
||||
|
||||
- 使用 [Real-ESRGAN][7] 放大普通照片
|
||||
- 使用 [remacri][8] 放大普通照片
|
||||
- 使用 [ultramix balanced][8] 放大普通照片
|
||||
- 使用 [ultrasharp][8] 放大普通照片
|
||||
- 数字艺术
|
||||
- 锐化图像
|
||||
|
||||
接下来,选择要保存放大图像的输出目录。
|
||||
|
||||
最后,单击 “Upscayl” 按钮开始放大过程。转换速度取决于你的 GPU 和你选择的图像输出方式。
|
||||
|
||||
这是一张测试图像,左侧是低分辨率图像,右侧是 Upscayl 版本:
|
||||
|
||||
![An image processed by Upscayl.][9]
|
||||
|
||||
### 是时候为你的图像尝试 Upscayl 了
|
||||
|
||||
Upscayl 是我最喜欢的放大应用之一。它确实在很大程度上取决于你的 GPU,因此它可能无法在旧计算机或显卡特别弱的计算机上运行。但是尝试一下也没有坏处。所以下载并尝试一下。我想你会对结果印象深刻。
|
||||
|
||||
*(题图:MJ/4ccffdf1-f17a-49ab-81a8-ce20c63d0da1)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/edit-photos-open-source-ai
|
||||
|
||||
作者:[Don Watkins][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://opensource.com/tags/gimp
|
||||
[2]: https://github.com/upscayl/upscayl
|
||||
[3]: https://opensource.com/article/22/10/defining-open-source-ai
|
||||
[4]: https://appimage.github.io/Upscayl/
|
||||
[5]: https://github.com/upscayl/upscayl/blob/main/LICENSE
|
||||
[6]: https://opensource.com/sites/default/files/2023-03/upscayl-panel.webp
|
||||
[7]: https://github.com/xinntao/Real-ESRGAN
|
||||
[8]: https://upscale.wiki/wiki/Model_Database
|
||||
[9]: https://opensource.com/sites/default/files/2023-03/jurica-koletic-7YVZYZeITc8-unsplash.webp
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/03/085229uwawt7dbbilw2272.png
|
@ -0,0 +1,117 @@
|
||||
[#]: subject: "Talk to your cluster with this open source Python API wrapper"
|
||||
[#]: via: "https://opensource.com/article/23/4/cluster-open-source-python-api-wrapper"
|
||||
[#]: author: "Ruth Netser https://opensource.com/users/rnetser1"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15793-1.html"
|
||||
|
||||
使用开源 Python API 封装器与你的集群对话
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 结合开放的 API 和 Python 编程语言的力量。
|
||||
|
||||
围绕 API 创建封装器的开源项目正变得越来越流行。这些项目使开发人员更容易与 API 交互并在他们的应用中使用它们。`openshift-python-wrapper` 项目是 [openshift-restclient-python][1] 的封装器。最初是一个帮助我们的团队使用 OpenShift API 的内部包,后来变成了一个[开源项目][2](Apache 许可证 2.0)。
|
||||
|
||||
本文讨论了什么是 API 封装器,为什么它很有用,以及封装器的一些例子。
|
||||
|
||||
### 为什么要使用 API 封装器?
|
||||
|
||||
API 封装器是位于应用和 API 之间的一层代码。它通过将一些涉及发出请求和解析响应的复杂性抽象出来,以简化 API 访问过程。封装器还可以提供 API 本身提供的功能之外的附加功能,例如缓存或错误处理。
|
||||
|
||||
使用 API 封装器使代码更加模块化并且更易于维护。无需为每个 API 编写自定义代码,你可以使用封装器来提供与 API 交互的一致接口。它可以节省时间,避免代码重复,并减少出错的机会。
|
||||
|
||||
使用 API 封装器的另一个好处是它可以保护你的代码免受 API 变化的影响。如果 API 更改了它的接口,你可以更新封装器代码而无需修改你的应用程序代码。随着时间的推移,这可以减少维护应用程序所需的工作。
|
||||
|
||||
### 安装
|
||||
|
||||
该应用位于 [PyPi][3] 上,因此使用 [pip 命令][4] 安装 `openshift-python-wrapper`:
|
||||
|
||||
```
|
||||
$ python3 -m pip install openshift-python-wrapper
|
||||
```
|
||||
|
||||
### Python 封装器
|
||||
|
||||
[OpenShift REST API][5] 提供对 OpenShift 平台的许多功能的编程访问。封装器提供了一个简单直观的界面,用于使用 `openshift-restclient-python` 库与 API 进行交互。它标准化了如何使用集群资源,并提供了统一的资源 CRUD(创建、读取、更新和删除)流程。它还提供额外的功能,例如需要由用户实现的特定于资源的功能。随着时间的推移,封装器使代码更易于阅读和维护。
|
||||
|
||||
简化用法的一个示例是与容器交互。在容器内运行命令需要使用 Kubernetes 流、处理错误等。封装器处理这一切并提供 [简单直观的功能][6]。
|
||||
|
||||
```
|
||||
>>> from ocp_resources.pod import Pod
|
||||
>>> from ocp_utilities.infra import get_client
|
||||
>>> client = get_client()
|
||||
|
||||
ocp_utilities.infra INFO Trying to get
|
||||
client via new_client_from_config
|
||||
|
||||
>>> pod = Pod(client=client, name="nginx-deployment-7fb96c846b-b48mv", namespace="default")
|
||||
>>> pod.execute("ls")
|
||||
|
||||
ocp_resources Pod INFO Execute ls on
|
||||
nginx-deployment-7fb96c846b-b48mv (ip-10-0-155-108.ec2.internal)
|
||||
|
||||
'bin\nboot\ndev\netc\nhome\nlib\nlib64\nmedia\nmnt\nopt\nproc\nroot\nrun\nsbin\nsrv\nsys\ntmp\nusr\nvar\n'
|
||||
```
|
||||
|
||||
开发人员或测试人员可以使用这个封装器,我们的团队在编写代码的同时牢记测试。使用 Python 的上下文管理器可以提供开箱即用的资源创建和删除,并且可以使用继承来扩展特定场景的功能。Pytest fixtures 可以使用代码进行设置和拆卸,不留任何遗留物。甚至可以保存资源用于调试。可以轻松收集资源清单和日志。
|
||||
|
||||
这是上下文管理器的示例:
|
||||
|
||||
```
|
||||
@pytest.fixture(scope="module")
|
||||
def namespace():
|
||||
admin_client = get_client()
|
||||
with Namespace(client=admin_client, name="test-ns",) as ns:
|
||||
ns.wait_for_status(status=Namespace.Status.ACTIVE, timeout=240)
|
||||
yield ns
|
||||
|
||||
def test_ns(namespace):
|
||||
print(namespace.name)
|
||||
```
|
||||
|
||||
生成器遍历资源,如下所示:
|
||||
|
||||
```
|
||||
>>> from ocp_resources.node import Node
|
||||
>>> from ocp_utilities.infra import get_client
|
||||
>>> admin_client = get_client()
|
||||
# This returns a generator
|
||||
>>> for node in Node.get(dyn_client=admin_client):
|
||||
print(node.name)
|
||||
|
||||
ip-10-0-128-213.ec2.internal
|
||||
```
|
||||
|
||||
### 开源社区的开源代码
|
||||
|
||||
套用一句流行的说法,“如果你热爱你的代码,就应该让它自由。” `openshift-python-wrapper` 项目最初是作为 [OpenShift 虚拟化][7] 的实用模块。随着越来越多的项目从代码中受益,我们决定将这些程序提取到一个单独的仓库中并将其开源。套用另一句俗语,“如果代码不回到你这里,那就意味着它从未属于你。” 一旦这种情况发生,它就真正成为了开源。
|
||||
|
||||
更多的贡献者和维护者意味着代码属于社区。欢迎大家贡献。
|
||||
|
||||
*(题图:MJ/5ca32a4a-2194-4b36-ade9-053433e79201)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/cluster-open-source-python-api-wrapper
|
||||
|
||||
作者:[Ruth Netser][a]
|
||||
选题:[lkxed][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/rnetser1
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://github.com/openshift/openshift-restclient-python
|
||||
[2]: https://github.com/RedHatQE/openshift-python-wrapper
|
||||
[3]: https://pypi.org/project/openshift-python-wrapper/
|
||||
[4]: https://opensource.com/downloads/pip-cheat-sheet
|
||||
[5]: https://access.redhat.com/documentation/en-us/openshift_container_platform/3.5/html-single/using_the_openshift_rest_api/index?intcmp=7013a000002qLH8AAM
|
||||
[6]: https://github.com/RedHatQE/openshift-python-wrapper/blob/main/ocp_resources/pod.py#L72
|
||||
[7]: https://www.redhat.com/en/technologies/cloud-computing/openshift/virtualization?intcmp=7013a000002qLH8AAM
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/07/232516w8j766mkp7pz7frl.png
|
@ -0,0 +1,112 @@
|
||||
[#]: subject: "Explore data visually with Python tools"
|
||||
[#]: via: "https://opensource.com/article/23/4/data-visualization-pygwalker-jupyter-notebook"
|
||||
[#]: author: "Bill Wang https://opensource.com/users/bill-wang"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15786-1.html"
|
||||
|
||||
使用这些 Python 工具可视化地探索数据
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 结合 Python、Pygwalker、Pandas 和 Jupyter Notebook,为你的数据提供一个动态的可视化界面。
|
||||
|
||||
开源工具在推动技术进步和使其更加普及方面发挥了重要作用。数据分析也不例外。随着数据变得越来越丰富和复杂,[数据科学家][1] 始终在寻找简化工作流程并创建交互式和吸引人的可视化的方式。PyGWalker 就是为解决此类问题而设计的。
|
||||
|
||||
[PyGWalker][2](Graphic Walker 的 Python 绑定)将 Python Jupyter Notebook 的工作环境连接到 [Graphic Walker][3],以创建开源数据可视化工具。你可以通过简单的拖放操作将 [Pandas 数据帧][4] 转化为精美的数据可视化。
|
||||
|
||||
![Exploring data through a visual interface with Pygwalker][5]
|
||||
|
||||
### 开始使用 PyGWalker
|
||||
|
||||
使用 `pip` 安装 PyGWalker:
|
||||
|
||||
```
|
||||
$ python3 -m pip install pygwalker
|
||||
```
|
||||
|
||||
导入 `pygwalker` 和 `pandas` 以在项目中使用它:
|
||||
|
||||
```
|
||||
import pandas as pd
|
||||
import pygwalker as pyg
|
||||
```
|
||||
|
||||
将数据加载到 Pandas 数据报中并调用 PyGWalker:
|
||||
|
||||
```
|
||||
df = pd.read_csv('./bike_sharing_dc.csv', parse_dates=['date'])
|
||||
gwalker = pyg.walk(df)
|
||||
```
|
||||
|
||||
你现在有一个图形用户界面来探索和可视化你的 Pandas 数据帧!
|
||||
|
||||
### 使用 Graphic Walker 探索数据
|
||||
|
||||
Graphic Walker 的主要功能之一是能够更改标记类型以创建不同类型的图表。例如,通过将标记类型更改为折线来创建折线图。
|
||||
|
||||
![Line charts generated by Pygwalker][6]
|
||||
|
||||
你还可以通过创建 concat 视图来比较不同的度量,该视图将多个度量添加到行和列中。
|
||||
|
||||
![Comparing data in the Graphic Walker interface.][7]
|
||||
|
||||
将维度放入行或列中,以创建一个 facet 视图,这个视图包含多个子视图,这些子视图由一个维度中的值分隔开。
|
||||
|
||||
![The facets view in Graphic Walker.][8]
|
||||
|
||||
在 <ruby>数据<rt>Data</rt></ruby> 选项卡中,你可以在表格中查看数据帧并配置分析和语义类型。
|
||||
|
||||
![Table data in Graphic Walker.][9]
|
||||
|
||||
### 使用 PyGWalker 进行数据探索
|
||||
|
||||
你可以使用 PyGWalker 将 Pandas 数据转换为高度可定制的图形图表。你也可以使用 PyGWalker 作为探索数据的强大工具,以发现潜在的模式、趋势和洞察力。
|
||||
|
||||
数据探索选项可以在“<ruby>探索模式<rt>Exploration Mode</rt></ruby>”选项(工具栏中)中找到。它们可以设置为**点模式**或**刷模式**。
|
||||
|
||||
- **点模式**:通过将你的鼠标光标指向数据的一个特定部分来探索数据。
|
||||
- **刷模式**:通过在数据范围周围画一个选择框来探索数据,然后拖动选择框来查看生成的报告。
|
||||
|
||||
### 试试看你的数据
|
||||
|
||||
你可以在这些云演示中试用 PyGWalker:[Google Colab][10]、[Binder][11] 或 [Graphic Walker Online Demo][12]。
|
||||
|
||||
PyGWalker 是一个用于简化数据分析和可视化工作流程的优秀工具,特别是对于那些想要使用 Pandas 进行界面可视化的人。借助 PyGWalker 和 Graphic Walker,数据科学家可以在 [Jupyter Notebook][13] 中通过简单的拖放操作轻松创建令人惊叹的可视化效果。请查看 PyGWalker Git 仓库获取源代码。
|
||||
|
||||
对于寻求自动化数据探索和高级增强分析的开源解决方案的数据科学家,该项目还适用于 [RATH][14],这是一种开源自动 EDA、人工智能支持的数据探索和可视化工具。你还可以查看 [RATH Git 仓库][15] 获取源代码和活跃的社区。
|
||||
|
||||
*(题图:MJ/21c21716-b900-4466-98a9-51268960c9b8)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/data-visualization-pygwalker-jupyter-notebook
|
||||
|
||||
作者:[Bill Wang][a]
|
||||
选题:[lkxed][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/bill-wang
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://enterprisersproject.com/article/2022/9/data-scientist-day-life?intcmp=7013a000002qLH8AAM
|
||||
[2]: https://github.com/Kanaries/pygwalker
|
||||
[3]: https://github.com/Kanaries/graphic-walker
|
||||
[4]: https://opensource.com/article/20/6/pandas-python
|
||||
[5]: https://opensource.com/sites/default/files/2023-03/pygwalker-exploring-data.gif
|
||||
[6]: https://opensource.com/sites/default/files/2023-03/line-chart-with-pygwalker.webp
|
||||
[7]: https://opensource.com/sites/default/files/2023-03/concat-view-pygwalker.webp
|
||||
[8]: https://opensource.com/sites/default/files/2023-03/table-view-pygwalker.webp
|
||||
[9]: https://opensource.com/sites/default/files/2023-03/table-data-pygwalker.webp
|
||||
[10]: https://colab.research.google.com/drive/171QUQeq-uTLgSj1u-P9DQig7Md1kpXQ2?usp=sharing
|
||||
[11]: https://mybinder.org/v2/gh/Kanaries/pygwalker/main?labpath=tests%2Fmain.ipynb
|
||||
[12]: https://graphic-walker.kanaries.net/
|
||||
[13]: https://opensource.com/downloads/jupyter-guide
|
||||
[14]: https://kanaries.net/
|
||||
[15]: https://github.com/Kanaries/Rath
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/06/101500jbe76aeb8tvnu5ta.png
|
96
published/20230425.2 ⭐️⭐️ What's new in GNOME 44.md
Normal file
96
published/20230425.2 ⭐️⭐️ What's new in GNOME 44.md
Normal file
@ -0,0 +1,96 @@
|
||||
[#]: subject: "What's new in GNOME 44?"
|
||||
[#]: via: "https://opensource.com/article/23/4/linux-gnome-44-features"
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "ChatGPT"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15770-1.html"
|
||||
|
||||
GNOME 44 发布后的对该团队采访
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> GNOME Linux 桌面环境的最新版本现已推出。了解 GNOME 44 中新的和改进的蓝牙、用户界面、应用程序和其他功能。
|
||||
|
||||
我在家使用的 Linux PC 上采用 GNOME 作为我主要的桌面环境。GNOME 提供了方便易用的图形化桌面,不仅具备我所需的灵活性,而且在我专注工作时不会妨碍我的操作。
|
||||
|
||||
最近 GNOME 发布了 GNOME 44,引入了许多新功能。我联系了 GNOME 团队,咨询了最新版本的新特性和改进。以下是品牌经理 Caroline Henriksen、GNOME 开发者和发布团队成员 Matthias Clasen,以及设计团队成员 Allan Day 分享的信息。
|
||||
|
||||
### GNOME 的新特性
|
||||
|
||||
**Jim Hall:** 在 GNOME 44 中,有哪些令你们最为兴奋的新功能和更新的功能?
|
||||
|
||||
**GNOME 团队:** 我们非常期待全新的、现代化的用户界面设计,这不仅体现在核心应用如 “<ruby>[文件][1]<rt>Files</rt></ruby>”应用(文件管理器,即 Nautilus),还包括 “<ruby>设置<rt>Settings</rt></ruby>” 应用,在上一个开发循环中我们对其中的很多面板做了大量改进。如果你有机会,欢迎试用全新的 “<ruby>鼠标和触控板<rt>Mouse & Touchpad</rt></ruby>” 设置面板,享受其中的动态插图。
|
||||
|
||||
GNOME 44 中有很多让人惊喜的功能。比如,文件选择器中全新的网格视图一定会让很多人感到惊喜,同时你也可以通过快速设置中的全新蓝牙菜单轻松地连接设备。
|
||||
|
||||
**Jim**:发布说明提到了 GNOME Circle,同时增加了几个新应用程序。请问 GNOME Circle 是什么?
|
||||
|
||||
**团队**:GNOME Circle 是一组优秀的应用程序,它们使用了 GNOME 平台。GNOME Circle 是 GNOME 推广使用我们技术的最佳应用程序,并支持应用程序开发人员的一个项目。
|
||||
|
||||
为了被纳入 GNOME Circle,一个应用程序必须满足一组要求。一旦满足要求,开发人员就可以获得额外的公众宣传、GNOME 基金会会员资格,以及访问其他基础设施和旅行赞助支持。有关详细信息和如何申请,请参阅 [GNOME Circle][2] 页面。
|
||||
|
||||
我们非常高兴看到 GNOME Circle 取得了巨大的成功。目前,它已经包含了超过 50 个应用程序!我特别喜欢其中不是所有的应用程序都与计算机有关,你可以找到健康跟踪器、节拍器或象棋钟等应用程序。
|
||||
|
||||
**Jim**:GNOME 是几个 Linux 发行版的标准桌面环境。我们可以在哪里看到 GNOME 44?
|
||||
|
||||
**团队**:已经发布的 Fedora 38 版本包含 GNOME 44。Ubuntu 23.04 也包含 GNOME 44。而且,GNOME 44 构建已经在一些主要的发行版中出现,例如 openSUSE 的 Tumbleweed 和 MicroOS 等。
|
||||
|
||||
### GNOME 社区
|
||||
|
||||
**Jim:** GNOME 44 的发布名称是 Kuala Lumpur,请问这个名字的来源是什么?
|
||||
|
||||
**团队:** GNOME 每年都有两个重要的大型会议,[GUADEC][3] 是在年中举办的(下一届会议将于 2023 年 7 月在拉脱维亚举行),[GNOME Asia][4] 则在年末举行。我们非常感谢马来西亚的本地团队在 <ruby>吉隆坡<rt>Kuala Lumpur</rt></ruby> 为我们举办 2022 年的 GNOME Asia 活动。
|
||||
|
||||
组织这些活动需要 GNOME 的工作人员和当地团队投入大量的精力和承诺。作为对他们的感激之意,我们会将 GNOME 的发布版本以最近大会的地点命名。这个命名方案是几年前引入的。GNOME 3.18 的发布名称 <ruby>哥德堡<rt>Gothenburg</rt></ruby> 就是第一个采用这种方式命名的版本。
|
||||
|
||||
**Jim:** GNOME 拥有一个充满活力的用户社区,有很多积极的成员。那么,GNOME 是如何保持社区的积极参与的呢?
|
||||
|
||||
**团队:** GNOME 一直以来都是一个以社区为驱动的项目,具有强烈的协作和包容性。这也是成为 GNOME 贡献者和用户的回报之一。成为 GNOME 社区的一员,意味着你可以与来自全世界的人进行互动,共同实现目标并交流想法。这是一种丰富而鼓舞人心的体验,这也是我们的社区保持热情和积极性的原因之一。
|
||||
|
||||
我们提高社区参与度的一个重要手段是,尽可能地满足社区用户的需求,使我们的活动对世界各地的人来说更易于参加。例如,我们的旗舰会议 GUADEC 去年在墨西哥的 <ruby>瓜达拉哈拉<rt>Guadalajara</rt></ruby> 举行,这是自欧洲以外的地方举办的第一个 GUADEC 会议,这有助于增加拉丁美洲的 GNOME 用户和贡献者的参与度。
|
||||
|
||||
此外,我们还努力不仅在我们自己的会议和活动中,而且在其他活动如 Linux Application Summit、FOSDEM 或 [SCaLE][5] 中与我们的社区成员见面。如果你在这些活动中看到 GNOME 的展台,请过来打个招呼。通常你会发现,开发人员、设计师、基金会工作人员以及理事会成员都很乐意聊天和回答问题。
|
||||
|
||||
### 如何参与 GNOME
|
||||
|
||||
**Jim:** 如何开始编写自己的 GNOME 应用程序呢?如果我想学习如何编写我的第一个 GNOME “Hello World” 应用程序,有没有可以供我参考的教程?
|
||||
|
||||
**团队:** [开始为 GNOME 开发应用程序][6] 网站包括一系列教程,其中包括快速创建你的第一个应用程序的指南。随着 [Flatpak][7] 和 GNOME Builder 等新技术的出现,如今创建自己的应用程序变得非常容易。打开 Builder,单击 “<ruby>新项目<rt>new project</rt></ruby>”,填写一些细节,就可以拥有自己的运行中的 GNOME 应用程序。确实如此简单。
|
||||
|
||||
**Jim:** 参与者可以通过哪些方式做出贡献呢?
|
||||
|
||||
**团队:** 如果有人对 GNOME 产生了兴趣,并有动力参与其中,那么他们可以做很多事情来帮助我们。如果你是初学者,参与我们 Discourse 实例上的讨论或报告问题是一个很好的开始。还有很多非技术性工作需要完成,比如帮助我们的文档、将 GNOME 翻译成不同的语言,甚至帮助组织我们的年度会议。许多这些活动都有友好的团队进行协作,他们会帮助你入门。
|
||||
|
||||
或者,如果你有编码经验,你可以浏览我们的 [“新手”任务][8],寻找你感兴趣的任务。
|
||||
|
||||
另一个贡献的方式是通过对 GNOME 的 [捐赠][9]。作为一个开源项目和非营利基金会,定期的捐赠可以帮助我们继续建设 GNOME,提供必要的基础设施,以及支持新的倡议。
|
||||
|
||||
*(题图:MJ/addea707-a20a-4469-9131-cf958b942e7b)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/4/linux-gnome-44-features
|
||||
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][b]
|
||||
译者:ChatGPT
|
||||
校对:[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/lkxed/
|
||||
[1]: https://opensource.com/article/22/12/linux-file-manager-gnome
|
||||
[2]: https://circle.gnome.org/
|
||||
[3]: https://events.gnome.org/event/101/
|
||||
[4]: https://events.gnome.org/event/100/
|
||||
[5]: https://opensource.com/tags/scale
|
||||
[6]: https://developer.gnome.org/
|
||||
[7]: https://opensource.com/article/21/5/launch-flatpaks-linux-terminal
|
||||
[8]: https://gitlab.gnome.org/dashboard/issues?scope=all&state=opened&label_name%5B%5D=4.%20Newcomers
|
||||
[9]: https://www.gnome.org/donate/
|
||||
[10]: https://opensource.com/downloads/installing-linux-applications-ebook?intcmp=7013a000002qLH8AAM
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/01/123305bbbnaurqmxquxjmw.png
|
@ -0,0 +1,96 @@
|
||||
[#]: subject: "Opera's New Redesigned Web Browser is Also Available on Linux"
|
||||
[#]: via: "https://news.itsfoss.com/opera-one-browser/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15779-1.html"
|
||||
|
||||
Opera 重新设计的全新网页浏览器也可在 Linux 上使用了!
|
||||
======
|
||||
|
||||
> 对对对,这不是一个自由和开源软件,但拥有另一个可用于 Linux,且功能丰富的浏览器也不是一件坏事嘛。
|
||||
|
||||
![opera one 浏览器][1]
|
||||
|
||||
Opera 是一个以 Chromium 为核心的跨平台网站浏览器。
|
||||
|
||||
它以其独特的功能和制作精良的界面与其他基于 Chromium 的浏览器区分开来。别忘了它的游戏浏览器 [Opera GX][2],它也是其独特的产品之一,可以作为在 Linux 上首次亮相的卖点。
|
||||
|
||||
在最新发布的公告中,Opera 的团队**介绍了这个颇受欢迎的网页浏览器的最新进化版本**,即**Opera One**。
|
||||
|
||||
> ✋ Opera One 不是开源网络浏览器。我们在这里介绍它是因为它在 Linux 上使用。
|
||||
|
||||
### 它是什么?
|
||||
|
||||
“**Opera One**” 是它的名字,它对原版进行完全重新设计,**旨在逐步淘汰现有的 Opera 浏览器**,其浏览器的整体设计采用模块化方法。
|
||||
|
||||
![opera one 的截图][3]
|
||||
|
||||
为实现这一目标,这次重新设计**采用了一个新的多线程合成器**,使 Opera One 的界面更加灵活。
|
||||
|
||||
> 📋 Opera One 目前仅提供开发者预览版。稳定版本的出现还需要再等几个月。
|
||||
|
||||
### 它是如何运作的?
|
||||
|
||||
它通过将任务卸载到专用的合成器线程来更有效地处理用户界面,类似于网页渲染器的工作方式。
|
||||
|
||||
此外,他们已经切换到基于图层的动画,绕过了涉及用户界面线程的需要,从而带来更流畅的浏览体验。
|
||||
|
||||
这个新特点很酷,值得被更多的浏览器采用。你可以在 Opera 的 [博客][4] 上阅读有关其技术细节的更多信息。
|
||||
|
||||
### 那么,这对 Opera One 有何帮助
|
||||
|
||||
首先,图形密集型网站将比以前运行得更流畅,不会出现被其他浏览器进程的滞后或中断。
|
||||
|
||||
其次是模块化功能的实现。
|
||||
|
||||
本次发布引入的其中一个特色功能是“<ruby>标签岛<rt>Tab Islands</rt></ruby>”功能,它可以自动对相关标签进行分组。标签岛用彩色丝带区分,单击时展开。
|
||||
|
||||
![这就是 Opera One][5]
|
||||
|
||||
在我看来,它的设计确实看起来很整洁。
|
||||
|
||||
**当我在我的 Linux 系统上测试它时**,它似乎没有自动分类标签岛;我必须通过按住 `Ctrl` 键并右键单击标签页来手动创建标签岛。
|
||||
|
||||
![opera one 中标签岛功能的屏幕截图][6]
|
||||
|
||||
提个醒 —— 我测试的是**早期开发者预览版**,所以这个问题应该会在正式发布时得到修复。
|
||||
|
||||
Opera 还透露了集成内部 AI 引擎的计划,该引擎将在未来几个月内随 Opera One 一起面世。
|
||||
|
||||
你可以浏览 Opera 的 [公告博客][7] 进行深入了解。
|
||||
|
||||
### 现在就试试
|
||||
|
||||
你是不是迫不及待地想在实际发布之前试一下? 来吧,你可以前往 [官方网站][8] 获取你想要的预览包。
|
||||
|
||||
Opera One 适用于 **Linux**、**Windows** 和 **macOS**。
|
||||
|
||||
> **[Opera One][8]**
|
||||
|
||||
Opera One 似乎有意与功能丰富的 [Vivaldi][9] 进行竞争,提供类似但存在一些差异的产品。让我们拭目以待结果吧。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/opera-one-browser/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/opera-one-release.jpg
|
||||
[2]: https://itsfoss.com/best-browsers-ubuntu-linux/?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/content/images/2023/04/Opera-One.jpg
|
||||
[4]: https://blogs.opera.com/desktop/2023/04/opera-one-multithreaded-compositor/?ref=news.itsfoss.com
|
||||
[5]: https://youtu.be/hCUnlkfDOWI
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/Opera-One_2.jpg
|
||||
[7]: https://blogs.opera.com/news/2023/04/opera-one-developer/?ref=news.itsfoss.com
|
||||
[8]: https://www.opera.com/one?ref=news.itsfoss.com
|
||||
[9]: https://news.itsfoss.com/vivaldi-6-0/
|
144
published/20230428.0 ⭐️⭐️ 7 Super Lightweight Linux Distros.md
Normal file
144
published/20230428.0 ⭐️⭐️ 7 Super Lightweight Linux Distros.md
Normal file
@ -0,0 +1,144 @@
|
||||
[#]: subject: "7 Super Lightweight Linux Distros"
|
||||
[#]: via: "https://itsfoss.com/super-lightweight-distros/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15799-1.html"
|
||||
|
||||
7 个超轻量级 Linux 发行版
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 值得试一试这些超级小的、轻量级的 Linux 发行版。
|
||||
|
||||
Linux 发行版的多样性不是缺点,而是有益的特性。
|
||||
|
||||
无论你的需求是在旧硬件或者存储空间有限的系统上运行 Linux,还是需要占用最少磁盘空间同时又能处理特定任务,在这里都可以找到适合你的选项。
|
||||
|
||||
因此,让我重点介绍一些用于此类场景的超轻量级 Linux 发行版。
|
||||
|
||||
> 📋 需要注意的是,对系统要求较低和占用存储空间较小的发行版可能无法为所有人提供便利的桌面体验,你可能需要做一些调整。
|
||||
|
||||
### 1、Tiny Core
|
||||
|
||||
![Tiny Core][1]
|
||||
|
||||
[Tiny Core][2],又名 The Core x86 Project,是一款模块化的 Linux 发行版,提供了几种变体的超小型 ISO 文件。
|
||||
|
||||
其中最小的是 “**Core**” 版(**17 MB**),只提供命令行界面和一些工具,没有任何图形桌面环境。其次是 **TinyCore**(**23 MB**),它包括基本系统和图形桌面环境的 GUI 扩展。
|
||||
|
||||
最后一个,**CorePlus ISO**(**248 MB**)是为新用户量身定制的,它支持无线网络、提供可选的多种窗口管理器,以及一些来帮助安装发行版的其他 GUI 工具。
|
||||
|
||||
该发行版的大小多年来一直在增长。但是,它仍然令人印象深刻。
|
||||
|
||||
### 2、Puppy Linux
|
||||
|
||||
![Puppy Linux][3]
|
||||
|
||||
[Puppy Linux][4] 是一个因其文件大小极小和易用性而广受欢迎的 Linux 发行版。它是本列表中最古老的选项,起源可以追溯到 **2003** 年。
|
||||
|
||||
其 ISO 文件大小为 300-400 MB,具体取决于你选择的变体。
|
||||
|
||||
是的,Puppy Linux 不是单个 Linux 发行版。该项目使用其他发行版,并使用其系统构建器重建它们,添加其应用并进行配置,以使 ISO 最终的大小通常小于 500 MB。
|
||||
|
||||
你能找到 **Ubuntu、Raspbian 和 Slackware 的 Puppy Linux 变体,包括 32 位和 64 位版本。**
|
||||
|
||||
### 3、SliTaz
|
||||
|
||||
![SliTaz][5]
|
||||
|
||||
[SliTaz][6] 是一款有趣的 [滚动发布的发行版][7],提供了所有必要的内容,以获得可用的桌面体验。
|
||||
|
||||
而所有这些都放在只有 **43MB** 的 ISO 中。令人惊讶,对吧!与 TinyCore 不同,你可以得到图形用户界面,同时节省大量存储空间。
|
||||
|
||||
SliTaz 完全是从头开始构建的,因此它一款独立发行版。它可能不适合初学者,但它确实包含一些实用程序,可帮助你安装必备软件,并以最小的学习曲线入门。
|
||||
|
||||
### 4、Bodhi Linux
|
||||
|
||||
![Bodhi Linux][8]
|
||||
|
||||
[Bodhi Linux][9] 是基于 Ubuntu 的流行的 [轻量级 Linux 发行版][10] 之一。如果你想要一个轻量级的选择和便捷的用户体验,搭载 Moksha 桌面的 Bodhi Linux 就是答案。
|
||||
|
||||
其 ISO 文件的大小小于 900 MB。因此,是的,它可能不是各种替代方案中最轻量级的,但如果你不想牺牲使用体验,那么选择它一定不会错。
|
||||
|
||||
### 5、AntiX Linux
|
||||
|
||||
![AntiX Linux][11]
|
||||
|
||||
[AntiX Linux][12] 基于 Debian 稳定分支构建。它是 [支持 32 位系统的发行版][13] 之一。
|
||||
|
||||
它提供了多个变体,包括:**Full、Base、Core 和 net**。Full 版略大于 1GB,包含许多预装的应用。带有 GUI(窗口管理器)的 Base 大约为 800 MB。
|
||||
|
||||
其他版本不提供 GUI,ISO 文件小于 500 MB。
|
||||
|
||||
如果你不知道,AntiX Linux 支持两种不同的初始化系统 SysVinit 或 runit。因此,AntiX Linux 也是 [无 Systemd 发行版][14] 之一。
|
||||
|
||||
### 6、Porteus Linux
|
||||
|
||||
![Porteus Linux][15]
|
||||
|
||||
[Porteus Linux][16] 是一款针对最小硬件优化的发行版,其 ISO 镜像大小不到 300 MB。
|
||||
|
||||
它支持 32 位和 64 位系统。Porteus 基于 Slackware,提供了两个版本,一个用于桌面,另一个用于信息亭(网络终端)。
|
||||
|
||||
你可以使用 Porteus 携带的多种桌面环境,包括 GNOME 和 KDE,在这么小的包中获得熟悉的桌面体验。
|
||||
|
||||
### 7、ArchBang Linux
|
||||
|
||||
![ArchBang Linux][17]
|
||||
|
||||
[ArchBang][18] 是一款基于 Arch 的发行版,它使用 i3 窗口管理器,不到 1GB ISO 文件提供了轻量级体验。
|
||||
|
||||
如果您想使用一种带有某些额外便利的极简 Arch Linux 体验,那么 ArchBang 是一个不错的选择。
|
||||
|
||||
你可以参照我们的 [ArchBang 安装指南][19] 开始使用。
|
||||
|
||||
此外,如果你想自定义 ArchBang Linux 的外观,可以参考我们的 [i3 自定义指南][20]。
|
||||
|
||||
### 节省你的系统资源以获得快速体验
|
||||
|
||||
如果你想节省系统资源并仍然能够执行基本任务,那么这些发行版是你安装的最佳选择。
|
||||
|
||||
考虑到缺少预安装的应用和实用程序,你可能无法在其中一些发行版上完成所有操作。但是,我们精心挑选的选择应该可以为你提供可用的桌面体验。
|
||||
|
||||
你曾经使用过这些发行版么?你的使用经验如何?
|
||||
|
||||
*(题图:MJ/3605b6f0-811f-419a-b3b8-9da0046586b3)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/super-lightweight-distros/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://itsfoss.com/content/images/2023/04/tiny-core-linux.png
|
||||
[2]: http://tinycorelinux.net/?ref=itsfoss.com
|
||||
[3]: https://itsfoss.com/content/images/2023/04/puppy-linux.jpg
|
||||
[4]: https://puppylinux-woof-ce.github.io/?ref=itsfoss.com
|
||||
[5]: https://itsfoss.com/content/images/2023/04/slitaz.jpg
|
||||
[6]: https://www.slitaz.org/en/?ref=itsfoss.com
|
||||
[7]: https://itsfoss.com/rolling-release/
|
||||
[8]: https://itsfoss.com/content/images/2023/04/bodhi-linux-6.jpg
|
||||
[9]: https://www.bodhilinux.com/?ref=itsfoss.com
|
||||
[10]: https://itsfoss.com/lightweight-linux-beginners/
|
||||
[11]: https://itsfoss.com/content/images/2023/04/antix.jpg
|
||||
[12]: https://antixlinux.com/?ref=itsfoss.com
|
||||
[13]: https://itsfoss.com/32-bit-linux-distributions/
|
||||
[14]: https://itsfoss.com/systemd-free-distros/
|
||||
[15]: https://itsfoss.com/content/images/2023/04/porteus-linux.jpg
|
||||
[16]: http://www.porteus.org/?ref=itsfoss.com
|
||||
[17]: https://itsfoss.com/content/images/2023/04/archbang-linux.jpg
|
||||
[18]: https://archbang.org/?ref=itsfoss.com
|
||||
[19]: https://itsfoss.com/install-archbang/
|
||||
[20]: https://itsfoss.com/i3-customization/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/10/173608qso93mg46s8c5zgf.png
|
@ -0,0 +1,136 @@
|
||||
[#]: subject: "Debian 12 'Bookworm' New Features and Release Date"
|
||||
[#]: via: "https://news.itsfoss.com/debian-12-features/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "chris000132"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15776-1.html"
|
||||
|
||||
Debian 12 “Bookworm” 的新特性和发布日期
|
||||
======
|
||||
|
||||
> Debian 12 即将发布。了解一下更多关于其新特性和发布日期的相关信息。
|
||||
|
||||
![debian 12][1]
|
||||
|
||||
Debian 即将发布系统代号为 “<ruby>书虫<rt>Bookworm</rt></ruby>” 的新版本。与 [Debian 11 “Bullseye”][2] 相比,有许多改进和新功能。
|
||||
|
||||
Debian 12 “Bookworm” **包含了超过 11200 个新软件包**,软件包总数 **超过了 59000 个**!
|
||||
|
||||
Debian 所包含的大多数软件都已更新,**超过 9500 个软件包** 因陈旧或过时而被删除。
|
||||
|
||||
你期盼吗?让我们来看看 Debian 12 的新内容。
|
||||
|
||||
> 💡 除非有任何意外的延误,Debian 12 的发布日期 [已经确定][3] 为 **2023 年 6 月 10 日**。
|
||||
|
||||
### 1、更新的安装程序
|
||||
|
||||
![Debian 12 更新的安装程序的屏幕截图][4]
|
||||
|
||||
Debian 的安装程序得到了一些改进,从而改善了硬件支持,并带来一些令人兴奋的新功能。
|
||||
|
||||
例如,改进了对硬件专有固件(非自由软件)的处理,现在已经可以直接从安装程序中加载此类固件。
|
||||
|
||||
这要归功于 **Debian APT 2.6** 的加入,它允许在 Debian 上更好地处理非自由固件。
|
||||
|
||||
![Debian 12 上软件包管理器配置的截图][5]
|
||||
|
||||
因此,现在当确定需要非自由固件二进制文件时,将默认启用这些文件。
|
||||
|
||||
这些变化将使得其**更好地支持在非自由固件上运行的各种硬件**, 特别是显卡和无线网卡控制器。
|
||||
|
||||
### 2、Linux 内核 6.1
|
||||
|
||||
![在 Debian 12 上的 neofetch 输出的屏幕截图][6]
|
||||
|
||||
Debian 12 “Bookworm” 由 [最近获得 LTS 批准的][7] Linux 内核 6.1 驱动,该内核具有**对 Rust 的实验性支持**、**对英特尔 Meteor Lake 的支持**、**对 ARM SoC 的改进支持**等等。
|
||||
|
||||
你可能想通过我们的报道来深入了解:
|
||||
|
||||
> **[Linux 内核 6.1 发布,包含初始 Rust 代码][7a]**
|
||||
|
||||
### 3、更新的软件套件
|
||||
|
||||
这个 Debian 版本还提供了一套更新的软件,包括:
|
||||
|
||||
- GNOME 43
|
||||
- KDE Plasma 5.27
|
||||
- Xfce 4.18
|
||||
- LXDE 11
|
||||
- LXQt 1.2.0
|
||||
- MATE 1.26
|
||||
- LibreOffice 7.4
|
||||
- Inkscape 1.2.2
|
||||
- GIMP 2.10.34
|
||||
- Vim 9.0
|
||||
|
||||
> 📋 因为 [GNOME 44][8] 是在三月底发布的,由于日程冲突,它无法进入 Debian 12。
|
||||
|
||||
桌面环境的升级听起来不错,除此之外还有必要的应用程序更新。
|
||||
|
||||
### 4、默认的 PipeWire
|
||||
|
||||
![在 Debian 12 上的 Pipewire 版本的屏幕截图][9]
|
||||
|
||||
对于 [PipeWire][10] 支持者来说是个好消息!
|
||||
|
||||
Debian 12 现在与其他领先的发行版,如 Ubuntu、Fedora、Pop!_OS 等看齐,提供对 PipeWire 的开箱即用支持。
|
||||
|
||||
它取代了老旧的 [PulseAudio][11],整个系统的音频和视频处理性能得到极大的改善。
|
||||
|
||||
### 5、新壁纸
|
||||
|
||||
![Debian 12 上的新壁纸截图][12]
|
||||
|
||||
每个新的 Debian 版本都会带来新的壁纸和主题更新。
|
||||
|
||||
新壁纸被称为 “Emerald”,这是一种看起来非常干净的艺术作品风格,似乎在说明宝石的特性,“优雅的抛光和凿刻”。
|
||||
|
||||
如上面的截图所示,默认主题、安装程序的横幅等都采用了这种艺术作品风格。
|
||||
|
||||
你可以查看 Emerald [图集][13],以了解更多。
|
||||
|
||||
### 🛠️ 其他更改和提高
|
||||
|
||||
上面提到的并不是唯一的变化,下面同样是一些值得一提的变化:
|
||||
|
||||
- 非自由固件包现在由存档区的一个名为 `non-free-firmware` 的专门组件处理。
|
||||
- 基于 Go 的软件包具有有限的安全支持。
|
||||
- 超过 9519 个软件包被移除,因为它们是过时的。
|
||||
- Debian 12 现在可以在双启动设置中检测到 Windows 11。
|
||||
- 增加了对新的 ARM 设备的支持。
|
||||
|
||||
所以,总结一下:
|
||||
|
||||
这个版本的 Debian 打造的相当好,有许多改进和功能的增加。
|
||||
|
||||
你对 Debian 12 有什么期待?请在下面的评论中分享你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/debian-12-features/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[chris000132](https://github.com/chris000132)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/debian-12-new-features.png
|
||||
[2]: https://news.itsfoss.com/debian-11-feature/
|
||||
[3]: https://lists.debian.org/debian-devel-announce/2023/04/msg00007.html?ref=news.itsfoss.com
|
||||
[4]: https://news.itsfoss.com/content/images/2023/04/Debian_12_F_1.png
|
||||
[5]: https://news.itsfoss.com/content/images/2023/04/Debian_12_F_2.png
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/Debian_12_F_3.png
|
||||
[7]: https://news.itsfoss.com/linux-kernel-6-1-is-now-an-lts-version/
|
||||
[7a]: https://news.itsfoss.com/linux-kernel-6-1-release/
|
||||
[8]: https://news.itsfoss.com/gnome-44-release/
|
||||
[9]: https://news.itsfoss.com/content/images/2023/04/Debian_12_F_4.png
|
||||
[10]: https://pipewire.org/?ref=news.itsfoss.com
|
||||
[11]: https://en.wikipedia.org/wiki/PulseAudio?ref=news.itsfoss.com
|
||||
[12]: https://news.itsfoss.com/content/images/2023/04/Debian_12_F_5.png
|
||||
[13]: https://wiki.debian.org/DebianArt/Themes/Emerald?ref=news.itsfoss.com
|
204
published/20230430.1 ⭐️⭐️ 11 Ways to Improve Your Privacy.md
Normal file
204
published/20230430.1 ⭐️⭐️ 11 Ways to Improve Your Privacy.md
Normal file
@ -0,0 +1,204 @@
|
||||
[#]: subject: "11 Ways to Improve Your Privacy"
|
||||
[#]: via: "https://itsfoss.com/improve-privacy/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "Dangal2018"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15796-1.html"
|
||||
|
||||
11 种提高隐私保护的方法
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 不管你是否使用 Linux,都可以采用以下提示来提高在线隐私保护水平,为安全保障带来最佳表现!
|
||||
|
||||
渐渐地,用户转向注重隐私,而非便利的解决方案。
|
||||
|
||||
为什么?简单来说就是,越来越多的人意识到他们个人数据的价值。
|
||||
|
||||
当然,保护隐私并不意味着保持匿名。而是你不会向未经授权的第三方共享重要信息,同时保护个人敏感数据的隐私。
|
||||
|
||||
你可以在你使用的各种设备上改善隐私水平。以下是一些行之有效的增强隐私的方法。
|
||||
|
||||
> 📋 以下方法不只限于 Linux 系统,其它各种设备和操作系统同样适用。你不需要必须遵循每一条。这些只是提供的建议。看看哪些方法适合你。
|
||||
|
||||
### 1、保护和隐藏你的电子邮件
|
||||
|
||||
你的电子邮件会出现在包括从银行到云存储平台等各种在线平台中。
|
||||
|
||||
如果你的电子邮件保持私密,你将会收到更少的垃圾邮件和更少的企图接管你的帐户或欺骗你从电子邮件中下载恶意文件的恶意链接。
|
||||
|
||||
我想你明白我的意思🙃
|
||||
|
||||
但是,你通常会和每一个你使用的重要应用/服务共享你的电子邮箱地址。
|
||||
|
||||
**那么,如何才能做到不共享邮箱也能使用这些应用/服务呢?**
|
||||
|
||||
你可以使用**电子邮件别名**来保持你的实际电子邮件地址的私密性。我们提供了 [一系列工具来帮助你保护电子邮件地址][1]。选择任何一个,如 SimpleLogin,或使用你的电子邮件提供商允许创建的电子邮件别名地址。
|
||||
|
||||
此外,尝试使用 Tutanota 或 [ProtonMail][3] 等 [安全电子邮件服务][2] 以获得最佳体验。
|
||||
|
||||
> 📋 本文包括受益链接,如果你购买 Proton VPN 等某些服务,这些链接会给原文作者一小笔佣金,但不会额外收取你的费用。
|
||||
|
||||
### 2、保护你的互联网
|
||||
|
||||
如果你的互联网连接是暴露的或不安全的,攻击者可以窥探你的网络活动,并可能使用它来获取重要信息或影响你的设备数据。
|
||||
|
||||
因此,确保你的互联网安全至关重要。
|
||||
|
||||
为此,你可以执行以下操作:
|
||||
|
||||
- 使用安全或加密的 DNS,如 [NextDNS][4] 或 [ControlD][5]
|
||||
- 使用 VPN 加密你的互联网连接
|
||||
|
||||
[ProtonVPN][6] 和 Mullvad VPN 将是两个很好的选择,提供开源的客户端和 Linux 支持。
|
||||
|
||||
### 3、保护你的搜索行为
|
||||
|
||||
每个人都利用搜索引擎来查找他们需要的内容。
|
||||
|
||||
大多数人会选择谷歌,到目前为止,它是地球上最受欢迎的网站。
|
||||
|
||||
但是,它会收集你的一些数据以提高其可搜索可用性,并且还可能根据你的喜好和其他因素个性化搜索结果。
|
||||
|
||||
如果你想要完全私密的搜索体验和非个性化结果,[隐私友好的搜索引擎][7] 应该会有所帮助。
|
||||
|
||||
### 4、使用注重隐私的浏览器
|
||||
|
||||
就像你使用搜索引擎一样,浏览器是交互过程的重要手段。
|
||||
|
||||
就个人而言,我向你推荐 Vivaldi、Firefox 和 Brave。如果你想了解更多,请查看我们的 Linux 最佳浏览器列表。
|
||||
|
||||
> **[10 个最佳的支持 Linux 的浏览器][8]**
|
||||
|
||||
### 5、不要安装未知程序
|
||||
|
||||
无论你使用 Linux 还是任何其他操作系统,都不应安装未知的应用。并非所有程序都有隐私保护。
|
||||
|
||||
有些根本不收集任何数据,有些则会收集。
|
||||
|
||||
在选择要安装新的软件之前,你可以寻找绿色软件特征。其中包括:
|
||||
|
||||
- 它有大量的用户(不仅仅是新用户)。
|
||||
- 它非常受欢迎。
|
||||
- 它是开源的,并且具有稳定的版本。
|
||||
|
||||
还有一些值得你注意的点:
|
||||
|
||||
- 即使该软件是专有的, 你也应该查看其受欢迎程度和隐私政策。
|
||||
- 通常,最好避免使用新的软件工具。
|
||||
- 请勿下载未验证的电子邮件附件。
|
||||
- 从其官方渠道下载软件。不要使用第三方分发网站下载软件包,除非官方推荐。
|
||||
|
||||
### 6、设置所有隐私调整选项
|
||||
|
||||
你使用的每个应用程序、每个操作系统和每项服务都提供一定程度的隐私控制。
|
||||
|
||||
例如,你可以向公众隐藏你的 Instagram 帐户,并且只对你想分享的人和关注者开放。
|
||||
|
||||
我建议你点开手机、Linux 桌面和其他应用的“隐私设置”页面。
|
||||
|
||||
![Ubuntu Linux 上的隐私设置][9]
|
||||
|
||||
它可以是各种形式,删除旧文件、禁用诊断信息共享等。如果你觉得可行,请使用可用的选项来获得你的最佳体验。
|
||||
|
||||
### 7、使用安全的密码管理器
|
||||
|
||||
密码和凭据是一切的核心。如果你需要确保它们受到良好的保护和组织,请使用优秀的密码管理器。
|
||||
|
||||
我通常为所有类型的用户推荐 [Bitwarden][10] 和 KeePassXC。
|
||||
|
||||
如果你更想要离线使用,[KeePassXC][11] 可以跨平台使用。如果你想要基于云的解决方案,Bitwarden 不失为一个好选择。
|
||||
|
||||
你还可以了解一些 [面向 Linux 用户的密码管理器][12]。
|
||||
|
||||
### 8、确保笔记安全
|
||||
|
||||
记录笔记对于很多人来说是一种习惯,这习惯可能好也可能不好。
|
||||
|
||||
为什么这么说呢?嗯,便签通常有敏感信息,有时是密码或 PIN。
|
||||
|
||||
所以,如果你确保你的笔记是安全的,这是提高隐私保护的最简单方法之一。
|
||||
|
||||
建议使用 [Standard Notes][13] 和 [CryptPad][14]。你可以了解一下具有端到端加密或各种功能的其它选择:
|
||||
|
||||
> **[想在 Linux 上寻找一些好的笔记应用程序][14a]**
|
||||
|
||||
### 9、在私有云平台上存储或备份
|
||||
|
||||
不是每个人都有时间或耐心来维护/配置 RAID 设置以在家中存储/备份数据。
|
||||
|
||||
因此,云存储服务是通用解决方案。
|
||||
|
||||
我个人的建议包括 [Mega][15](端到端加密)和 [pCloud][16]。你还可以查看我们的云存储服务清单以寻求更好的选择。
|
||||
|
||||
> **[10 个支持 Linux 的最好的免费云存储服务][17]**
|
||||
|
||||
此外,借助 [Cryptomator][18] 等解决方案,你可以在将文件上传到云之前对其进行加密。
|
||||
|
||||
### 10、使用私人通讯软件
|
||||
|
||||
你可以使用开源加密软件如 [Signal][19](跨平台)来保护你的通讯。
|
||||
|
||||
有 [多个 WhatsApp 替代品][20] 可供个人使用。
|
||||
|
||||
如果要商用,可以考虑 [开源的 Slack 替代方案][21]。
|
||||
|
||||
### 11、专用发行版
|
||||
|
||||
如果你对新鲜事物充满了兴趣,尝试量身定制的操作系统,比如 [Tails OS][22]、 [Whonix][23] 等。
|
||||
|
||||
这些系统有的会在你完成操作后立即清除你的活动记录,有的具有特殊的安全功能,完全能满足你的日常使用。
|
||||
|
||||
如果你感兴趣,可以试试 [注重隐私的 Linux 发行版][24]。
|
||||
|
||||
🤨 **仍然不知道该如何做?**
|
||||
|
||||
我有一篇专栏,列出了一些针对注重隐私的浏览器、VPN、通讯软件等。如果你无法决定要选择什么来掌控你的隐私,你可以随时参考它。
|
||||
|
||||
> **[12 个保护隐私的简单工具][24a]**
|
||||
|
||||
*(题图:MJ/b4ffbfa6-432b-4a15-adb9-d1089f20d4ab)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/improve-privacy/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[Dangal2018](https://github.com/Dangal2018)
|
||||
校对:[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/lkxed/
|
||||
[1]: https://itsfoss.com/protect-email-address/
|
||||
[2]: https://itsfoss.com/secure-private-email-services/
|
||||
[3]: https://itsfoss.click/protonmail?ref=itsfoss.com
|
||||
[4]: https://nextdns.io/?ref=itsfoss.com
|
||||
[5]: https://controld.com/?ref=itsfoss.com
|
||||
[6]: https://go.getproton.me/aff_c?offer_id=10&aff_id=1173&ref=news.itsfoss.com
|
||||
[7]: https://itsfoss.com/privacy-search-engines/
|
||||
[8]: https://itsfoss.com/best-browsers-ubuntu-linux/
|
||||
[9]: https://itsfoss.com/content/images/2023/04/ubuntu-privacy.png
|
||||
[10]: https://bitwarden.com/?ref=itsfoss.com
|
||||
[11]: https://keepassxc.org/?ref=itsfoss.com
|
||||
[12]: https://itsfoss.com/password-managers-linux/
|
||||
[13]: https://standardnotes.com/?ref=itsfoss.com
|
||||
[14]: https://cryptpad.fr/?ref=itsfoss.com
|
||||
[14a]: https://itsfoss.com/note-taking-apps-linux/
|
||||
[15]: https://mega.nz/aff=cGWF0mqjBJ0?ref=itsfoss.com
|
||||
[16]: https://partner.pcloud.com/r/1935?ref=itsfoss.com
|
||||
[17]: https://itsfoss.com/cloud-services-linux/
|
||||
[18]: https://cryptomator.org/?ref=itsfoss.com
|
||||
[19]: https://www.signal.org/?ref=itsfoss.com
|
||||
[20]: https://itsfoss.com/private-whatsapp-alternatives/
|
||||
[21]: https://itsfoss.com/open-source-slack-alternative/
|
||||
[22]: https://tails.boum.org/?ref=itsfoss.com
|
||||
[23]: https://www.whonix.org/?ref=itsfoss.com
|
||||
[24]: https://itsfoss.com/privacy-focused-linux-distributions/
|
||||
[24a]: https://itsfoss.com/privacy-tools
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/09/174056muoc1kxod3o8i3ou.png
|
@ -0,0 +1,85 @@
|
||||
[#]: subject: "Say Cheese to the Future: Snapshot is GNOME's Next-Gen Camera App"
|
||||
[#]: via: "https://news.itsfoss.com/gnome-snapshot/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "ChatGPT"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15789-1.html"
|
||||
|
||||
“茄子”的未来:GNOME 的下一代照相应用程序“快照”应用
|
||||
======
|
||||
|
||||
> GNOME 的下一代照相应用程序 “<ruby>快照<rt>Snapshot</rt></ruby>” 应用正式启用,用以替代现有的经典 “<ruby>茄子<rt>Cheese</rt></ruby>” 工具。
|
||||
|
||||
![GNOME Snapshot][1]
|
||||
|
||||
一个新的应用程序已被接受进入 [GNOME 的孵化器组][2]:“<ruby>快照<rt>Snapshot</rt></ruby>”。
|
||||
|
||||
“快照” 应用的第一个预览版本已经发布,这使它成为取代 “<ruby>[茄子][3]<rt>Cheese</rt></ruby>” 应用的卓越候选者,“茄子” 应用是 Linux 用户当前使用的 GNOME 网络摄像头应用程序。
|
||||
|
||||
让我们快速看一下它。
|
||||
|
||||
> 💡 “[孵化器][4]” 组包含那些将成为 GNOME 核心和 GNOME 开发工具一部分的项目,这意味着 **它可能会有一天被纳入 GNOME 的发布版本**。
|
||||
|
||||
### 🆕 “快照” 应用是什么?
|
||||
|
||||
![GNOME “快照” 应用程序的屏幕截图][5]
|
||||
|
||||
正如我前面提到的那样,它是 GNOME 的一款照相应用程序。它是使用内存安全的 Rust 编程语言编写的,提供了非常简洁的功能集。
|
||||
|
||||
“快照” 应用的用户界面非常简洁,既适用于移动设备,也适用于传统的桌面/笔记本电脑。
|
||||
|
||||
功能方面,它几乎拥有你对此类应用程序的所有期望。
|
||||
|
||||
它有一个 “倒计时” 功能,允许你设置拍照或录像的定时器,并提供几个计时选项。
|
||||
|
||||
![GNOME 快照应用程序上的倒计时计时器屏幕截图][6]
|
||||
|
||||
此外,你可以通过进入偏好设置菜单,在这个应用程序中禁用相机快门的声音。
|
||||
|
||||
![GNOME 快照应用程序的偏好设置菜单截图][7]
|
||||
|
||||
“快照” 应用程序还带有一个相当不错的画廊视图,让你查看拍摄的照片/视频,并使用不同的程序共享或访问它们。
|
||||
|
||||
**你觉得 “快照” 应用的功能很少吗?**
|
||||
|
||||
我不知道你怎么看,但我觉得很少。
|
||||
|
||||
不过,**有时候,简单更好**。对于 GNOME 应用程序来说,通常是这样。
|
||||
|
||||
它不会很快取代 GNOME 现有的相机应用程序 “[茄子][3]”。但随着开发的进展,他们可能会添加一些令人兴奋的功能。
|
||||
|
||||
如果想要了解更多信息,可以关注 [本周 GNOME][8] 博客以查看 “快照” 应用和其他 GNOME 应用程序的开发更新。
|
||||
|
||||
### 📥 获取 “快照” 应用
|
||||
|
||||
你可以从 [Flathub 商店][9] 获取该应用程序,并在 [GitLab][10] 上探索其源代码。
|
||||
|
||||
> **[Snapshot(Flathub)][9]**
|
||||
|
||||
💬 你觉得呢?“快照” 能否取代 “茄子” 成为你在 GNOME 上的默认相机应用程序?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/gnome-snapshot/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:ChatGPT
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/snapshot-gnome-app.jpg
|
||||
[2]: https://gitlab.gnome.org/Incubator/?ref=news.itsfoss.com
|
||||
[3]: https://wiki.gnome.org/Apps/Cheese?ref=news.itsfoss.com
|
||||
[4]: https://gitlab.gnome.org/Incubator?ref=news.itsfoss.com
|
||||
[5]: https://news.itsfoss.com/content/images/2023/05/Snapshot.png
|
||||
[6]: https://news.itsfoss.com/content/images/2023/05/Snapshot_2.png
|
||||
[7]: https://news.itsfoss.com/content/images/2023/05/Snapshot_3.png
|
||||
[8]: https://thisweek.gnome.org/posts/2023/04/twig-93/?ref=news.itsfoss.com
|
||||
[9]: https://flathub.org/apps/org.gnome.Snapshot?ref=news.itsfoss.com
|
||||
[10]: https://gitlab.gnome.org/Incubator/snapshot?ref=news.itsfoss.com
|
@ -0,0 +1,46 @@
|
||||
[#]: subject: "Ubuntu 23.10 Reveals Codename: “Mantic Minotaur”"
|
||||
[#]: via: "https://debugpointnews.com/ubuntu-23-10-codename/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15787-1.html"
|
||||
|
||||
Ubuntu 23.10公布代号:“Mantic Minotaur”
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Ubuntu 操作系统背后的团队已经公布了下一个版本的代号,令人兴奋的是,它是 “Mantic Minotaur”。
|
||||
|
||||
根据 Ubuntu 开发平台 [Launchpad][1] 的信息,Ubuntu 23.10 将被称为 “<ruby>Mantic Minotaur<rt>预言牛头怪</rt></ruby>”。虽然这个名称可能没有任何深层含义,但它确实听起来很不错。(LCTT 译注:尬吹)
|
||||
|
||||
这个名称由两个单词组成:“Mantic” 和 “Minotaur”。“Mantic” 指占卜或预言,而 “Minotaur” 是希腊神话中的半人半牛的生物。虽然这两个单词的组合可能没有任何隐藏的含义,但它确实是一个有趣的代号。
|
||||
|
||||
过去,Ubuntu 发行版的代号通常具有神秘的涵义,或传递着版本发布的某种特定信息。然而,最近的几个版本的代号变得更加轻松、有趣和古怪。从“<ruby>Disco Dingo<rt>迪斯科丁格狗</rt></ruby>”到“<ruby>Hirsute Hippo<rt>有长发的河马</rt></ruby>”,这些代号之所以被选择,是因为它们有趣而好玩。
|
||||
|
||||
虽然“Mantic Minotaur”可能不符合哺乳类动物作为 Linux 发行版的吉祥物的模式,但并不是第一个用作 Ubuntu 发行版代号的神话生物。在过去,该团队也曾使用过一些其他的神话生物作为代号,例如“<ruby>Wily Werewolf<rt>狡猾的狼人</rt></ruby>”和“<ruby>Jaunty Jackalope<rt>神奇的沙漠兔角兽</rt></ruby>”。
|
||||
|
||||
Ubuntu 23.10 的预计发布日期为 2023 年 10 月 12 日。虽然该团队尚未透露该版本具体的更新内容,但我们可以猜测该版本将包含一个新的 Linux 内核和更新的图形驱动程序。此外,我们也可以期待看到 GNOME 45 和基于 Flutter 的安装程序进一步开发的草稿。
|
||||
|
||||
你对新的代号有什么想法?你对即将到来的版本有什么期待?请在评论中与我们分享。
|
||||
|
||||
*(题图:MJ:/38b23fa4-f583-4b14-9b9e-478790bbdb49)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/ubuntu-23-10-codename/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://launchpad.net/ubuntu/mantic
|
||||
[2]: https://floss.social/@debugpoint
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/06/151935lgptoqovxwmmtvrk.png
|
@ -0,0 +1,149 @@
|
||||
[#]: subject: "How to Install FreeIPA Client on RHEL | Rocky Linux | AlmaLinux"
|
||||
[#]: via: "https://www.linuxtechi.com/install-freeipa-client-on-rhel-rockylinux-almalinux/"
|
||||
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15806-1.html"
|
||||
|
||||
如何在 RHEL 8 上安装 FreeIPA 客户端
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> 在本文中,我们将向你展示如何在 RHEL、Rocky Linux 或 AlmaLinux 上安装和配置 FreeIPA 客户端。
|
||||
|
||||
为了演示,我们在 RHEL 系统上集成了 [FreeIPA 服务器][6],使用 FreeIPA 进行集中认证。
|
||||
|
||||
FreeIPA 服务器是一个开源的身份管理解决方案,为 Linux 系统提供集中的身份验证、授权和帐户信息。
|
||||
|
||||
### 先决条件
|
||||
|
||||
- 已预装 RHEL 9/8 或 Rocky Linux 9/8 或 AlmaLinux 9/8
|
||||
- 具有 sudo 权限的普通用户
|
||||
- RHEL 系统的有效订阅。
|
||||
- 互联网连接
|
||||
|
||||
事不宜迟,让我们深入了解 FreeIPA 客户端安装和配置步骤,
|
||||
|
||||
### 1、在 FreeIPA 服务器上创建一个用户
|
||||
|
||||
登录到 FreeIPA 服务器并创建一个用户以进行集中身份验证,这里我使用以下命令使用创建了一个用户 `opsadm`:
|
||||
|
||||
```
|
||||
$ sudo kinit admin
|
||||
$ sudo ipa user-add opsadm --first=Ops --last=Admin --password
|
||||
Password:
|
||||
Enter Password again to verify:
|
||||
-------------------
|
||||
Added user "opsadm"
|
||||
-------------------
|
||||
User login: opsadm
|
||||
First name: Ops
|
||||
Last name: Admin
|
||||
Full name: Ops Admin
|
||||
Display name: Ops Admin
|
||||
Initials: OA
|
||||
Home directory: /home/opsadm
|
||||
GECOS: Ops Admin
|
||||
Login shell: /bin/bash
|
||||
Principal name: opsadm@LINUXTECHI.LAN
|
||||
Principal alias: opsadm@LINUXTECHI.LAN
|
||||
User password expiration: 20230502010113Z
|
||||
Email address: opsadm@linuxtechi.lan
|
||||
UID: 464600004
|
||||
GID: 464600004
|
||||
Password: True
|
||||
Member of groups: ipausers
|
||||
Kerberos keys available: True
|
||||
$
|
||||
```
|
||||
|
||||
### 2、为 RHEL、Rocky Linux 或 AlmaLinux 添加 DNS 记录
|
||||
|
||||
下一步是为我们想要与 FreeIPA 服务器集成以集中身份验证的机器添加 DNS 记录。在 FreeIPA 服务器上,运行以下命令:
|
||||
|
||||
```
|
||||
$ sudo ipa dnsrecord-add linuxtechi.lan rhel.linuxtechi.lan --a-rec 192.168.1.2
|
||||
```
|
||||
|
||||
注意:在上述命令中**替换**为你自己的 IP 地址和主机名。
|
||||
|
||||
![][1]
|
||||
|
||||
现在登录到 RHEL 客户端并在 `/etc/hosts` 文件中添加以下条目:
|
||||
|
||||
```
|
||||
192.168.1.102 ipa.linuxtechi.lan ipa
|
||||
192.168.1.2 rhel.linuxtechi.lan rhel
|
||||
```
|
||||
|
||||
保存并退出文件。
|
||||
|
||||
### 3、在 RHEL、RockyLinux 和 AlmaLinux 上安装和配置 FreeIPA 客户端
|
||||
|
||||
FreeIPA 客户端及其依赖项在默认软件包仓库(AppStream 和 BaseOS)中可用,因此要安装 FreeIPA 客户端,请运行:
|
||||
|
||||
```
|
||||
$ sudo dnf install freeipa-client -y
|
||||
```
|
||||
|
||||
![][2]
|
||||
|
||||
安装完成后,配置 FreeIPA 客户端,运行以下命令:
|
||||
|
||||
```
|
||||
$ sudo ipa-client-install --hostname=`hostname -f` --mkhomedir --server=ipa.linuxtechi.lan --domain linuxtechi.lan --realm LINUXTECHI.LAN
|
||||
```
|
||||
|
||||
根据你的设置**替换** FreeIPA 服务器的主机名、域名和领域。
|
||||
|
||||
输出:
|
||||
|
||||
![][3]
|
||||
|
||||
完美,上面的输出确认 `freeipa-client` 命令已成功执行。要测试 FreeIPA 客户端集成,请从当前用户注销并尝试以我们在 IPA 服务器上创建的 `opsadm` 用户身份登录。
|
||||
|
||||
### 4、测试 FreeIPA 客户端
|
||||
|
||||
试着在你刚刚配置了 FreeIPA 客户端的 RHEL 系统上使用 `opsadm` 用户通过 SSH 登录。
|
||||
|
||||
```
|
||||
$ ssh opsadm@<IPAddress-RHEL>
|
||||
```
|
||||
|
||||
![][4]
|
||||
|
||||
当我们第一次登录系统时,由于密码过期政策,它会提示你设置新密码。
|
||||
|
||||
修改密码后,再次尝试登录。这次你应该可以登录了。
|
||||
|
||||
![][5]
|
||||
|
||||
很好,上面的输出确认我们可以使用 `opsadm` 用户登录。这确认 FreeIPA 客户端安装和配置成功。
|
||||
|
||||
以上就是这篇文章的全部内容,希望你发现它提供了丰富的信息,请在下面的评论部分中发表你的疑问和反馈。
|
||||
|
||||
*(题图:MJ/583ee400-3bad-4036-a725-f9d2078d69ab)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.linuxtechi.com/install-freeipa-client-on-rhel-rockylinux-almalinux/
|
||||
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.linuxtechi.com/author/pradeep/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Add-DNS-Record-RHEL-RockyLinux-AlmaLinux-1024x73.png?ezimgfmt=ng:webp/ngcb22
|
||||
[2]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Install-FreeIPA-Client-DNF-Command-RHEL.png
|
||||
[3]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Configure-freeipa-client-command-rhel-1024x618.png?ezimgfmt=ng:webp/ngcb22
|
||||
[4]: https://www.linuxtechi.com/wp-content/uploads/2023/05/First-time-login-opsadm-freeipa-rhel.png?ezimgfmt=ng:webp/ngcb22
|
||||
[5]: https://www.linuxtechi.com/wp-content/uploads/2023/05/Login-RHEL-System-FreeIPA-Client-1024x198.png?ezimgfmt=ng:webp/ngcb22
|
||||
[6]: https://linux.cn/article-15783-1.html
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/12/182652jucsshn48zogzs1h.jpg
|
@ -0,0 +1,101 @@
|
||||
[#]: subject: "Ubuntu 18.04 is Reaching End of Life: Here's What You Can Do"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-18-04-eol/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "ChatGPT"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15792-1.html"
|
||||
|
||||
Ubuntu 18.04 即将停止更新,你该怎么办?
|
||||
======
|
||||
|
||||
> Ubuntu 18.04 即将停止更新,以下是你需要了解的信息。
|
||||
|
||||
![][0]
|
||||
|
||||
标志性的 Ubuntu 18.04 “Bionic Beaver” 带来了许多改进和新增功能。但就像大多数优秀的产品一样,该版本也已经走到了尽头(对大多数用户而言)。
|
||||
|
||||
**那么,现在发生了什么呢?**
|
||||
|
||||
在三月份,Canonical 宣布 Ubuntu 18.04 将于 2023 年 5 月 31 日到达其计划更新周期的五年截止期。
|
||||
|
||||
这一天正在迅速到来,只剩下了几个星期的时间。
|
||||
|
||||
### EOL 意味着什么呢?
|
||||
|
||||
对于 [长期支持版本][2] 的 Ubuntu 发行版,它将停止获得维护更新和安全修补。
|
||||
|
||||
### 检查你是否正在使用 Ubuntu 18.04
|
||||
|
||||
如果你不知道你正在使用 Ubuntu 的哪个版本,可以检查一下。
|
||||
|
||||
打开终端并使用如下命令:
|
||||
|
||||
```
|
||||
lsb_release -a
|
||||
```
|
||||
|
||||
如果你在输出中看到 “18.04” 或 “bionic”,那么你正在使用 Ubuntu 18.04:
|
||||
|
||||
```
|
||||
No LSB modules are available.
|
||||
Distributor ID: Ubuntu
|
||||
Description: Ubuntu 18.04.5 LTS
|
||||
Release: 18.04
|
||||
Codename: bionic
|
||||
```
|
||||
|
||||
### 现在应该怎么做呢?
|
||||
|
||||
如果你是企业用户或想继续使用 Ubuntu 18.04,Canonical 建议你选择 [Ubuntu Pro][3] 服务,将支持扩展至 2028 年 4 月份。
|
||||
|
||||
> 📋 请注意,Ubuntu Pro 仅支持 x86、x64 和 arm64 架构。
|
||||
|
||||
Ubuntu Pro 包含可扩展安全维护(ESM)的全套安全补丁,以及 24 小时的电话和支持工单。
|
||||
|
||||
如果你需要个人或非商业使用,还有一个 [免费的 Ubuntu Pro 计划][4],从其最初发布日期起,可为你提供 **10 年的安全更新**。换句话说,使用 Ubuntu Pro 将可以获得五年额外的支持期限。
|
||||
|
||||
> ⚠️ 但请注意,Ubuntu Pro 不会提供 “功能更新”,也不会从 Ubuntu 软件源获取最新版本的软件。它将通过提供安全和维护更新,使你的系统继续运行。
|
||||
|
||||
无论哪种情况,你都可以升级至 [Ubuntu 20.04 LTS][5] 版本或全新安装 [Ubuntu 22.04 LTS][6] 版本来获取最新和最棒的 Ubuntu LTS 发行版。
|
||||
|
||||
以下是一份实用的指南,可帮助你完成升级/重新安装。
|
||||
|
||||
> **[如何从 Ubuntu 20.04 LTS 或 21.10 升级到 22.04 LTS][6a]**
|
||||
|
||||
如果你没有 Ubuntu Pro 且未获得扩展维护更新,那么应尽快升级,否则你的系统将面临安全风险。
|
||||
|
||||
### 总结
|
||||
|
||||
- Ubuntu 18.04 将于 2023 年 5 月 31 日到达生命周期结束。
|
||||
- 现有的 Ubuntu 18.04 用户可以选择免费订阅 Ubuntu Pro 以继续使用。
|
||||
- 现有用户也可以选择升级至新的 LTS 版本 20.04。
|
||||
- 还有一个重新安装全新的 22.04 版本的方式,但这将格式化你的数据。
|
||||
|
||||
💬 你会选择升级还是订阅 Ubuntu Pro 以获得扩展更新?
|
||||
|
||||
|
||||
*(题图:MJ/a1402ad8-d260-42b3-9b92-e3935c9238ad)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-18-04-eol/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:ChatGPT
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/ubuntu-18-04-eol.png
|
||||
[2]: https://itsfoss.com/long-term-support-lts/
|
||||
[3]: https://ubuntu.com/pro
|
||||
[4]: https://news.itsfoss.com/ubuntu-pro-free/
|
||||
[5]: https://itsfoss.com/download-ubuntu-20-04/
|
||||
[6]: https://news.itsfoss.com/ubuntu-22-04-release/
|
||||
[6a]: https://itsfoss.com/upgrade-ubuntu-version/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/07/194125bvi19tvktvkvlbe5.png
|
@ -0,0 +1,81 @@
|
||||
[#]: subject: "Ubuntu MATE 23.04: Best Features and Updates"
|
||||
[#]: via: "https://www.debugpoint.com/ubuntu-mate-23-04/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15803-1.html"
|
||||
|
||||
Ubuntu MATE 23.04:最佳功能和更新
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Ubuntu MATE 23.04 “Lunar Lobster” 已发布,让我们来了解一下这个以 MATE 桌面为特色的官方 Ubuntu 版本。
|
||||
|
||||
代号 “<ruby>月球龙虾<rt>Lunar Lobster</rt></ruby>” 的 Ubuntu MATE 23.04 已于 2023 年 4 月 20 日发布。最新版本的 Ubuntu MATE 23.04 是 2023 年的第一个短期版本,将获得为期 9 个月的支持,直至 2024 年 1月。它是具有超轻量级 MATE 桌面的官方 Ubuntu 版本,它包含一些增强功能,对于那些想要 GNOME 的传统桌面外观的人来说值得考虑。
|
||||
|
||||
![Ubuntu MATE 23.04 桌面][1]
|
||||
|
||||
### Ubuntu MATE 23.04:最佳功能
|
||||
|
||||
Ubuntu MATE 23.04 与它的前身 Ubuntu MATE 22.10 看起来可能没有太大区别,但也包含了一些明显的变化。
|
||||
|
||||
MATE 桌面和 Ayatana 指示器跳跃了一些版本,修复了一系列小错误,而 AI 生成的壁纸为桌面增添了一丝优雅。
|
||||
|
||||
此版本具有 MATE Desktop 1.26.1(但是,我没有在测试安装中看到这个次要版本),它带来了自 1.26 主要版本以来的一些更新。
|
||||
|
||||
也许你注意到的主要区别是 Flatpak 安装,它在 Ubuntu MATE 22.10 之前默认安装。从这个版本开始,Flatpak 不再默认安装,但如果你想使用它,你仍然可以安装它。我们在这里有一个专门的指南,介绍 [如何安装 Flatpak][2]。或者,你可以使用以下命令安装它:
|
||||
|
||||
```
|
||||
sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot
|
||||
```
|
||||
|
||||
在 Ubuntu MATE 22.10 中已经是默认安装的 PipeWire,已在 Ubuntu 中更新修订包。此外,此版本中包含的 LibreOffice 7.5 具有改进的 Writer 书签模块、Calc 电子表格中的新数字格式、Impress 中的新表格设计样式等等。默认网络浏览器是 Firefox 112 (Snap)。
|
||||
|
||||
默认文件管理器 Caja 已更新至 1.26.1,它是唯一获得小更新的应用。其余的仍然是他们以前的版本,如下所示:
|
||||
|
||||
- Caja 文件管理器 1.26.1
|
||||
- 磁盘使用分析器 1.26.0
|
||||
- MATE 终端 1.26.0
|
||||
- Eye of MATE 1.26.0
|
||||
- MATE Tweak 工具 1.26.0
|
||||
|
||||
![Caja 文件管理器 1.26.1][3]
|
||||
|
||||
最新的 Ubuntu “Lunar Lobster” 版本用新的 [基于 Flutter 的安装程序][4] 替换了 Ubuntu 23.04 中的默认安装程序。但是 Ubuntu MATE 仍然使用旧的 Ubiquity 安装程序,以便为其用户群保持简单明了。
|
||||
|
||||
在核心方面,Ubuntu MATE 23.04 默认包含的 [Linux 内核 6.2][5] 改进了对 GPU、CPU、端口和 Rust 更新的支持。它增强了操作系统的性能和稳定性,确保为用户提供流畅可靠的体验。
|
||||
|
||||
遵循传统,Ubuntu MATE 有一些 AI 生成的“龙虾”主题壁纸,在桌面上看起来很棒!
|
||||
|
||||
![Ubuntu MATE 23.04 中 AI 生成的壁纸之一][6]
|
||||
|
||||
总的来说,Ubuntu MATE 23.04 是一个小更新,给用户带来的改进很少。它的简单性和用户友好性使其成为那些喜欢旧式 GNOME 桌面外观和感觉的人的不二之选。
|
||||
|
||||
你可以从 [此页面][7] 下载 Ubuntu MATE 23.04。
|
||||
|
||||
*(题图:MJ/b8450f09-cc50-48a6-9799-234975e18625)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/ubuntu-mate-23-04/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][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/lkxed/
|
||||
[1]: https://www.debugpoint.com/wp-content/uploads/2023/05/Ubuntu-MATE-23.04-Desktop.jpg
|
||||
[2]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2023/05/Caja-file-manager-1.26.1.jpg
|
||||
[4]: https://www.debugpoint.com/new-ubuntu-installer/
|
||||
[5]: https://www.debugpoint.com/linux-kernel-6-2/
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2023/05/One-of-the-AI-Generated-wallpaper-in-Ubuntu-MATE-23.04.jpg
|
||||
[7]: https://ubuntu-mate.org/download/
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/11/171632wlyybzv3zrhvtaa1.jpg
|
@ -0,0 +1,66 @@
|
||||
[#]: subject: "Firefox 113 Introduces Enhanced Picture-in-Picture and Improved Security Features"
|
||||
[#]: via: "https://debugpointnews.com/firefox-113/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15802-1.html"
|
||||
|
||||
Firefox 浏览器 113 版推出,带来了更好的画中画功能
|
||||
======
|
||||
|
||||
![][0]
|
||||
|
||||
> Firefox 113 版本引入了增强的画中画,提高了密码安全性,同时支持 AV1 图像格式文件,以下是具体更新内容:
|
||||
|
||||
Firefox 113 版本现已推出,搭载了多个新功能、增强功能和错误修复。其中最显著的新功能之一是改进的 <ruby>画中画<rt>Picture-in-Picture</rt></ruby>(PIP),使用户可以轻松在网络上最受欢迎的视频网站上倒带、查看视频长度并切换到全屏模式。
|
||||
|
||||
此外,Firefox 还在密码生成器中增加了特殊字符,使其更加安全。同时,从 Safari 或基于 Chrome 的浏览器导入书签也变得更加简单,因为默认会导入这些书签上的网站图标。
|
||||
|
||||
Firefox 113 还加强了 Windows GPU 沙盒,该功能在 Firefox 110 中首次引入,提供更强的安全保障。此更新还实现了一个 13 年前被请求的功能:允许用户直接从微软 Outlook 拖放文件。
|
||||
|
||||
![Firefox 113][1]
|
||||
|
||||
Mac 用户现在可以直接从上下文菜单中访问 macOS “服务”,而在 Windows 上,默认已启用弹性滚动效果,当滚动超出滚动容器的边缘时提供反弹动画。
|
||||
|
||||
Firefox 113 还增加了对包含动画的 AV1 图像格式文件(AVIS)的支持,并允许使用 `window.print()` 的网站在安卓上的 Firefox 中打印。安卓版 Firefox 默认支持硬件加速的 AV1 视频解码,也默认启用了 GPU 加速的 Canvas2D,这是继 Firefox 110 中已在 macOS 和 Linux 上发布的工作之后的进一步工作。
|
||||
|
||||
开发人员也会高兴地得知,Firefox 113 增加了对许多 WebRTC 功能的支持,包括 `RTCMediaSourceStats`、`RTCPeerConnectionState`、`RTCPeerConnectionStats`(“peer-connection” RTCStatsType)、`RTCRtpSender.setStreams()` 和 `RTCSctpTransport`。模块脚本现在可以在 Worklets 中导入其他 ES 模块脚本,Firefox 现在支持四级颜色规范中的颜色函数,包括 `lab()`、`lch()`、`oklab()`、`oklch()` 和 `color()` 函数。
|
||||
|
||||
Firefox 113 还引入了重新设计的无障碍引擎,显著提高了 Firefox 对屏幕阅读器和某些其他辅助功能软件用户的速度、响应性和稳定性。
|
||||
|
||||
此外,Awesomebar 搜索结果菜单现在已启用,允许你删除历史记录结果和关闭赞助的 Firefox Suggest 结果。
|
||||
|
||||
虽然 Firefox 113 带来了许多令人兴奋的新功能和增强,但它也删除了长期弃用的 `mozRTCPeerConnection`、`mozRTCIceCandidate` 和 `mozRTCSessionDescription` 类型,网站应该使用其非前缀变体。安卓版 Firefox 还改进了内置 PDF 阅读器的用户界面,使直接保存 PDF 文件变得更加容易。
|
||||
|
||||
### 下载
|
||||
|
||||
该版本现已正式发布,并可以从以下 FTP 网站下载。
|
||||
|
||||
> **[下载 Firefox 113][2]**
|
||||
|
||||
主要的 Linux 发行版将在未来几天内将其打包到他们的软件库中,并且你应该可以通过常规操作系统更新获得此版本。
|
||||
|
||||
- [113 发布说明][3]
|
||||
|
||||
*(题图:MJ/5ba4d222-516a-476f-8231-968ac3dba38e)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/firefox-113/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/05/Firefox-113.jpg
|
||||
[2]: https://ftp.mozilla.org/pub/firefox/releases/113.0/
|
||||
[3]: https://www.mozilla.org/en-US/firefox/113.0/releasenotes/
|
||||
[4]: https://floss.social/@debugpoint
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/11/163353h02tjz4hhf0vgv40.jpg
|
@ -0,0 +1,73 @@
|
||||
[#]: subject: "Ubuntu Now Available on the World's First High-Performance RISC-V SBC with GPU"
|
||||
[#]: via: "https://news.itsfoss.com/ubuntu-riscv-visionfive-2/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "ChatGPT"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15805-1.html"
|
||||
|
||||
Ubuntu 现已在世界上第一款具备 GPU 的高性能 RISC-V SBC 上运行
|
||||
======
|
||||
|
||||
> 受益于最新的 Ubuntu 发行版,赛昉科技的 RISC-V 开发板 VisionFive 2 的体验得以提高。
|
||||
|
||||
![][0]
|
||||
|
||||
自树莓派和 Arduino 等问世以来,单板计算机(SBC)因其相对紧凑的体积和各种不同的处理能力水平,而受到越来越多创客和爱好者的青睐。
|
||||
|
||||
现在,Canonical 宣布,在世界上第一款具备 GPU 的高性能 RISC-V SBC **赛昉 VisionFive 2** 上,**已经可以运行 Ubuntu**。
|
||||
|
||||
让我们深入了解更多细节。
|
||||
|
||||
**最新消息:** 在 Canonical 公司 [最近的一份声明][2] 中,该公司公布了与 [赛昉科技][3] 合作的最新结果,这是一家专注于 **RISC-V 软件和硬件** 的中国高科技公司。
|
||||
|
||||
由此产生的结果是,其最新旗舰产品赛昉 VisionFive 2 可以运行 Ubuntu。这是一款由 RISC-V 驱动的 SBC,可实现强大的功能,而且还配备了一块 GPU,以支持 3D 任务。
|
||||
|
||||
![赛昉 VisionFive 2][4]
|
||||
|
||||
这将为 RISC-V SBC 计算打开新的渠道,用户可以在各种项目中实施它。
|
||||
|
||||
此外,由于有了 Ubuntu,即使是在企业使用情况下,也可以在大规模部署它。
|
||||
|
||||
**对技术细节感兴趣吗?**
|
||||
|
||||
VisionFive 2 由一颗 **赛昉 JH7110 64 位 SoC** 驱动,其中包含一颗 **RISC-V RV64GC 处理器**,最高可达 1.5 GHz 时钟速度。
|
||||
|
||||
你可以选择 **2GB/4GB/8GB** 内存变种。其具有一个用于存储的 TransFlash 卡槽,同时可以支持 **HDMI 2.0** 和 **MIPI-DSI** 视频输出。
|
||||
|
||||
你可以在 [此处][5] 深入了解规格。
|
||||
|
||||
Canonical 的这项举措应该能够让更多的 SBC 爱好者轻松地切换到 Ubuntu,特别是在拥有如此强大的 RISC-V 驱动的 SBC 的情况下。
|
||||
|
||||
**想要试一试吗?**
|
||||
|
||||
你可以前往 Ubuntu [官方网站][6],获取专为 VisionFive 2 优化过 Ubuntu 23.04 预装镜像。
|
||||
|
||||
> **[Ubuntu for RISC-V][6]**
|
||||
|
||||
💬 看起来,我们可能需要将赛昉 VisionFive 2 添加到我们的 [树莓派替代方案][7] 列表中。你觉得怎样?
|
||||
|
||||
*(题图:MJ/b9ad4ba4-d330-40ad-9502-8df6787c0d0e)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/ubuntu-riscv-visionfive-2/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][b]
|
||||
译者:ChatGPT
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/ubuntu-support-on-fastest-risv-sbc.jpg
|
||||
[2]: https://ubuntu.com//blog/canonical-enables-ubuntu-on-starfive-visionfive2-risc-v-board?ref=news.itsfoss.com
|
||||
[3]: https://www.starfivetech.com/en?ref=news.itsfoss.com
|
||||
[4]: https://news.itsfoss.com/content/images/2023/05/Ubuntu_Starfive_VF2.png
|
||||
[5]: https://www.starfivetech.com/en/site/boards?ref=news.itsfoss.com
|
||||
[6]: https://ubuntu.com/download/risc-v?ref=news.itsfoss.com
|
||||
[7]: https://itsfoss.com/raspberry-pi-alternatives/?ref=news.itsfoss.com
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202305/11/234547psmor78hy78bssju.jpg
|
@ -1,111 +0,0 @@
|
||||
[#]: subject: "Linux Lite 6.4 Gets Lighter With More Features like WebP Image Support"
|
||||
[#]: via: "https://news.itsfoss.com/linux-lite-6-4-released/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Linux Lite 6.4 Gets Lighter With More Features like WebP Image Support
|
||||
======
|
||||
|
||||
Linux Lite 6.4 is a neat upgrade with a couple of new changes!
|
||||
|
||||
![linux lite 6.4][1]
|
||||
|
||||
![][2]
|
||||
|
||||
Linux Lite is known for its lightweight and Windows-like layout that provides users with a familiar operating system experience.
|
||||
|
||||
The last major release, [Linux Lite 6.2][3] saw the inclusion of various user interface tweaks/bug fixes, and now another release is here that also has various improvements on offer.
|
||||
|
||||
Let me take you through the Linux Lite 6.4 release.
|
||||
|
||||
### 🆕 Linux Lite 6.4: What's New?
|
||||
|
||||
![a screenshot of the desktop on linux lite 6.4][4]
|
||||
|
||||
Based on **[Ubuntu 22.04.2 LTS][5]**, this release has some interesting new additions, here are the highlights that you should know about:
|
||||
|
||||
- **SystemD reporting via Lite System Report**
|
||||
- **ZSTD Compression**
|
||||
- **Better WebP Support**
|
||||
- **Updated Thunderbird**
|
||||
- **Xfce 4.18**
|
||||
|
||||
#### SystemD reporting via Lite System Report
|
||||
|
||||
![a screenshot of the systemd report on linux lite 6.4][6]
|
||||
|
||||
As you know that **systemd is one of the basic building blocks of a Linux system** that starts the boot procedure for the rest of the system.
|
||||
|
||||
Linux Lite 6.4 has bought about a dedicated reporting option for systemd errors. This will make it easy to pinpoint booting and general system issues via the Lite System Report tool.
|
||||
|
||||
#### ZSTD Compression
|
||||
|
||||
The complete Lite app suite (their in-house apps) has been repackaged using ZSTD compression for faster decompression and better compression, resulting in a **lighter storage footprint**.
|
||||
|
||||
For example: Now the Lite Themes app is **76.8 MB** instead of the more hefty **91.2 MB**.
|
||||
|
||||
Systems with slower processors will benefit a great deal due to the inclusion of this, resulting in significantly faster application update times.
|
||||
|
||||
#### Better WebP Support
|
||||
|
||||
![a screenshot of the webp thumbnail support on linux lite 6.4][7]
|
||||
|
||||
The Thunar file manager has been **updated to****4.16.10** and can now show thumbnails for WebP files correctly, instead of a generic placeholder image.
|
||||
|
||||
This should make it easy for you to go through your WebP files, without the need to open them one-by-one.
|
||||
|
||||
#### Updated Thunderbird
|
||||
|
||||
![a screenshot of thunderbird 102 running on linux lite 6.4][8]
|
||||
|
||||
Linux Lite 6.4 **features Thunderbird 102** with its redesigned icons, the central spaces' toolbar, new address book, import/export wizard, matrix chat support and more.
|
||||
|
||||
You can read more about it in our article to dive deeper.
|
||||
|
||||
#### 🛠️ Other Changes
|
||||
|
||||
Other than the above-mentioned, here are a few application suite updates that are worth mentioning:
|
||||
|
||||
- **Linux Kernel 5.15.0-69**
|
||||
- **Chrome 111.0**
|
||||
- **LibreOffice 7.4.6.2**
|
||||
- **VLC 3.0.16**
|
||||
- **Gimp 2.10.30**
|
||||
- **The latest [Papirus][9] icon theme set.**
|
||||
|
||||
If you are curious about the latest Xfce 4.18, you can check out our separate coverage to explore the details:
|
||||
|
||||
### 📥 Get Linux Lite 6.4
|
||||
|
||||
The ISO for Linux Lite 6.4 can be sourced from the [official website][10], or by clicking on the download button below.
|
||||
|
||||
[Linux Lite 6.4 (OSDN)][11]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/linux-lite-6-4-released/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][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/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/04/linux-lite-6-4-released.jpg
|
||||
[2]: https://news.itsfoss.com/content/images/2023/03/linux-mega-packt.webp
|
||||
[3]: https://news.itsfoss.com/linux-lite-6-2-release/
|
||||
[4]: https://news.itsfoss.com/content/images/2023/04/Linux_Lite_6.4.png
|
||||
[5]: https://fridge.ubuntu.com/2023/02/24/ubuntu-22-04-2-lts-released/?ref=its-foss-news
|
||||
[6]: https://news.itsfoss.com/content/images/2023/04/Linux_Lite_6.4_2.png
|
||||
[7]: https://news.itsfoss.com/content/images/2023/04/Linux_Lite_6.4_3.png
|
||||
[8]: https://news.itsfoss.com/content/images/2023/04/Linux_Lite_6.4_4.png
|
||||
[9]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme?ref=its-foss-news
|
||||
[10]: https://www.linuxliteos.com/download.php?ref=its-foss-news
|
||||
[11]: https://osdn.net/projects/linuxlite/storage/6.4/?ref=its-foss-news
|
@ -0,0 +1,120 @@
|
||||
[#]: subject: "Voyager Linux 23.04: Snap-free Ubuntu Experience with A Gorgeous Look"
|
||||
[#]: via: "https://www.debugpoint.com/voyager-linux-review-23-04/"
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Voyager Linux 23.04: Snap-free Ubuntu Experience with A Gorgeous Look
|
||||
======
|
||||
|
||||
**A new release of Voyager Linux (23.04) is here and I did a test drive to find out more.**
|
||||
|
||||
When I last [reviewed][1] the beginning of last year, it was a budding distro which gave a great Ubuntu LTS experience. Since then, a few changes have happened to the direction of this distribution. Hence, I feel it’s time to do another round of test drives.
|
||||
|
||||
If you are unaware, Voyager Linux is based on Ubuntu Linux with great customizations for the GNOME desktop. Earlier, it used to follow only the Ubuntu LTS cycle, but from last year, it’s also available for short-term Ubuntu releases.
|
||||
|
||||
After the [Ubuntu 23.04 “Lunar Lobster”][2]release, the Voyager team announced the release of Voyager 23.04.
|
||||
|
||||
### Voyager Linux 23.04: Review
|
||||
|
||||
The ISO size of this release has been increased by around 30% compared to Voyager 22.04 release. This might be primarily due to Ubuntu’s own package base. The installation was smooth but the installer requires a minimum of 24 GB of storage (hard requirement). However, it uses the old Uniquity installer. Not the new Flutter-based Ubuntu installer.
|
||||
|
||||
#### Look and feel
|
||||
|
||||
If you were running an earlier version of Voyager Linux, you first notice a polished look. The GNOME desktop is now more customized with the “Kora” theme with many extensions.
|
||||
|
||||
![Voyager 23.04 Desktop (GNOME)][3]
|
||||
|
||||
At the bottom, you get the default dock with transparency enabled using the “blur my shell” extension. In addition, an assorted list of extensions is pre-installed and enabled with proper settings for a better look at the GNOME desktop.
|
||||
|
||||
Noteworthy extensions include the greatest “Arc Menu” to bring up the pull-down access to all system apps and resources. In addition, the “Dash to Dock”, “Blur my shell”, and “Battery Indicator” are a few productive ones. Here’s the list of extensions that are pre-installed in Voyager Linux 23.04:
|
||||
|
||||
- Arc Menu
|
||||
- Battery time
|
||||
- Blur my shell
|
||||
- Burn my windows
|
||||
- Caffeine
|
||||
- Clipboard history
|
||||
- Compiz alike magic lamp effect
|
||||
- Compiz windows effect
|
||||
- Custom hot corners – Extended
|
||||
- Dash to Dock
|
||||
- Desktop Cube
|
||||
- EasyScreenCast
|
||||
- Gradient Top Bar
|
||||
- Lock keys
|
||||
- Replace Activities Label
|
||||
- Screen Rotate
|
||||
- SettingsCenter
|
||||
- Simple net speed
|
||||
- Space Bar
|
||||
- Sur Clock
|
||||
- Use Avatar in Quick Settings
|
||||
|
||||
All of these make the desktop super productive while being attractive.
|
||||
|
||||
![Arc Menu with workspace view][4]
|
||||
|
||||
#### Applications, Snap and Flatpak
|
||||
|
||||
Voyager Linux doesn’t include Snap by default at all, despite being Ubuntu-based. Also, Voyager Linux 23.04 moved away from Ubuntu’s decision to remove Flatpak from this release onwards. So, in summary, you get Flatpak integration by default without any traces of Snap in Voyager Linux 23.04. Not only that, the Firefox web browser is packaged from the native deb modules and it’s not the snap version.
|
||||
|
||||
![Voyager Linux 23.04 comes with default Flatpak][5]
|
||||
|
||||
The application list is quite big and well-organized. Key apps include Gedit text editor, Files, Firefox web browser, GIMP and LibreOffice suite. Also include Thunderbird email client, Remmina remote connection app, Transmission torrent client and Pidgin messenger.
|
||||
|
||||
Voyager includes Pitivi, MPV and Rhythmbox all together for playing videos and music. For productivity and documents, it includes Maps, Calender, Foliate reader app, KeePassXC and scrcpy android screen mirroring tool.
|
||||
|
||||
Since the primary ISO file include both Xfce and GNOME desktop, hence you get to experience a few native Xfce apps as well.
|
||||
|
||||
![Voyager Linux Xfce Edition (2304)][6]
|
||||
|
||||
#### Box Voyager
|
||||
|
||||
Voyager Linux comes with its own nice little app called “Box Voyager”, which gives you one-point access to all the desktop customizations. It has a list of configuration items and you can launch respective settings directly using this app.
|
||||
|
||||
Furthermore, for more customization, you can use several Conky themes which are pre-installed in Voyager Linux. You don’t need to face the hassles of installing and configuring Conky.
|
||||
|
||||
![Box Voyager and Conky Control][7]
|
||||
|
||||
#### Performance
|
||||
|
||||
With all the customizations and extensions installed, the performance is pretty impressive. It uses 1.3 GB of RAM at idle, and the CPU is at 1%. However, as you install and open more apps, the performance metrics can go up.
|
||||
|
||||
However, due to many pre-loaded apps and Xfce desktops, it uses around 14 GB of disk space for installation. Also, as I mentioned earlier, the entire installation requires 24 GB of free disk space.
|
||||
|
||||
![Voyager Linux Performance][8]
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
After reviewing the Voyager Linux 23.04, I believe that it can be an ideal non-Snap Ubuntu variant which can be used on a daily basis. If you don’t like the default appearance of Ubuntu GNOME and are looking for a pre-configured distribution with a stable Ubuntu LTS/short-term base that also has an appealing design, then Voyager Linux could be the perfect choice for you.
|
||||
|
||||
Also, the best of all is an option for Xfce desktop with the same Ubuntu base. Give it a try.
|
||||
|
||||
You can download Voyager Linux on the [official website][9].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/voyager-linux-review-23-04/
|
||||
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.debugpoint.com/author/admin1/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.debugpoint.com/voyager-live-linux-review-2022/
|
||||
[2]: https://www.debugpoint.com/ubuntu-23-04-features/
|
||||
[3]: https://www.debugpoint.com/wp-content/uploads/2023/04/Voyager-23.04-Desktop-GNOME.jpg
|
||||
[4]: https://www.debugpoint.com/wp-content/uploads/2023/04/Arc-Menu-with-workspace-view.jpg
|
||||
[5]: https://www.debugpoint.com/wp-content/uploads/2023/04/Voyager-Linux-23.04-comes-with-default-Flatpak.jpg
|
||||
[6]: https://www.debugpoint.com/wp-content/uploads/2023/04/Voyager-Linux-Xfce-Edition-2304.jpg
|
||||
[7]: https://www.debugpoint.com/wp-content/uploads/2023/04/Box-Voyager-and-Conky-Control.jpg
|
||||
[8]: https://www.debugpoint.com/wp-content/uploads/2023/04/Voyager-Linux-Performance.jpg
|
||||
[9]: https://voyagerlive.org/
|
@ -0,0 +1,60 @@
|
||||
[#]: subject: "Nitrux 2.8 Launched with Updated Kernel, KDE Plasma and WayDroid support"
|
||||
[#]: via: "https://debugpointnews.com/nitrux-2-8/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Nitrux 2.8 Launched with Updated Kernel, KDE Plasma and WayDroid support
|
||||
======
|
||||
|
||||
**Nitrux 2.8 now features the latest software updates, performance improvements, and enhanced tablet compatibility.**
|
||||
|
||||
The Nitrux team has announced the release of Nitrux 2.8.0, the latest version of their Debian-based distribution. This new version brings several updates and improvements, making it an exciting release for users. One of the highlights of this release is the promise to become “tablet-friendly.”
|
||||
|
||||
The team has combined the latest software updates, bug fixes, performance improvements, and hardware support to make Nitrux 2.8.0 the most stable and efficient release yet. The default kernel version is 6.2.13-1 (Liquorix), and KDE Plasma, KDE Frameworks, and KDE Gear have been updated to versions 5.27.4, 5.105.0, and 23.04.0, respectively. Additionally, Firefox has been updated to version 112.0.2.
|
||||
|
||||
![Nitrux 2.8 desktop (live)][1]
|
||||
|
||||
The team has also updated MESA to version 23.2. They’ve updated the Calamares custom layout, making changes to create only three partitions. They’ve also adjusted the automatic size ratio of the partitions when using the automated partition options “Erase disk” and “Replace partition.” The updated partition layout also changes what filesystems are used for which partitions.
|
||||
|
||||
Nitrux 2.8.0 includes WayDroid by default, with support for starting the WayDroid container service using OpenRC. WayDroid is a container-based approach to boot a complete Android system on a regular GNU/Linux system like Ubuntu. However, it will not work in X11 but only in a Wayland session (hence the name, Wayland + Android). Additionally, the team has added Maliit Keyboard (not enabled by default) for better integration with touch devices.
|
||||
|
||||
To further improve performance, the team has adjusted Sysctl settings by providing a custom file for a slight increment in performance. This includes changes to the rate at which VFS caches are reclaimed, enabling Asynchronous non-blocking I/O, and reducing the aggressivity when the kernel swaps out anonymous memory relative to pagecache and other caches. The team has also added and enabled zswap by default and updated the AMD Vulkan driver to version v-2023.Q2.1.
|
||||
|
||||
Overall, Nitrux 2.8.0 brings a host of updates and improvements, making it an excellent release for users. With the promise of becoming “tablet-friendly,” the Nitrux team has shown their dedication to providing a distribution that is accessible and versatile.
|
||||
|
||||
You can download this version from the below links.
|
||||
|
||||
- [ISO — Direct HTTP Download][2]
|
||||
- [FOSS Torrents (Torrent)][3].
|
||||
- [Sourceforge (mirror)][4].
|
||||
- [OSDN (mirror)][5].
|
||||
|
||||
Via [release notes][6], and [announcements][7].
|
||||
|
||||
[_Using Mastodon? Follow us at floss.social/@debugpoint_][8]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/nitrux-2-8/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/05/Nitrux-2.8-desktop-live.jpg
|
||||
[2]: https://nxos.org/get/latest
|
||||
[3]: https://fosstorrents.com/distributions/nitrux/
|
||||
[4]: https://sourceforge.net/projects/nitruxos/files/Release/ISO
|
||||
[5]: https://osdn.net/projects/nitrux/releases/p18379
|
||||
[6]: https://nxos.org/notes/notes-nitrux-2-8-0/
|
||||
[7]: https://nxos.org/changelog/release-announcement-nitrux-2-8-0/
|
||||
[8]: https://floss.social/@debugpoint
|
@ -0,0 +1,59 @@
|
||||
[#]: subject: "Linux Mint 21.2 Introducing Tooltips Based on Accent Colour"
|
||||
[#]: via: "https://debugpointnews.com/linux-mint-21-2-tooltip/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Linux Mint 21.2 Introducing Tooltips Based on Accent Colour
|
||||
======
|
||||
|
||||
**A few more changes are coming up in the upcoming Linux Mint 21.2 “Victoria” release.**
|
||||
|
||||
The Linux Mint team recently provided an update on tooltips for its upcoming point release Linux Mint 21.2 “Victoria”. In the April 2023 update, the team announced that the new tooltips would use the accent colour, which is a significant design change from the traditional yellow colour.
|
||||
|
||||
_“We had been planning on redesigning our tooltips for a while,_” the team stated. _“The main reason was that they lacked consistency and looked slightly different depending on where they came from (GTK2, GTK3, Cinnamon). They also featured a grey border which didn’t look clean around their yellow background.”_
|
||||
|
||||
After examining other operating systems, Linux themes, and web designs, the team discovered that almost nobody used the traditional yellow colour for tooltips anymore. The team tried a few things and eventually settled on using the accent colour instead of yellow, black, or grey tooltips.
|
||||
|
||||
![Sample Linux Mint tooltip][1]
|
||||
|
||||
The team fixed the consistency issues across various GTK versions and Cinnamon, inspired by Adwaita, and made the tooltips bigger, rounder, and with larger margins. Additionally, they added space between the applets and their tooltips in Cinnamon so they wouldn’t be stuck to the panel.
|
||||
|
||||
Cinnamon notifications will also be using the accent colour, and they will prefer symbolic icons whenever possible. Although these small changes make the desktop look and feel cleaner and more modern.
|
||||
|
||||
On another note, I don’t think any other Linux distro changes the tooltip colour based on accent-colour; unless it is themed. For example, Ubuntu recently featured (22.04 LTS onwards) an accent colour with the GNOME desktop, but the tooltip colour remains white-on-black.
|
||||
|
||||
![Ubuntu today default tooltip colour with custom accent colour in GNOME][2]
|
||||
|
||||
Other noteworthy features in 21.2 include re-basing of this version with Ubuntu 22.04.2, mainline LTS Kernel 5.15 and Xfce 4.18 desktop variant. You can check out my [older article][3] for a few more updates.
|
||||
|
||||
The team is planning three releases for the summer, as per the announcement. Linux Mint 21.2, an EDGE ISO release with kernel 5.19 and LMDE 6, based on the upcoming [Debian 12][4] (set for release in June). To ensure that all releases get the 21.2 changes, they should come out in that order, with up to a month separating the Mint 21.2 and the LMDE 6 releases.
|
||||
|
||||
Overall, these design changes represent another step forward for Linux Mint, which continues to prioritize consistency and modernity in its operating system. This release is expected around June 2023.
|
||||
|
||||
_Via [Linux Mint blog][5]_
|
||||
|
||||
[_Using Mastodon? Follow us at floss.social/@debugpoint_][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/linux-mint-21-2-tooltip/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://debugpointnews.com/wp-content/uploads/2023/05/mint-21-2-tooltip-sample.jpg
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/05/Ubuntu-today-default-tooltip-colour-with-custom-accent-colour-in-GNOME.jpg
|
||||
[3]: https://debugpointnews.com/linux-mint-21-2-announcement/
|
||||
[4]: https://debugpointnews.com/debian-12-freeze/
|
||||
[5]: https://blog.linuxmint.com/?p=4513
|
||||
[6]: https://floss.social/@debugpoint
|
@ -0,0 +1,71 @@
|
||||
[#]: subject: "GNOME Files to Drop Old-School Column Chooser, Now Lets You Easily Configure It"
|
||||
[#]: via: "https://news.itsfoss.com/gnome-column-chooser/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
GNOME Files to Drop Old-School Column Chooser, Now Lets You Easily Configure It
|
||||
======
|
||||
|
||||
GNOME Files is getting a minor upgrade, and this should come in handy for a better user experience with managing/browsing the file system.
|
||||
|
||||
![gnome files][1]
|
||||
|
||||
The column configuration of the file list on the GNOME Files app has remained unchanged for well over 20 years, with most GNOME releases reusing the same old column chooser.
|
||||
|
||||
But, that is all **set to change in the near future** as a redesign has been approved for GNOME Files or Nautilus that will see the column chooser get a complete revamp.
|
||||
|
||||
Let's take a look at it.
|
||||
|
||||
**What's Happening:** In the latest weekly GNOME development blog post, the devsrevealed a more intuitive way of managing the files and browsing your file system 🤩
|
||||
|
||||
This new interface is due to the deprecation of '[GtkTreeView][2]', resulting in _Corey Berla_ developing a replacement with modern widgets and design.
|
||||
|
||||
**So, what does the redesign offer?**
|
||||
|
||||
With the redesign, you no longer have to deal with the pesky arrow buttons to reorder the columns. You can now drag and drop them according to your preference, and the toggle also comes in handy to enable/disable them.
|
||||
|
||||
![a screenshot of the file columns chooser on gnome 44][3]
|
||||
|
||||
Furthermore, with additional inputs from _Peter Eisenmann_, the new column configuration tool allows visible columns to be set globally or for the currently selected folder.
|
||||
|
||||
In turn, it did away with the old interface that was confusing with its interface duplication in the 'Preferences' menu.
|
||||
|
||||
**Want a sneak peek?** 👀
|
||||
|
||||
As you can see above, on [GNOME 44][4] and before, the column configuration was too unintuitive, with the reordering being done via the arrows at the bottom.
|
||||
|
||||
In the redesign, the columns can be dragged and dropped to any position of your liking, making for a far more intuitive experience.
|
||||
|
||||
![screenshots of the upcoming file column redesign on gnome's file manager][5]
|
||||
|
||||
You can also see the folder-specific setting in the screenshots above. This will make handling the column configs for a specific folder or even globally across the system much easier.
|
||||
|
||||
This redesign will be beneficial for many users, but we will all have to wait a bit ⏳
|
||||
|
||||
The change to revamp the column chooser has been [merged][6]. And, this redesign might appear in the next point update to GNOME 44 or **GNOME 45** set to be released on **September 20**.
|
||||
|
||||
_💬 What do you think about this change to GNOME Files? Do you like it? Share your thoughts in the comments down below._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/gnome-column-chooser/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][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/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/gnome-files-new-column-chooser.png
|
||||
[2]: https://docs.gtk.org/gtk3/class.TreeView.html?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/content/images/2023/05/GNOME_File_Column_RD_1.jpg
|
||||
[4]: https://news.itsfoss.com/gnome-44-release/
|
||||
[5]: https://news.itsfoss.com/content/images/2023/05/GNOME_File_Column_RD_2.jpg
|
||||
[6]: https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/1084?ref=news.itsfoss.com
|
@ -0,0 +1,116 @@
|
||||
[#]: subject: "Zinc: A New Ubuntu-Based Distro With Nemo File Manager and XFCE Desktop"
|
||||
[#]: via: "https://news.itsfoss.com/zinc-distro/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Zinc: A New Ubuntu-Based Distro With Nemo File Manager and XFCE Desktop
|
||||
======
|
||||
|
||||
An Ubuntu-based distro with some default twists that you might like. What do you think?
|
||||
|
||||
![zinc][1]
|
||||
|
||||
Zinc is a relatively new Ubuntu-based distro that aims to provide a more functional desktop with a better out-of-the-box experience without fiddling much.
|
||||
|
||||
Even though there are many [Ubuntu-based distros][2] out there, every user is different with their own set of preferences.
|
||||
|
||||
Maybe you will like this one better than vanilla Ubuntu itself; who knows?
|
||||
|
||||
Anyway, let's take a look at what Zinc has to offer.
|
||||
|
||||
> 🚧 The creator of Zinc makes it clear that it is a passion project, so you should not expect it to replace your current production system anytime soon.
|
||||
|
||||
### Zinc: Overview ⭐
|
||||
|
||||
![a screenshot of the desktop on zinc][3]
|
||||
|
||||
Zinc is a **remix of Ubuntu LTS** that uses **XFCE as its default desktop environment**. It is meant for people who prefer a **more traditional desktop user experience**.
|
||||
|
||||
That is why **Snap and Flatpak packages are not included by default**, though they can be installed if needed, and only a .deb version of Firefox is included.
|
||||
|
||||
Though you might think there is already the official Xubuntu remix that features XFCE, **why should I go for this**?
|
||||
|
||||
Well, this one has some distinguishing features on offer. Some notable highlights include:
|
||||
|
||||
- Ability to **select desktop layouts**.
|
||||
- **Dark theming by default** to reduce eye strain.
|
||||
- The **latest HWE-edge kernel** from Ubuntu.
|
||||
- **Calamares installer** instead of Ubiquity.
|
||||
- **Drop-down terminal** that can be mapped to the 'F1' key.
|
||||
- **BTRFS compression by default.**
|
||||
- **Nemo file manager**
|
||||
|
||||
### Initial Impressions
|
||||
|
||||
Zinc looks quite minimal with its neat UI; when I spun up the ISO on a virtual machine, Zinc could **easily detect my NVIDIA GPU**, which I found to be a nice touch.
|
||||
|
||||
![a screenshot of zinc's installer][4]
|
||||
|
||||
It uses the [CALAMARES 3.2.61][5] installer instead of Ubuntu's Ubiquity for a pleasant installation experience.
|
||||
|
||||
I progressed through it without facing any issues, and the progress bar was informative enough to know the installation progress.
|
||||
|
||||
Though, the installation options are the same as on a [Ubuntu flavor][6].
|
||||
|
||||
![a screenshot of the install progrress on zinc's installer][7]
|
||||
|
||||
When you first boot into Zinc, you are welcomed with a desktop layout chooser that lets you choose from a traditional Ubuntu-style desktop to a Windows-styled one.
|
||||
|
||||
I must say, giving users such first choices is a great thing! 😀
|
||||
|
||||
![a screenshot of the desktop layout selector on zinc][8]
|
||||
|
||||
Besides that, the desktop user experience was pretty fluid, with the **system monitor sitting neatly in the top panel**, showing important system info.
|
||||
|
||||
![a neofetch output on zinc][9]
|
||||
|
||||
Furthermore, Zinc uses the reliable [Linux Kernel 5.19][10] under the hood to provide great hardware and software support.
|
||||
|
||||
Not to forget, the file manager is not Thunar here, but Nemo, which is popularly available on Linux Mint. So, if you like Nemo file manager, Zinc can be a good try.
|
||||
|
||||
![nemo file manager][11]
|
||||
|
||||
So, wrapping up.
|
||||
|
||||
Zinc offers a pretty neat package with all the right bits that should appeal to many users. But, with so many Ubuntu-based distros out there, it could be a hard-to-pick choice for new users.
|
||||
|
||||
The latest release, '**Zinc 22.04.3**' was introduced last month that bought about **BTRFS compression by default**, **the desktop layouts app**, **faster shutdown,** and more.
|
||||
|
||||
You can check out the [release notes][12] of its latest version to learn more.
|
||||
|
||||
### 📥 Download Zinc
|
||||
|
||||
You can get the latest ISOs from the [official website][13], or by clicking the download button below.
|
||||
|
||||
[Zinc][13]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/zinc-distro/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][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/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/zinc-first-look.png
|
||||
[2]: https://itsfoss.com/best-ubuntu-based-linux-distros/?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/content/images/2023/05/Zinc_1.jpg
|
||||
[4]: https://news.itsfoss.com/content/images/2023/05/Zinc_2.jpg
|
||||
[5]: https://calamares.io/calamares-3.2.61-is-out/?ref=news.itsfoss.com
|
||||
[6]: https://itsfoss.com/which-ubuntu-install/?ref=news.itsfoss.com
|
||||
[7]: https://news.itsfoss.com/content/images/2023/05/Zinc_3.jpg
|
||||
[8]: https://news.itsfoss.com/content/images/2023/05/Zinc_4.jpg
|
||||
[9]: https://news.itsfoss.com/content/images/2023/05/Zinc_5.jpg
|
||||
[10]: https://news.itsfoss.com/linux-kernel-5-19-release/
|
||||
[11]: https://news.itsfoss.com/content/images/2023/05/zinc-file-manager.png
|
||||
[12]: https://teejeetech.com/2023/04/22/zinc-22-04-3/?ref=news.itsfoss.com
|
||||
[13]: https://teejeetech.com/tag/zinc/?ref=news.itsfoss.com
|
@ -0,0 +1,94 @@
|
||||
[#]: subject: "Game Over for Roblox on Linux: The New Anti-Cheat Blocks Wine Usage"
|
||||
[#]: via: "https://news.itsfoss.com/roblox-linux-end/"
|
||||
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Game Over for Roblox on Linux: The New Anti-Cheat Blocks Wine Usage
|
||||
======
|
||||
|
||||
Oh no! You cannot play Roblox on Linux anymore!
|
||||
|
||||
![roblox][1]
|
||||
|
||||
[Roblox][2] is a popular game platform that has been around since 2006; it gained popularity for the freedom of creativity it provides players, letting them create their games using the proprietary engine.
|
||||
|
||||
For years, Linux users could play it by using workarounds and the [Wine][3] compatibility layer.
|
||||
|
||||
But that is all set to change as new anti-cheat software, '**Hyperion**' is rolled out into Roblox.
|
||||
|
||||
**What's Happening:** With the introduction of the Hyperion anti-cheat software, **Wine usage is now blocked by default** while running Roblox.
|
||||
|
||||
This means that you **won't be able to play Roblox on your Linux system using Wine** anymore 😔
|
||||
|
||||
The block is not even a mistake; it is **intentional**. The reasons for this were made pretty clear by a staff member of Roblox on their developer forum😲
|
||||
|
||||
Before we get to that**, what is this Hyperion anti-cheat I keep discussing?**
|
||||
|
||||
Well, it is an anti-cheat software developed by [Byfron Technologies][4], which was **acquired by the Roblox Corporation** back in October 2022.
|
||||
|
||||
It was a given that they would integrate their system into Roblox, and it is now being done in a phased manner.
|
||||
|
||||
You may now be wondering.
|
||||
|
||||
**Are there any workarounds or native Linux support plans? Or will Roblox end Linux support entirely?**
|
||||
|
||||
Discover how easy it is to run Windows apps on Mac, Linux and ChromeOS with CrossOver.Don’t buy a Windows license, don’t reboot or use a virtual machine until you try CrossOver for Mac, Linux, or ChromeOS. Download a free 14 day trial now and get your Windows apps running on Mac and Linux.![][5]CodeWeaversRémi Bernon![][6]
|
||||
|
||||
Sadly, the answer to all the questions is pretty much no.
|
||||
|
||||
Regarding **the future plans for Roblox support on Linux**. Well, that has been pretty much shut out by a statement from a staff member, '_AtomicOperation_'.
|
||||
|
||||
In a nutshell, the staff member conveyed that:
|
||||
|
||||
_There's no way to justify a Linux port, as they would have to release a new client with QA, CS, documentation, etc., which is much more difficult on a_ **_“fragmented platform”_** _._
|
||||
|
||||
He also added that:
|
||||
|
||||
> Even Wine support is difficult because of anti-cheat. As wonderful as it would be to allow Roblox under Wine, the number of users who would take advantage of that is minuscule compared with our other platforms, and it’s not worthwhile if it makes it easy for exploiters to cheat.
|
||||
|
||||
You can check out the [comment reply][7] in the forum for a more detailed outlook.
|
||||
|
||||
⚡ This move **will upset many Linux gamers** who played Roblox on Linux, especially using Wine.
|
||||
|
||||
If you ask me, it is sad to see **many developers shying away from the Linux ecosystem**, citing 'fragmentation' concerns.
|
||||
|
||||
If this continues, we **might see a decline in Linux adoption rates** due to the unavailability of popular games.
|
||||
|
||||
Or is it so? Gaming clients like **HeroicGamesLauncher**, **Lutris**, and **Bottles** have been trying to improve things by letting gamers seamlessly [install Epic Games on Linux][8] and [GOG][9].
|
||||
|
||||
Not to forget, Steam Deck is making excellent progress, and there are [Linux distributions known to be a good fit for gamers][10] (if you are a desktop user).
|
||||
|
||||
So, Linux, as a good gaming platform, is not a distant dream.
|
||||
|
||||
_💬 What do you think? Should platforms like Roblox make an effort to support Linux? Do you play Roblox on Linux?_
|
||||
|
||||
**Via**: [GamingOnLinux][11]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/roblox-linux-end/
|
||||
|
||||
作者:[Sourav Rudra][a]
|
||||
选题:[lkxed][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/sourav/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/robox-ban-linux.png
|
||||
[2]: https://www.roblox.com/?ref=news.itsfoss.com
|
||||
[3]: https://www.winehq.org/?ref=news.itsfoss.com
|
||||
[4]: https://byfron.com/?ref=news.itsfoss.com
|
||||
[5]: https://media.codeweavers.com/pub/crossover/website/images/cw_logo_128.png
|
||||
[6]: https://media.codeweavers.com/pub/crossover/website/images/og-images/og-default.png
|
||||
[7]: https://devforum.roblox.com/t/proper-support-for-the-linux-platform/56544/88?ref=news.itsfoss.com
|
||||
[8]: https://itsfoss.com/epic-games-linux/?ref=news.itsfoss.com
|
||||
[9]: https://itsfoss.com/play-gog-games-linux/?ref=news.itsfoss.com
|
||||
[10]: https://itsfoss.com/linux-gaming-distributions/?ref=news.itsfoss.com
|
||||
[11]: https://www.gamingonlinux.com/2023/05/goodbye-to-roblox-on-linux-with-their-new-anti-cheat-and-wine-blocking/?ref=news.itsfoss.com
|
@ -0,0 +1,61 @@
|
||||
[#]: subject: "Alpine Linux 3.18 Released with Kernel 6.1, GNOME 44"
|
||||
[#]: via: "https://debugpointnews.com/alpine-linux-3-18/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Alpine Linux 3.18 Released with Kernel 6.1, GNOME 44
|
||||
======
|
||||
|
||||
**A new point release of Alpine Linux 3.18 is here with new Kernel 6.1 and more updates.**
|
||||
|
||||
Alpine Linux, the lightweight and security-focused distribution, has just unveiled its latest release, Alpine Linux 3.18.0, marking the debut of the v3.18 stable series. Packed with exciting updates and improvements, this release brings a host of new features, enhanced functionality, and the latest versions of popular software components.
|
||||
|
||||
One of the key highlights of Alpine Linux 3.18 is the inclusion of [Linux kernel 6.1][1], which comes with initial Rust support and the latest GPU and CPU updates. Alpine Linux 3.18.0 ensures enhanced security by verifying the authenticity and integrity of the modules. However, it is important to note that the verification of modules is not enforced by default, allowing third-party modules with akms to continue functioning seamlessly.
|
||||
|
||||
![Alpine Linux 3.18][2]
|
||||
|
||||
In addition to the upgraded kernel, Alpine Linux 3.18 boasts musl libc 1.2.4, which now includes TCP fallback in the DNS resolver. This feature enhances the robustness of network communications and ensures reliable DNS resolution, even in challenging network conditions.
|
||||
|
||||
Developers will be delighted to find updated versions of popular programming languages in this release. Python 3.11, Ruby 3.2, and Node.js (current) 20.1 are included, providing a powerful toolkit for creating a wide range of applications. These updated language versions bring various performance improvements, bug fixes, and new features to enrich the development experience.
|
||||
|
||||
The graphical desktop environment GNOME also receives a significant upgrade in Alpine Linux 3.18, with the inclusion of GNOME 44. This latest iteration of GNOME introduces native background apps, a long-pending image preview feature in Files and more such as updates which you can read on my detailed [feature overview page][3].
|
||||
|
||||
Other notable updates in Alpine Linux 3.18 include the addition of Go 1.20, KDE Plasma 5.27, and Rust 1.69. These updates ensure that developers have access to the latest tools and frameworks to create cutting-edge applications.
|
||||
|
||||
Alpine Linux 3.18 also introduces experimental support for unattended installations via tiny-cloud. This feature allows for automated and streamlined deployments, making it easier for system administrators to set up and configure Alpine Linux on multiple machines. The tiny-cloud functionality opens up new possibilities for efficient and scalable deployments in cloud and virtualized environments.
|
||||
|
||||
Furthermore, Alpine Linux 3.18 brings significant optimization in terms of package size. All packages for ppc64le, x86, and x86_64 have been linked with DT_RELR, resulting in reduced sizes of compiled binaries. This optimization helps conserve storage space and contributes to faster package installation and lower resource consumption.
|
||||
|
||||
To further optimize the installation process, Alpine Linux 3.18 now offers separate packages for Python pre-compiled files (pyc). This means users can choose to install only the necessary components, saving valuable disk space by excluding the pyc files.
|
||||
|
||||
You can download Alpine Linux 3.18 from the below page:
|
||||
|
||||
[Download Alpine Linux 3.18][4]
|
||||
|
||||
_Via [changelog][5]_
|
||||
|
||||
[_Using Mastodon? Follow us at floss.social/@debugpoint_][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/alpine-linux-3-18/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.debugpoint.com/linux-kernel-6-1/
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/05/Alpine-Linux-3.18.jpg
|
||||
[3]: https://www.debugpoint.com/gnome-44/
|
||||
[4]: https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-extended-3.18.0-x86_64.iso
|
||||
[5]: https://alpinelinux.org/posts/Alpine-3.18.0-released.html
|
||||
[6]: https://floss.social/@debugpoint
|
@ -0,0 +1,88 @@
|
||||
[#]: subject: "AlmaLinux 9.2 Released, with Enhanced Security and Performance"
|
||||
[#]: via: "https://debugpointnews.com/almalinux-9-2/"
|
||||
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
AlmaLinux 9.2 Released, with Enhanced Security and Performance
|
||||
======
|
||||
|
||||
**AlmaLinux 9.2 brings security updates, enhanced application streams, streamlined system management, containerization capabilities, and updated components, empowering users to optimize their infrastructure.**
|
||||
|
||||
The AlmaLinux OS Foundation has announced the release of AlmaLinux 9.2, the latest version of its free and open-source enterprise-grade operating system. Being a binary compatible with the recently released [Red Hat Enterprise Linux 9.2][1] (RHEL 9.2), this release brings a few improvements and updates.
|
||||
|
||||
- Realmd system role, SCAP profile, and Ansible content for simplified security management and compliance.
|
||||
- Updated OpenSSL library (version 3.0.7) for secure communications.
|
||||
- SELinux user-space packages (version 3.5) for enhanced system defence.
|
||||
- Keylime (version 6.5.2) and OpenSCAP (version 1.3.7) updates for improved security measures.
|
||||
|
||||
- AlmaLinux 9.2 introduces enhancements and features to the hybrid cloud’s foundation, enabling faster and more efficient delivery of workloads, applications, and services across multiple environments.
|
||||
- Security updates include:
|
||||
- Application stream enhancements offer updated compilers, runtime languages, databases, and web servers for developers and system administrators.
|
||||
- The revamped web console and new system roles simplify automation and standardization of systems.
|
||||
- Container capabilities enable easier development and management of containerized deployments.
|
||||
- Kernel version 5.14 provides improved performance, stability, and support for modern hardware. This is the old LTS mainline Kernel version.
|
||||
|
||||
![AlmaLinux 9.2 Desktop with GNOME 40.4][2]
|
||||
|
||||
- Git (version 2.39.1) and Git LFS (version 3.2.0) for advanced version control capabilities.
|
||||
- GCC (version 11.3.1), glibc (version 2.34), and binutils (version 2.35.2) for an updated toolchain.
|
||||
- Performance tools and debuggers: GDB (version 10.2), Valgrind (version 3.19), SystemTap (version 4.8), Dyninst (version 12.1.0), and elfutils (version 0.188).
|
||||
- Performance monitoring tools: PCP (version 6.0.1) and Grafana (version 9.0.9) updates.
|
||||
- Compiler updates: GCC Toolset 12, LLVM Toolset 15.0.7, Rust Toolset 1.66, and Go Toolset 1.19.6.
|
||||
|
||||
- A new rule for idle session termination was added to SCAP.
|
||||
- Clevis now accepts external tokens for greater key management flexibility.
|
||||
- Rsyslog TLS-encrypted logging supports multiple CA files.
|
||||
- Rsyslog privileges are limited to minimize security exposure.
|
||||
- fapolicyd framework filters the RPM database for improved system management.
|
||||
- Updated AlmaLinux EV Code Sign Secure Boot certificate.
|
||||
|
||||
- Updated components and toolchains:
|
||||
- Security updates bring enhanced security measures:
|
||||
- Debuginfo repository fix: Repository IDs were renamed from “_-debug” to “_-debuginfo” to resolve plugin issues.
|
||||
|
||||
AlmaLinux 9.2 presents users with a comprehensive update encompassing security enhancements, improved application streams, streamlined system management, containerization capabilities, and updated components and toolchains.
|
||||
|
||||
With this release, AlmaLinux continues to prioritize performance, security, and ease of use, empowering organizations to leverage the full potential of their infrastructure.
|
||||
|
||||
To experience the latest features and improvements, users can upgrade their existing installations or download the updated ISO image from the official AlmaLinux website.
|
||||
|
||||
A detailed installation instruction is presented below.
|
||||
|
||||
[Download AlmaLinux 9.2 ISO from nearest mirror][3]
|
||||
|
||||
[Install guide of AlmaLinux 9.2][4]
|
||||
|
||||
If you want to upgrade your existing AlmaLinux 9 to 9.2, open a terminal and run the following command:
|
||||
|
||||
```
|
||||
dnf upgrade -y
|
||||
```
|
||||
|
||||
A complete changelog of this release is present [here][5].
|
||||
|
||||
[_Using Mastodon? Follow us at floss.social/@debugpoint_][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/almalinux-9-2/
|
||||
|
||||
作者:[arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://debugpointnews.com/author/dpicubegmail-com/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://www.redhat.com/en/about/press-releases/red-hat-delivers-latest-releases-red-hat-enterprise-linux
|
||||
[2]: https://debugpointnews.com/wp-content/uploads/2023/05/AlmaLinux-9.2-Desktop.jpg
|
||||
[3]: https://mirrors.almalinux.org/isos.html
|
||||
[4]: https://wiki.almalinux.org/release-notes/9.2.html#installation-instructions
|
||||
[5]: https://wiki.almalinux.org/release-notes/9.2.html
|
||||
[6]: https://floss.social/@debugpoint
|
@ -0,0 +1,69 @@
|
||||
[#]: subject: "GNOME is Considering to Bring Back Terminal App to Replace the New Console"
|
||||
[#]: via: "https://news.itsfoss.com/gnome-terminal-console/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
GNOME is Considering to Bring Back Terminal App to Replace the New Console
|
||||
======
|
||||
|
||||
GNOME's new console app may go away so soon? Why is that?
|
||||
|
||||
![gnome old terminal coming back to replace console][1]
|
||||
|
||||
GNOME has been adding new applications to initiate modern user experiences with the desktop environment.
|
||||
|
||||
For instance, the new [GNOME text editor][2] and the upcoming [Snapshot webcam][3] app.
|
||||
|
||||
Similarly, [GNOME 42][4] introduced a new terminal app, i.e., [Console][5], that replaced the tried and tested "[Terminal][6]" app.
|
||||
|
||||
Console provides a good user experience with nifty features that made users happy. If that is the case, **why is GNOME thinking of potentially bringing back the good-old Terminal app?**
|
||||
|
||||
In a recent blog post on GNOME core apps update by _Michael Catanzaro,_he highlights that one of GNOME's important downstream, i.e., Fedora Workstation, rejected this core app change.
|
||||
|
||||
Since Fedora developers rejected it, the **new Console app has not seen any significant development** 🛠️
|
||||
|
||||
Fedora Workstation developers think that **Console is missing a few features** that are must-haves before they can replace it with Terminal. So, the new app is highly [unlikely to be accepted][7] into Fedora Workstation anytime soon.
|
||||
|
||||
Michael mentions:
|
||||
|
||||
> We messed up by adding the app to core before downstreams were comfortable with it, and at this point it has become unclear whether Console should remain in core or whether we should give up and bring back Terminal. Console remains for now, but I’m not sure where we go from here. Help welcome.
|
||||
|
||||
Furthermore, to prevent this situation, _Sophie_ from GNOME has [developed][8] a detailed and organized process for adding and removing core apps, including the new [Incubator][9] category.
|
||||
|
||||
Whenever an app gets into the Incubator, downstreams will be notified of the plans to add new apps to GNOME core, and decisions can be taken before adding it to the core apps. And it should allow downstream distributions to adopt those new applications quickly.
|
||||
|
||||
Looking at the present situation, the **Terminal app might make a comeback unless more efforts are put into the new Console app** to add the missing features requested by Fedora Workstation developers.
|
||||
|
||||
Let us keep an eye out for it! 👀
|
||||
|
||||
⭐ Additionally, **GNOME plans to remove the Photos and Music app from its core offerings**. You can explore more details on GNOME Core app updates in [Michael's blog post][10].
|
||||
|
||||
_💬 What do you think of this situation with the Console and Terminal app? What do you prefer more?_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/gnome-terminal-console/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][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/ankush/
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://news.itsfoss.com/content/images/size/w1304/2023/05/gnome-to-replace-new-console-with-old-terminal.jpg
|
||||
[2]: https://itsfoss.com/gnome-text-editor/?ref=news.itsfoss.com
|
||||
[3]: https://news.itsfoss.com/gnome-snapshot/
|
||||
[4]: https://news.itsfoss.com/gnome-42-features/
|
||||
[5]: https://itsfoss.com/gnome-console/?ref=news.itsfoss.com
|
||||
[6]: https://help.gnome.org/users/gnome-terminal/stable/?ref=news.itsfoss.com
|
||||
[7]: https://pagure.io/fedora-workstation/issue/261?ref=news.itsfoss.com
|
||||
[8]: https://gitlab.gnome.org/Teams/Releng/AppOrganization?ref=news.itsfoss.com
|
||||
[9]: https://gitlab.gnome.org/GNOME/Incubator?ref=news.itsfoss.com
|
||||
[10]: https://blogs.gnome.org/mcatanzaro/2023/05/10/gnome-core-apps-update/?ref=news.itsfoss.com
|
@ -1,109 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (What is an open source evangelist?)
|
||||
[#]: via: (https://opensource.com/article/21/1/open-source-evangelist)
|
||||
[#]: author: (Peter Czanik https://opensource.com/users/czanik)
|
||||
|
||||
What is an open source evangelist?
|
||||
======
|
||||
Learn what it takes to be a bridge between a product's users and its
|
||||
developers.
|
||||
![Teamwork starts with communication][1]
|
||||
|
||||
When people learn that I work as an open source evangelist (focusing on [syslog-ng][2] and [sudo][3]), they often ask me what it's like to represent such well-known names in the Linux world. My short answer: It's good!
|
||||
|
||||
I am part of research and development, so it is never boring. I feel that I make an impact when people implement what they learn from me and when the feedback I collect from users influences the development of the product.
|
||||
|
||||
### What is an evangelist?
|
||||
|
||||
I define an evangelist as a bridge between a software's (or other product's) users and its developers. It is not just about sharing good news with users but also collecting feedback from them.
|
||||
|
||||
Evangelists come from a wide range of backgrounds. Some people have a marketing background with a strong interest in technology. Some are developers who like talking to users. I belong to a third group, "power users," or people with in-depth knowledge about a software product from the user's point of view.
|
||||
|
||||
In my job, I work with many, many users. The syslog-ng user base is enormous. It is available on most Linux distributions and BSD variants. Hundreds of millions of devices run syslog-ng, including both the BMW i3 and the Kindle. Most BSD-based appliances, like FreeNAS, run syslog-ng for logging, as do Linux-based network-attached storages (NAS) devices from Synology and QNAP. I would not be surprised to learn that syslog-ng is running somewhere in space.
|
||||
|
||||
Most Linux and Unix users use sudo since it is installed on almost every Linux machine out there. Its community is huge, with tens of millions of people. People often ask me how I cope with these large numbers of users, but it is not difficult.
|
||||
|
||||
### How I became an evangelist
|
||||
|
||||
My journey to becoming an evangelist was an evolutionary process that spanned nearly 20 years. It started many years ago while I was teaching at a university. My next step was working with POWER/PowerPC Linux users and developers. Finally, I started to cover syslog-ng in my job at [Balabit][4] and later began working with sudo.
|
||||
|
||||
My first job at Balabit was to help Linux distributions update the syslog-ng package to the latest upstream version. As I learned more and more about syslog-ng's details, I was asked to help its users. A year later, I was giving talks about syslog-ng at Hungarian and international conferences. Soon after, the feedback I collected from users started to make an impact on product development.
|
||||
|
||||
Eight years later, in 2018, Balabit was acquired by [One Identity][5], and [Todd Miller][6], sudo's maintainer, became my colleague. Until then, I knew only some basic sudo features, but I became more interested in sudo and learning about its advanced features. Soon, I was also evangelizing sudo and evolving from a syslog-ng evangelist into a more generic open source evangelist.
|
||||
|
||||
### Four pillars of technical evangelism
|
||||
|
||||
Technical evangelists do many things that can be broadly divided into four categories: developer, support, technical product marketing, and product management. I'll look at each of these four pillars of technical evangelism in more detail.
|
||||
|
||||
#### Developer
|
||||
|
||||
I am not a developer, but I do many things that developers do, such as packaging syslog-ng for various Linux distributions and FreeBSD, doing lots of testing, integrating syslog-ng with other software, and testing it on exotic platforms. The developer tasks I do help the community and helps me understand its needs better.
|
||||
|
||||
#### Support
|
||||
|
||||
Following bug trackers, watching the syslog-ng keyword in Google Alerts and Twitter, and reading the mailing list enable me to help our user base better. By helping our users, I also understand their problems better.
|
||||
|
||||
#### Technical product marketing
|
||||
|
||||
I really do not like the term "marketing," but writing blogs and talking at conferences *is *marketing. As a former sysadmin, I know my audience, and we have a common voice. Along with my own Twitter handle, [@PCzanik][7], I also post under the [@sngOSE][8] (syslog-ng open source edition) and [@SudoProject][9] (sudo) handles.
|
||||
|
||||
Twitter is a fantastic platform to collect and share technical news. Marketing is the most visible part of my work as an evangelist, even if it is just one aspect of my job.
|
||||
|
||||
* **Event survival tips for introverts: **When people learn that I am doing this job even though I am an introvert, they often ask me how I do it. Giving a talk or working at a conference booth all day long can be difficult; there are too many people, too much noise. Here are my survival tips for events:
|
||||
* Focus on the results. Events are the best opportunity to collect feedback from users. After your talk, you can have good discussions anywhere, even at the booth or in the hallway. Users give a lot of feedback in real life at events, and remembering their comments helps a lot.
|
||||
* Keep in mind when the event is over. Knowing that you have to stay only one more hour in an environment with a high level of noise helps a lot.
|
||||
* Enjoy that you get to talk to like-minded people who have the same shyness, insecurity, and technical interests as you have.
|
||||
* **Marketing tips during a pandemic: **Many people have asked me how COVID-19 has affected my work since I haven't been able to travel since March 2020. I came back from talking at the [RSA Conference][10] and [Southern California Linux Expo][11] just two days before flights were suspended and borders were closed. Even though all conferences are virtual right now, I can still give talks about sudo and syslog-ng. But this means feedback is missing or minimal—there is no hallway track to meet users nor a dinner for speakers to discuss the latest and greatest technologies. Participation and attention are also less focused, as there are plenty of distractions when people are working from home. I have seen many different efforts to work around this situation. Each has its own drawbacks and advantages:
|
||||
* A global chat room is good for a smaller event. But if an event has more than just a few dozen people, then it turns into a continuous roll of 'Hi from Boston, MA' and similar messages without a chance for a meaningful conversation.
|
||||
* If an event has multiple tracks, a dedicated chat for each track can be helpful. Both the users and the speaker can learn a lot from the questions and remarks posted in the chat. A moderator can make it twice as much useful, keeping the discussion on topic and making sure that questions reach the speaker during the Q&A part of the talk.
|
||||
* A chat roulette is good to connect random strangers and might result in good discussions. But for a speaker, it is way too random.
|
||||
* Tracking chats is good but many people are uncomfortable to post questions or share experiences in public. A possibility for direct chat with the speaker can resolve this problem.
|
||||
|
||||
|
||||
|
||||
#### Product management
|
||||
|
||||
I am not a product manager, even though sometimes I wish that the feedback I collect could be turned directly into features. However, I regularly share users' feedback with developers and product management. In internal discussions, I always represent the users' side rather than the easiest way forward for developers or what will generate the most revenue.
|
||||
|
||||
### Why evangelize broadly known and used software?
|
||||
|
||||
Every Linux user knows sudo, and many of them also know syslog-ng. So why evangelize? Well, most people know just the very basics of these applications, which they learned when they started to play with Linux. But neither is a simple utility that has been in maintenance mode for decades; both are living software still under continuous development.
|
||||
|
||||
What most people know about syslog-ng is that it collects log messages and saves them to text files. But it has a lot of [other features][12], including parsing messages, enriching messages with geographical information, precise message routing (filtering), and saving messages to databases, Hadoop, or message queues.
|
||||
|
||||
Sudo is mostly known as a prefix for administrative commands, but it can do a lot more. It can record sessions that run through it, allowing you to check what your users are doing when they exercise their superpowers through sudo. You can also extend sudo with plugins. [Starting with sudo version 1.9][13], you can even extend sudo in Python, making the process a lot easier.
|
||||
|
||||
### Conclusion
|
||||
|
||||
Being an open source evangelist is a very interesting and fun job, even in the COVID-19 era, which has certainly added difficulties to my work. If you have other questions about the role or have a story about how a technical evangelist or developer advocate has helped you, please share them in the comments.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/1/open-source-evangelist
|
||||
|
||||
作者:[Peter Czanik][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://opensource.com/users/czanik
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/laptop-stickers-team-happy_0.png?itok=G2-GcSPp (Teamwork starts with communication )
|
||||
[2]: https://www.syslog-ng.com/
|
||||
[3]: https://www.sudo.ws/
|
||||
[4]: https://en.wikipedia.org/wiki/Balabit
|
||||
[5]: https://www.oneidentity.com/
|
||||
[6]: https://www.linkedin.com/in/millert/
|
||||
[7]: https://twitter.com/PCzanik
|
||||
[8]: https://twitter.com/sngose
|
||||
[9]: https://twitter.com/SudoProject
|
||||
[10]: https://www.rsaconference.com/usa/us-2020
|
||||
[11]: https://www.socallinuxexpo.org/scale/18x
|
||||
[12]: https://www.syslog-ng.com/community/b/blog/posts/building-blocks-of-syslog-ng
|
||||
[13]: https://opensource.com/article/20/10/sudo-19
|
@ -1,65 +0,0 @@
|
||||
[#]: subject: (How the Apache Software Foundation selects open source projects)
|
||||
[#]: via: (https://opensource.com/article/21/6/apache-software-foundation)
|
||||
[#]: author: (Justin Mclean https://opensource.com/users/justin-mclean)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
How the Apache Software Foundation selects open source projects
|
||||
======
|
||||
The Apache Software Foundation (ASF) is built around a unique set of
|
||||
processes and values to ensure openness.
|
||||
![Wide open sky and trees][1]
|
||||
|
||||
As a longtime volunteer and mentor (and current board member) at the [Apache Software Foundation][2] (ASF) and vice president of the Apache Incubator, I'm proud to offer my insights into the unique processes and values with which the ASF operates.
|
||||
|
||||
Centered upon the permissive and pragmatic open source [Apache License][3], the ASF conducts itself differently from many other foundations simply because it is a charitable organization constructed for the public good. For example, the ASF board is elected by members. No one can buy a seat on the board, and the ASF's affiliations are with individuals, not companies. Generally, the corporate affiliation of any individual involved with ASF goes unstated, and it doesn't matter. As an outcome, the ASF has fostered a vendor-neutral environment where companies can comfortably collaborate on building valuable projects.
|
||||
|
||||
Let's take a look at how the ASF selects its projects, the state of open source licensing today, and what you can expect from the ASF heading into the future.
|
||||
|
||||
### The Apache Incubator process and 'The Apache Way'
|
||||
|
||||
Potential Apache projects begin in the [Apache Incubator][4], where they receive assistance and mentoring toward their hopeful graduation as top-level Apache projects. Anyone is welcome to put together a project proposal for the Incubator (they simply need to find someone inside the ASF who's willing to help champion it). When vetting a potential project, the ASF prefers to see a diversity of people and entities involved—and certainly not just a singular corporate body. We've found this greater diversity results in projects that are more widely used and longer lasting.
|
||||
|
||||
The central purpose of the Incubator is to help projects learn and operate in alignment with what we call [The Apache Way][5]. It is a set of values that inform best practices for community-led development. The most important aspects of The Apache Way include strict vendor-neutral independence and prioritization of a strong community, even over the strength of a project's code. Open and transparent communication is crucial as well: The ASF requires that all project communication is publicly accessible and permanently archived to enable asynchronous collaboration. In addition, the open source Apache License is attached to all accepted projects, ensuring that all source code is publicly available as well.
|
||||
|
||||
At the Incubator, we initially look at whether a project is a good fit in terms of how it aligns with these Apache values. It isn't necessary to have 100% alignment, but the project needs to be willing to adapt. There will also be a discussion around ensuring that the project is fully compatible with Apache from a licensing perspective—in some scenarios, dependencies will be removed or replaced as needed. The Apache Way prepares projects to build communities that are self-sustaining. That said, it can be difficult for some projects to build a community, and some don't make it through the incubator.
|
||||
|
||||
Another key element of The Apache Way—one essential to thriving communities—is making decisions based on consensus. In our experience, open discussions and avoiding a single individual project leader are mission-critical to that process. We have had a couple of incubating projects that included a strong personality trying to retain control, and well, those projects didn't succeed for that reason.
|
||||
|
||||
### Open source and the Apache License
|
||||
|
||||
Open source projects come in many varieties. At the same time, using an open source license doesn't automatically make a project open source. It's a project's community that unlocks open source benefits and whose contributions precipitate greater openness and transparency.
|
||||
|
||||
Recently, some companies have made high-profile moves away from the Apache License to less-permissive licensing. If your company changes from an open source to a non-open source license, I have to question why you had that open source license in the first place. It probably meant that the business model didn't fit open source. I believe that by changing away from open source licenses, companies are doing a huge disservice to their communities and their users.
|
||||
|
||||
As I said, the ASF is a non-profit, charitable organization that creates software for the public good. That's the purpose of the permissive Apache License. Making money off that software is fine, but that's not what the Apache License is about. As a rule, ASF disallows any field-of-use restrictions. _Anyone_ can use Apache projects for any reason. The idea behind true open source is that some people who use a project will give back to it, but contributions absolutely cannot be required. The companies that seem so hung up on that point need to understand that isn't how open source works, and that isn't how it should work.
|
||||
|
||||
### The future of open source and the ASF
|
||||
|
||||
Open source has certainly seen outsized adoption in the last five to 10 years and particular acceleration among enterprises. I think it's safe to say that there's hardly any software on the planet that doesn't include or rely upon open source projects in some way. That adoption is only going to grow.
|
||||
|
||||
Unlike some foundations, the ASF is fairly hands-off in terms of project recruitment. Expect the ASF to continue as it has, stating the values of The Apache Way and working with those projects that see value in the ASF's approach. With ASF projects leading at the forefront of major industry shifts—initially with web servers and more recently with big data through projects like Apache Hadoop and Spark, Cassandra, and Kafka—the hands-off stance has shown to be successful and sustainable.
|
||||
|
||||
When it comes to what's next, the ASF has several large and buzzed-about artificial intelligence and machine learning projects. In addition, several Internet of Things (IoT) projects have also been passing through the Apache Incubator, some of which will likely become quite influential. Looking forward, expect the ASF to continue as it has, introducing some hugely successful open source projects used by major industry players, with other smaller projects providing vital—if more niche—appeal.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/6/apache-software-foundation
|
||||
|
||||
作者:[Justin Mclean][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://opensource.com/users/justin-mclean
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/nature_open_sky_tree.png?itok=2J79Futp (Wide open sky and trees)
|
||||
[2]: https://www.apache.org/
|
||||
[3]: https://www.apache.org/licenses/LICENSE-2.0
|
||||
[4]: https://incubator.apache.org/
|
||||
[5]: https://apache.org/theapacheway/
|
@ -1,90 +0,0 @@
|
||||
[#]: subject: "Open source runs on non-code contributions"
|
||||
[#]: via: "https://opensource.com/article/22/8/non-code-contribution-powers-open-source"
|
||||
[#]: author: "John E. Picozzi https://opensource.com/users/johnpicozzi"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Open source runs on non-code contributions
|
||||
======
|
||||
Sometimes the hardest part of becoming an open source contributor is realizing how much you have to offer.
|
||||
|
||||
At this year's DrupalCon North America, EPAM Solution Architect John Picozzi presented a talk about the importance of non-code contribution. He talked about how everyone can get involved and why he believes this is an important topic. This article is a text adaptation of John's talk; find a link below to a video recording of the complete presentation at DrupalCon.
|
||||
|
||||
What is non-code contribution? I asked Google this question and got the following answer: "Any contribution that helps an open source project that does not involve writing code." Thanks, Google, but I already figured that out. If you asked me to dig deeper, I'd say it's about providing your time, skills, and resources to benefit a project.
|
||||
|
||||
### Who is an open source contributor?
|
||||
|
||||
Early on, "contribution" implied writing code. Originally, Drupal's model was "Built by developers, for developers." Over the years, however, the Drupal community has shifted away from that mindset. Our community has learned to value non-code contributions just as much as code: Any contribution is contribution.
|
||||
|
||||
Open source is built in meetups, camps, and cons; it's built-in and by the community. In fact, most of the contributions at those events have very little to do with coding. To have those events, you need attendees, speakers, trainers, and organizers. Don't get me wrong: Of course, open source communities still need people who write code, but that's not the only thing they need. If you participate in the community and share ideas, ask questions, or provide help—congratulations, you're already contributing!
|
||||
|
||||
Is contributor a self-designation ("I'm a contributor") or a community designation ("We say you're a contributor")? It's safe to say that everyone is a contributor: conference attendees, designers who create UI and module logos, marketing folks who help market modules or events, and many more. Don't wait for someone else to give you that designation. You can get involved and feel confident telling others you're a contributor.
|
||||
|
||||
There are many ways to motivate someone (or yourself) to contribute. Money is not always the top motivator. However, sometimes contribution can be paid work. Many people contribute simply because they want to give back to the community.
|
||||
|
||||
Everyone would probably give a different answer from their peers when asked why they contribute, but here are some of the most common responses:
|
||||
|
||||
* It makes you feel good
|
||||
* Building and improving skills
|
||||
* Career development
|
||||
* Making connections/networking
|
||||
|
||||
The list is endless and as varied as the contributors themselves. Each contributor has their own reasons, and there are no right or wrong answers.
|
||||
|
||||
![Reasons to contribute to open source][2]
|
||||
|
||||
Image by: (John Picozzi, CC BY-SA 4.0)
|
||||
|
||||
### Why non-code contribution is important to open source
|
||||
|
||||
Non-code contribution is as valuable to the health of a project as writing code. It helps to get more people with a wide variety of skills involved in the community. Everyone has something to offer and a unique skill set to share.
|
||||
|
||||
There are non-code requirements for all projects, and not everyone is a developer or coder. Moreover, different points of view need to be represented. For example a marketing person will likely have different experiences and perspectives than a developer. Every effort moves open source forward in some way—that's why non-code contribution is essential.
|
||||
|
||||
#### Common challenges
|
||||
|
||||
This definition of contribution may make it sound very simple: Just share your knowledge, express your thoughts, and help the community. However, contributors face several challenges. One of the most common is imposter syndrome. Less experienced contributors may worry that their contribution isn't valuable or helpful. You can combat that feeling by focusing on your specific skills and passions. For example, if you have event organizing experience, you can lean into that and focus on organizing and helping with those activities.
|
||||
|
||||
To combat these negative thoughts, make contributing a positive experience. Work/life/contribution balance is important. Contribution should be enjoyable, not just another job. If you can, implement contribution into your work. Many employers encourage and benefit from your contribution, and it's possible to build a career based on contribution.
|
||||
|
||||
Don't burn out and contribute nonstop during nights and weekends. Just add 30 minutes to the start or end of your day, or incorporate contribution into your regular workday if possible.
|
||||
|
||||
### How to make your first non-code contribution
|
||||
|
||||
At this point in the article, I hope you're thinking, "OK, I'm ready. What do I do?" How do you get involved? Just do it! You only need to get started: For example, to start contributing in the Drupal community, ask in [the issue queue][3] or [Drupal chat][4] or reach out to camp organizers for recommendations. A whole community is waiting to support you.
|
||||
|
||||
![A slide depicting many Drupal community project logos, including regional Drupal meetups, Drupal coffee, Drupal talent and education. The slide is filled with a variety to indicate the large number and wide range of opportunities to participate in community projects.][5]
|
||||
|
||||
Image by: (John Picozzi, CC BY-SA 4.0)
|
||||
|
||||
Remember to follow your skills and interests. You have them, so use them to inspire your contributions. Your interests may differ from your skills: You could decide to contribute to something you have little experience with but always wanted to know more about. Simply talk to people, share knowledge, ask questions, go to a camp or a meetup, and contribute.
|
||||
|
||||
I want to close with a quote by Margaret Mead (an American anthropologist) that perfectly describes open source contribution to me: "Never doubt that a small group of thoughtful, committed citizens can change the world. Indeed, it is the only thing that ever has." Dr. Mead doesn't say "a small group of code writers or developers." She says a thoughtful, committed group of citizens—citizens with great passion and many different skills. That's what powers open source, and that's what powers Drupal.
|
||||
|
||||
Watch the talk below or [on YouTube][6].
|
||||
|
||||
![YouTube video player][7]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/8/non-code-contribution-powers-open-source
|
||||
|
||||
作者:[John E. Picozzi][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/johnpicozzi
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/sites/default/files/lead-images/OSDC_dandelion_520x292.png
|
||||
[2]: https://opensource.com/sites/default/files/2022-08/non-code-contribution-open-source.jpeg
|
||||
[3]: https://www.drupal.org/project/issues/drupal?categories=All
|
||||
[4]: https://www.drupal.org/community/contributor-guide/reference-information/talk/tools/slack
|
||||
[5]: https://opensource.com/sites/default/files/2022-08/Drupal%20contributor.png
|
||||
[6]: https://www.youtube.com/watch?v=NwNqfpISMPM
|
||||
[7]: https://youtu.be/NwNqfpISMPM
|
@ -1,126 +0,0 @@
|
||||
[#]: subject: "Linux Mint Release Cycle: What You Need to Know"
|
||||
[#]: via: "https://itsfoss.com/linux-mint-release-cycle/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Linux Mint Release Cycle: What You Need to Know
|
||||
======
|
||||
Linux Mint is an Ubuntu-based distribution. You probably already know that.
|
||||
|
||||
Ubuntu releases a new version every six months but Linux Mint doesn’t follow the six-monthly release pattern.
|
||||
|
||||
Linux Mint uses the Ubuntu LTS ([long term support][1]) version as its base. An LTS version of Ubuntu is released every two years and hence **you also get a major Mint version every two years** (Mint 19, 20, 21, etc).
|
||||
|
||||
Like the Ubuntu LTS versions, a major Linux Mint version is also supported for five years. Although, there are **three point releases in between** (Mint 20.1, 20.2, 20.3).
|
||||
|
||||
Compared to Ubuntu, how long does Linux Mint receive updates? When should you expect an upgrade for Linux Mint? Should you upgrade when a new version is available?
|
||||
|
||||
Here, let me highlight all these necessary details regarding the release cycle of Linux Mint.
|
||||
|
||||
### Release Cycle of Linux Mint
|
||||
|
||||
Ubuntu releases a long-term support release every two years. A Mint version is followed soon after. In other words, you get a new Mint version every two years.
|
||||
|
||||
So, the Linux Mint 20 was released in 2020 based on Ubuntu 20.04, Mint 21 came in 2022 based on Ubuntu 22.04.
|
||||
|
||||
Unlike Ubuntu, there is no strict release schedule for Mint. There is no predefined release date. The new version arrives when it is deemed ready by its developers.
|
||||
|
||||
#### Point Releases
|
||||
|
||||
In between the two (major) version releases of Mint, there are three point releases that arrive at an interval of six months.
|
||||
|
||||
So, Mint 20 (or 20.0) was released in June ’20. Mint 20.1 came in December’20, Mint 20.2 in June’21 and Mint 20.3 in December’21. After that, the Mint team works on developing the next major release.
|
||||
|
||||
What do these point releases have? A new version of the desktop environment, containing mostly visual changes in the UI. It may also feature new applications sometimes.
|
||||
|
||||
The upgrade to the point release is optional. You can choose to stay with 20.1 and not upgrade it to 20.2 and 20.3. This is preferred by people who don’t like frequent (visual) changes to their systems.
|
||||
|
||||
After the last point release (XX.03), your system will only get security and maintenance updates for installed software. You won’t get new major versions of the desktop environment and some other software like GIMP or LibreOffice.
|
||||
|
||||
#### Support Cycle
|
||||
|
||||
Not all Ubuntu-based distributions give you the same update cycle benefit as Canonical’s Ubuntu. Many Ubuntu-based distributions and the [official flavours][2] provide support for up to 3 years.
|
||||
|
||||
Fortunately, for **Linux Mint**, you get the same update perks as Ubuntu.
|
||||
|
||||
**Each Linux Mint release is supported for five years**. After that, you must upgrade to the next version or install the newer version afresh.
|
||||
|
||||
For example, Mint 20 was released in 2020, a few months after Ubuntu 20.04. Ubuntu 20.04 LTS is supported till 2025 and thus Mint 20 series is also supported till 2025.
|
||||
|
||||
All point releases of a series are supported till the same date. Mint 20.1, 20.2, and 20.3 will all be supported till 2025.
|
||||
|
||||
Similarly, Ubuntu 22.04 LTS will be supported until April 2027. You can expect the update cycle for Linux Mint 21 series (based on Ubuntu 22.04) until the same timeline.
|
||||
|
||||
**To summarize:**
|
||||
|
||||
* You get a new major version of Linux Mint every two years
|
||||
* Each major version is supported for five years
|
||||
* Each major release (version XX) is followed by three point releases (XX.1, XX.2, XX.3) before the next major release
|
||||
* The point releases (XX.1, XX.2, XX.3) are supported till the same time as their major version (XX)
|
||||
|
||||
### When Should You Upgrade Linux Mint?
|
||||
|
||||
That totally depends on you.
|
||||
|
||||
A new major version comes every two years. If you can choose to upgrade it then or you can stay with your current version for its entire lifecycle of five years.
|
||||
|
||||
Unless you want access to the latest features and improvements, you can choose not to upgrade your Linux Mint installation to another major version.
|
||||
|
||||
For point releases, you may or may not choose to update. Like, 20 to 20.1 or 20.1 to 20.2. You will still get important security and maintenance updates even if you are not using the latest point release.
|
||||
|
||||
You can refer to our [Linux Mint upgrade guide][3] for help.
|
||||
|
||||
### Linux Mint Versioning and Naming
|
||||
|
||||
Unlike Ubuntu’s flavours, Linux Mint has a different numbering scheme. Linux Mint likes to bump up the number with every Ubuntu LTS release.
|
||||
|
||||
In other words:
|
||||
|
||||
Linux Mint 19 → **Ubuntu 18.04 LTS**
|
||||
|
||||
Linux Mint 20 → **Ubuntu 20.04 LTS**
|
||||
|
||||
Linux Mint 21 → **Ubuntu 22.04 LTS**
|
||||
|
||||
So, you should steer clear of the following confusion:
|
||||
|
||||
*Linux Mint 20 was based on Ubuntu 20.04 does not mean that Linux Mint 21 will be based on Ubuntu 21.04.*
|
||||
|
||||
Furthermore, every release has **three-point releases**, with minor updates to the core and potential upgrades to some Linux Mint applications.
|
||||
|
||||
Now, coming to its **naming scheme**:
|
||||
|
||||
Every Linux Mint release, be it minor or major, has a codename. Usually, it is a female name, normally of Greek or Latin origin.
|
||||
|
||||
Like Ubuntu, there is a pattern in the codename as well. The codenames are in alphabetically increasing order for the major releases. When it comes to point releases, you will find a new name starting with the same alphabet.
|
||||
|
||||
For example, Mint 20 was called **Ulyana**, with 20.1 as **Ulyssa**, 20.2 as **Uma**, and 20.3 **Una**. Similarly, Mint 19 series had codenames starting with T.
|
||||
|
||||
At the time of writing this, Mint 21 (the latest release) codename starts with **V,** and the first release of the 21 series is called **Vanessa**.
|
||||
|
||||
There will be at least three more minor releases in the Mint 21 series, and they will be released every six months until the next Mint major release in 2024. And they all will have a codename starting with the letter V.
|
||||
|
||||
### Keep it Minty
|
||||
|
||||
I hope this article clears any confusion with Linux Mint upgrades and educates you more about the release and update cycle on Linux Mint.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/linux-mint-release-cycle/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://itsfoss.com/long-term-support-lts/
|
||||
[2]: https://itsfoss.com/which-ubuntu-install/
|
||||
[3]: https://itsfoss.com/upgrade-linux-mint-version/
|
@ -1,60 +0,0 @@
|
||||
[#]: subject: "Open source matters in data analytics: Here's why"
|
||||
[#]: via: "https://opensource.com/article/22/9/open-source-data-analytics"
|
||||
[#]: author: "Ray Paik https://opensource.com/users/rpaik"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Open source matters in data analytics: Here's why
|
||||
======
|
||||
Open source is critical in data analysis while providing long-term benefits for the users, community members, and business.
|
||||
|
||||
It's been a little over a year since I wrote my article on Opensource.com, [introducing the Cube community][2]. As I worked with our community members and other vendors, I've become more convinced of the benefits of open source in data analytics. I also think it's good to remind ourselves periodically why open source matters and how it provides long-term benefits for everyone.
|
||||
|
||||
### Benefits of open source for users and customers
|
||||
|
||||
One of the first things I heard from the Cube community was that they often received better support in chat from other community members than they did with proprietary software and a paid support plan. Across many open source communities, I find people who are motivated to help other (especially new) community members and see it as a way of giving back to the community.
|
||||
|
||||
You don't need permission to participate in open source communities. A good open source community isn't for developers only, and people feel there's a culture of trust and feel comfortable enough to have open discussions on chat platforms, forums, and issue trackers. This is especially important for non-developers, such as data engineers or analysts in the data analytics space.
|
||||
|
||||
Of course, with open source software, there's the ability to see and contribute directly to the codebase to fix bugs or add new features. Using an example from the Cube community, GraphQL support was one of our highlights last year, and our community members [contributed to this feature][3].
|
||||
|
||||
There are plenty of benefits to an active community. Even in cases where the vendor cannot release a fix in a timely manner, you can still make the changes yourself and own the runtime while you wait for an "official" fix. Community members and users also don't like being locked in to a vendor's whims, and there's no pressure to upgrade when using open source software.
|
||||
|
||||
Open source communities leave many "bread crumbs" in different tools like GitLab, GitHub, Codeberg, YouTube, and so on, making it a lot easier to gauge not just the volume of activities but also the level of community engagement and culture. So even before trying out the software, you can get a good sense of the community's health (and, by extension, the company) before deciding if this is a technology you want to invest in.
|
||||
|
||||
### Benefits of open source for the company
|
||||
|
||||
There's no better way to lower the barrier to adoption of your software than being open source. Early on, this helps grow adoption among the technical audience. Early adopters then often become some of your most loyal fans for years to come.
|
||||
|
||||
Early adopters are also catalysts for speeding up your development. Their feedback on your product and feature requests (for instance on your issue trackers) will provide insight into real-world use cases. In addition, many of the open source enthusiasts participate in co-development efforts (for example, on your repositories) for new features or bug fixes. Needless to say, this is precious for companies in the early days when there is a shortage of resources in development and product teams.
|
||||
|
||||
As you tend to your community, you will help it grow and diversify. Increased diversity isn't just in demographics or geography. You want users from new industries, or users with different job titles. Using the Cube community as an example, I mostly talked to application developers a year ago, but now I’m meeting with more people that are data consumers or users.
|
||||
|
||||
The collaborative culture in good open source communities lowers the barrier to entry not just for developers but also for others who want to ask questions, share their ideas or make other [non-technical contributions][4]. You get better access to diverse perspectives as your company and community grows.
|
||||
|
||||
Being open source makes it easy to collaborate with other vendors and communities, not just with individual community members. For example, if you want to work with another vendor on a database driver or integration, it's a lot simpler when you can just collaborate across open source repositories.
|
||||
|
||||
### Community matters
|
||||
|
||||
All these benefits lead to lowering the barriers to entry for using your software and collaboration. The open source model will not only help individual software or companies, but it can help accelerate the growth of our entire ecosystem and the industry. I hope to see more open source companies and communities in the data analytics space and for all of us to continue this journey.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/22/9/open-source-data-analytics
|
||||
|
||||
作者:[Ray Paik][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/rpaik
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/sites/default/files/lead-images/metrics_data_dashboard_system_computer_analytics.png
|
||||
[2]: https://opensource.com/article/21/6/cubejs
|
||||
[3]: https://github.com/cube-js/cube.js/pull/3555
|
||||
[4]: https://opensource.com/article/22/8/non-code-contribution-powers-open-source
|
@ -1,58 +0,0 @@
|
||||
[#]: subject: "How open source leaders can foster an inclusive environment"
|
||||
[#]: via: "https://opensource.com/article/23/2/open-source-leaders-inclusive-environment"
|
||||
[#]: author: "Kate Carcia Poulin https://opensource.com/users/kcarcia"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
How open source leaders can foster an inclusive environment
|
||||
======
|
||||
|
||||
Open source leaders can foster inclusive communities for newcomers by creating belonging, providing opportunities, and showing support. They understand the intricacies of submitting code and making connections with other community members. In doing so, they build credibility and gain influence. This experience is invaluable to contributors who want to participate but don't know where to start.
|
||||
|
||||
A few years ago, I found myself in this daunting position when I began managing a team active in the Linux kernel community without any experience in kernel myself. The complex code base, expansive email archives, and high-stakes communications intimidated me. When new kernel developers on my team expressed similar feelings, I realized my experience was ubiquitous. For those supporting contributors or those seeking to contribute themselves, the path to entry is not always clear and can feel unattainable.
|
||||
|
||||
### 4 strategies for inclusive leadership
|
||||
|
||||
Open source leaders can have an impact by creating pathways for those looking to integrate into the community. The strategies covered in this article can be applied in formal [mentoring][1] or [coaching][2] relationships but are just as applicable in day-to-day interactions. Seemingly minor exchanges often have the most significant impacts when fostering inclusivity in an environment.
|
||||
|
||||
### Approach with curiosity
|
||||
|
||||
Someone with less experience or coming from a non-traditional background may solve problems in unexpected or different ways. Reacting to those differences with judgment or criticism can create an unsafe environment for learning in communities that often have a steep knowledge curve. For example, long-time contributors to the Linux kernel understand its rich history. This means they have an implied understanding of community decisions and reactions. New contributors must build this knowledge but can only effectively do so if they feel safe taking necessary risks to grow their skill set.
|
||||
|
||||
Open source leaders can support newcomers as they learn by approaching them with curiosity. Consider asking questions like, "Can you help me understand why you took this approach?" rather than declaring proposed solutions "right or wrong". Questions open a dialog for continued learning rather than shutting down ideas that are an important aspect of exploration. This process also broadens the leader's viewpoint, who can learn by considering fresh perspectives.
|
||||
|
||||
### Identify and share learning opportunities
|
||||
|
||||
Open source leaders can identify projects suitable for others to gain technical expertise and learn community processes. In creating opportunities for others, leaders also create more opportunities for themselves. This is because they make more time to explore new endeavors while continuing to advance their work through delegation. As leaders grow, their ability to enable others around them to succeed becomes just as critical as their direct contributions.
|
||||
|
||||
Knowing that [failure][3] is a part of learning, think about identifying projects where newcomers can safely fail without drastic consequences. In the Linux kernel, for example, there are certain parts of the code base where small changes can have disastrous consequences. Consider projects where small wins are achievable to help newcomers build confidence and feel empowered without high stakes. Make these ideas accessible by sharing them at conferences, in email forums, or in any way your community advertises how to become involved.
|
||||
|
||||
### Demonstrate vulnerability
|
||||
|
||||
Having more experience doesn't mean you know everything. More often than not, even the most experienced Linux kernel contributors I've worked with are humbled by new challenges in uncharted subsystems. It's common for community members with less experience to view more experienced community members as having it all figured out. But having experience is about being adept at figuring out what you don't know. If you are in a position of authority and regarded as an expert, demonstrating vulnerability by sharing personal experiences of struggle and perseverance can be encouraging to those dealing with similar feelings.
|
||||
|
||||
### Vouch for others
|
||||
|
||||
Introduce newcomers to your network. Connect them with community members with expertise in areas that pique their interests. Say their name in public forums and call out the excellent work they are doing. As a respected leader, your endorsement can help them build connections and trust within the community.
|
||||
|
||||
We can have rich and diverse communities by building in inclusivity. It is my hope that open source leaders will consider these suggestions because those you lift into the community will someday be able to extend a hand to others.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/2/open-source-leaders-inclusive-environment
|
||||
|
||||
作者:[Kate Carcia Poulin][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/kcarcia
|
||||
[b]: https://github.com/lkxed
|
||||
[1]: https://opensource.com/article/22/8/mentoring-power-multiplier
|
||||
[2]: https://enterprisersproject.com/article/2021/4/it-leadership-how-to-coach?intcmp=7013a000002qLH8AAM
|
||||
[3]: https://opensource.com/article/20/11/normalize-failure
|
@ -1,110 +0,0 @@
|
||||
[#]: subject: "The power of sisterhood and allyship in open source"
|
||||
[#]: via: "https://opensource.com/article/23/3/power-sisterhood-allyship-open-source"
|
||||
[#]: author: "Paloma Oliveira https://opensource.com/users/discombobulateme"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
The power of sisterhood and allyship in open source
|
||||
======
|
||||
|
||||
A little more than two years ago, I switched my career from artist to [software developer][1]. I didn’t do it alone. I had the support of PyLadies Berlin, the local Berlin chapter of an international volunteer-based group made to support women in technology.
|
||||
|
||||
We are used to the term “career change” as if it were a break in a trajectory. But in my experience, that’s never really the case. A person cannot erase themselves from what they consist of, and this richness of diverse backgrounds resulted in several breaking points. Individual journeys, often far from computer science, hold accountability for the social implication of technology and bring richness and creativity to the technology industry.
|
||||
|
||||
Being an artist has always given me freedom and opened doors to explore several fields, from architecture to sciences. A great part of my artistic experience took place in hackerspaces in Brazil, surrounded by the Free/Libre Open Source Software (FLOSS) ideology, the open free/libre culture of sharing. Nowadays, for several ideological and practical reasons that do not fall within the scope of this article, the most common term is “open source”. And lucky for me, my career switch started with an internship in an Open Source Program Office (OSPO), which made this switch feel — almost — like home.
|
||||
|
||||
### Standing on the shoulders of giants
|
||||
|
||||
We all benefit from open source. Whether you code or not, the software you use relies on it. Since it is an open culture where everything is built upon the work of others, it’s common to hear the term “standing on the shoulders of giants”, which refers to the idea that advancements are built upon the work and contributions of those who came before us. This highlights the importance of learning from the experiences and accomplishments of others.
|
||||
|
||||
This article is meant to unveil whose shoulders I am standing on. And this is not only to show my gratitude to them but also to answer a question I was asked while being interviewed by Kevin Ball and Christopher Hiller at JSParty: What can you do to improve diversity in your surroundings?
|
||||
|
||||
“Standing on the shoulder of giants” regards not only to open source but its the base of sisterhood in technology by recognizing female pioneers and leaders’ roles in the field. By acknowledging the contributions of women who came before us, we can gain inspiration and insight into the challenges they faced and learn from their experiences in overcoming some shackles. In this way, we “stand on the shoulders of giants” and build upon their work to create a more inclusive and supportive environment for women and _underestimated_ [2] people in technology.
|
||||
|
||||
By supporting one another, recognizing the importance of learning from the experiences of others, and forming a supportive network, we can work together to overcome challenges and build a better future for all by creating a more equitable environment. By doing so, we are creating new giants for others to stand upon in the future.
|
||||
|
||||
### Organizing a local community: Meili Triantafyllidi and Jessica Greene
|
||||
|
||||
I joined PyLadies Berlin, which was founded by Meili in 2013. Jessica, one of the organizers, was a junior software engineer at Ecosia. Being a community organizer means using your free time to passionately do all the work needed to create a safe, supportive networking and learning space. It includes finding a hosting place, promoting the event, curating themes, finding speakers, and most importantly, listening to the needs of the community.
|
||||
|
||||
Being new in a multicultural city and trying to find my place in it, PyLadies was less a place to learn Python and more a center to be welcomed and understood.
|
||||
|
||||
According to the narrative we are told, tech is the new promise land everyone is heading to, with infinite job postings, freedom to switch countries, and a well-paid careers. This isn’t being offered in other sectors, or at least not at this scale. And communities focused on bringing diversity to the space offer to make this a realistic possibility for everyone.
|
||||
|
||||
Every event starts with community announcements, a simple slide containing an agenda, and promotions for similar events. Two of the events I heard guided me to my career path: the Rail Girls Summer of Code program and the FrauenLoop. Feeling compelled to contribute back to the supportive community I’d already received, I became one of the co-organizers.
|
||||
|
||||
### Networking and learning: FrauenLoop
|
||||
|
||||
Founded by Dr. Nakeema Stefflbauer in 2016, FrauenLoop has committed to changing the face of EU-based tech companies. The program is divided in 3 months cycles, which are composed of weekly evening classes and weekend workshops to train women who don’t have a tech industry connection.
|
||||
|
||||
The learning curriculum is developed around the professional needs of women, from technical industry-focused classes to workshops delivered by women on how the tech industry really works and how to successfully navigate it. Some common topics are salary negotiation and practicing technical interviews. Most recently, in response to the layoffs, there was a workshop run with the Berlin Tech Workers Coalition about Demystifying the Termination Challenge Process.
|
||||
|
||||
The focus is on women, especially migrants, the ones changing family status and careers who are really ready to go job searching.
|
||||
|
||||
Being around Nakeema is itself an inspiration. The program was a starting point for understanding what coding means and learning the basics of web development. But the greatest part was connecting with others who would later become PyLadies co-organizers, speakers, mentors in side projects, and friends.
|
||||
|
||||
FrauenLoop also gives its students the opportunity to go back as mentors. For me, this was the breaking point that definitively set my path. I have been a mentor for over a year, and it has improved my confidence in myself and reinforced my own learning. Being challenged by the responsibility to facilitate the learning to others, you inevitably have to learn.
|
||||
|
||||
There I met Victoria Hodder, who was my partner applying to Rail Girls Summer of Code.
|
||||
|
||||
### Diversity programs: from Rail Girls Summer of Code to Ecosia Summer of Code
|
||||
|
||||
Rail Girls Summer of Code was a global fellowship program for women and non-binary coders where successful applicants received a three-month scholarship to work on existing open source projects. The program was active from 2013 to 2020.
|
||||
|
||||
The application was submitted by a team, meaning two people from the same city. While it was a remote program, having a local peer ensured accountability and support.
|
||||
|
||||
It also required a place to work, an environment suitable for working for three months. This place could be your home, a co-working space, a work office, or in the best-case scenario, a coaching company. Although the coaching company had no obligation beyond offering a space to work, it connected us with a local company and gave us a space to have visibility and network with people within the industry we wanted to enter.
|
||||
|
||||
Jessica, my PyLadies Berlin co-organizer, had kick-started her career in tech with the program. She proposed Ecosia, her then and current company, to be the coaching company for two teams. One team was myself and Victoria (we focused on web development) and the other was Taciana Cruz and Karina Cordeiro (they focused on data).
|
||||
|
||||
During the three month application period, the COVID-19 pandemic hit hard. Victoria and I had been _sort of_ selected for the Rail Girls Program after getting involved with the [if-me][2] project. _Sort of selected._ Communication with Rail Girls got really messy by the end of the selection period until they finally canceled the program at the last minute.
|
||||
|
||||
We were all devastated. The weight of the pandemic hit us hard, crushing not only a chance for a paid job but a dream of starting a new career that had been cultivated for so long.
|
||||
|
||||
Jessica, a junior software developer at the time, knew that. So she took a step further and, instead of feeling powerless, she took a stand. She piled more work on top of her personal struggles navigating her new role and created the [Ecosia Summer of Code][3].
|
||||
|
||||
Ecosia couldn’t cover scholarships, but Jessica developed a mentorship instead. The program used the company’s available resources, offering mentorship from highly qualified professionals to fill gaps in our knowledge. As Victoria and Karina dropped the initiative, needing paid jobs, Taciana and I managed to continue on individual projects. We found common themes to work on and supported each other.
|
||||
|
||||
About a year later, I was invited by one of those mentors, Jakiub Fialla, to talk about open source to the company. I am still connected with a few others, and every now and then, I stop by and meet some of them when they host PyLadies Berlin events. How sweet is that?
|
||||
|
||||
### Sponsoring diversity: Coyotiv and Armagan Amcalar
|
||||
|
||||
When Rail Girls was canceled, I saw an Instagram post about a bootcamp offering a full stack web development program scholarship.
|
||||
|
||||
The application was fairly simple, so I applied. I quickly received a spontaneous invite for an interview. Depressed, messy, and hopeless, I attended without any preparation, so I was brutally honest. The conversation was equally honest, which I highly appreciated.
|
||||
|
||||
The interviewer was Armagan Amcalar, the founder of the [Coyotiv School Of Software Engineering][4]. Coming from a music background, Armagan is creative and thinks critically about the world around him. The school itself started after he offered free crash courses in Women Techmakers Berlin for three years. He doesn’t use a rote diversity speech, he acts upon it, offering scholarships to all full-time participants.
|
||||
|
||||
I got the scholarship, and together with four other people (3 of them women), the first cohort was formed. Bootcamp lasted for 17 super intense weeks. This was fundamental in changing my perspective on code. Unlike other places I had tried to learn, the least of Armagan’s concerns is about the framework we choose. Instead, it was all about understanding what we were doing, and thinking about software engineering as a creative, powerful tool shaping the world we live in. I didn’t get just a scholarship, I got a friend and a mentor for life who offered me a turn and opened a door for a better life.
|
||||
|
||||
Do you think I am overreacting? Talk to people around me. My partner, who has known me for about 14 years at this point, commented on how much I had changed. Disciplined, vibrating, happy about the things I was learning along the way, having deep conversations about software and its surroundings, not being conflicted, letting go a life-long career in arts, and finding a purpose. It was so remarkable that he joined a few cohorts after me.
|
||||
|
||||
The school provided me with technical knowledge, interview training, CV support, and public speaking training. Graduation was not only about developing a personal full-stack project. You also had to give back to open source, in recognition that so much software is built upon it, by publishing a library on npm. Node Package Manager (npm), is a Javascript package repository that allows you to reuse code by easily installing it within your Javascript-based projects. Although I have been involved with the free software movement and open source for over a decade, I’d never thought I could give back to it with actual code.
|
||||
|
||||
### My contribution
|
||||
|
||||
This is how [rainbow-penguin][5] was born. It’s an npm library that sends motivational messages to developers while coding. Maybe it’s not a very functional tool. Still, to me, it was a needed tool based on my personal experience wading through the frustrations of learning to code, contributing to the if-me project, and hearing so many similar stories from other learners.
|
||||
|
||||
Through my experiences in these programming communities, I learned that code is much bigger than the lines of code, and how powerful and necessary it is to have allies. No matter who you are or what you think you know, there are opportunities within the free and open source software communities. Your participation doesn't have to be big, because together our contributions are greater than their sum. Take the first step. Find your allies within open source.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/power-sisterhood-allyship-open-source
|
||||
|
||||
作者:[Paloma Oliveira][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/discombobulateme
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://enterprisersproject.com/article/2022/9/software-developer-day-life?intcmp=7013a000002qLH8AAM
|
||||
[2]: https://www.if-me.org/
|
||||
[3]: https://blog.ecosia.org/ecosia-summer-of-code-mentoring/
|
||||
[4]: https://www.coyotiv.com/
|
||||
[5]: https://www.npmjs.com/package/rainbow-penguin
|
@ -1,70 +0,0 @@
|
||||
[#]: subject: "My first pull request at age 14"
|
||||
[#]: via: "https://opensource.com/article/23/3/my-first-code-contribution-age-14"
|
||||
[#]: author: "Neil Naveen https://opensource.com/users/neilnaveen"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
My first pull request at age 14
|
||||
======
|
||||
|
||||
My name is Neil Naveen, and I'm a 14-year-old middle schooler who's been coding for seven years. I have also been coding in [Golang][1] for two years.
|
||||
|
||||
Coding isn't my only passion, though. I've been practicing Jiu-Jitsu for four years and have competed in multiple competitions. I'm passionate about coding and Jiu-Jitsu, as they teach me important life lessons.
|
||||
|
||||
### Codecombat
|
||||
|
||||
I started coding on [Codecombat][2], which taught me many fundamental coding skills.
|
||||
|
||||
One of the most exciting moments in my coding journey was when I ranked 16th out of around 50,000 players in a multiplayer arena hosted by Code Combat. I was just 11 years old then, and it was an incredible achievement for me. It gave me the confidence to continue exploring and learning new things.
|
||||
|
||||
### Leetcode
|
||||
|
||||
After Codecombat, I moved on to [leetcode.com][3]. This site helped me hone my algorithm coding skills with tailored problems to learn specific algorithms.
|
||||
|
||||
### Coding Game
|
||||
|
||||
When I turned 13, I moved on to bot programming on [Coding Game][4]. The competition was much more intense, so I had to use better algorithms. For example, when creating ultimate tic-tac-toe AI, I used algorithms like Minimax and Monte Carlo Tree Search to make my code fast and efficient.
|
||||
|
||||
### GitHub CLI
|
||||
|
||||
One day, I saw my dad using an open source tool called [GitHub CLI][5], and I was fascinated by it. GitHub CLI is a tool that allows users to interact with the GitHub API directly from the command line without ever having to go to GitHub itself.
|
||||
|
||||
Another day, my dad was reviewing PRs from a bot designed to detect vulnerabilities in dependencies.
|
||||
|
||||
Later, I thought about GitHub CLI and this bot, and wondered whether GitHub CLI itself was being monitored by a security bot. It turned out that it was not.
|
||||
|
||||
So I created a fix and included a security audit for GitHub CLI.
|
||||
|
||||
To my delight, my contribution was accepted. It was merged into the project, which was a thrilling moment for me. It was an excellent opportunity to contribute to a significant project like a popular tool like GitHub CLI, and to help secure it. Here's the link to my PR: [https://github.com/cli/cli/pull/4473][6]
|
||||
|
||||
### Commit your code
|
||||
|
||||
I hope my story will inspire other young people to explore and contribute to the open source world. Age isn't a barrier to entry. Everyone should explore and contribute. If you want to check out my website, head over to [neilnaveen.dev][7]. You can also check out my [Leetcode profile][8]. And if you're interested, check out my talk at [CloudNativeSecurityCon][9] recording.
|
||||
|
||||
I'm grateful for the opportunities I've had so far, and I'm excited to see what the future holds for me. Thank you for reading my story!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/my-first-code-contribution-age-14
|
||||
|
||||
作者:[Neil Naveen][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/neilnaveen
|
||||
[b]: https://github.com/lkxed/
|
||||
[1]: https://opensource.com/article/18/11/learning-golang
|
||||
[2]: https://codecombat.com
|
||||
[3]: https://leetcode.com/neilnaveen
|
||||
[4]: https://www.codingame.com/profile/0fa733a2c7f92a829e4190625b5b9a485718854
|
||||
[5]: https://github.com/cli/cli
|
||||
[6]: https://github.com/cli/cli/pull/4473
|
||||
[7]: https://neilnaveen.dev
|
||||
[8]: https://leetcode.com/neilnaveen/
|
||||
[9]: https://www.youtube.com/watch?v=K6NRUGol-rE
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user