mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-28 23:20:10 +08:00
Merge branch 'LCTT:master' into patch-20
This commit is contained in:
commit
466615a4bc
@ -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
|
@ -3,15 +3,18 @@
|
||||
[#]: author: "sk https://ostechnix.com/author/sk/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15720-1.html"
|
||||
|
||||
如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘
|
||||
======
|
||||
**Ventoy** 是一个免费、开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。
|
||||
|
||||
你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO 数量。
|
||||
![][0]
|
||||
|
||||
Ventoy 是一个自由开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。
|
||||
|
||||
你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO。
|
||||
|
||||
你甚至可以创建子文件夹,例如 Linux ISO、Windows ISO,并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目,并将它们添加到启动菜单中。
|
||||
|
||||
@ -25,28 +28,28 @@ Ventoy 有很多有用的功能,如:
|
||||
- 快速(仅受限于复制 ISO 文件的速度)。
|
||||
- 你不需要解压缩 ISO 文件。直接从 ISO 文件启动即可。
|
||||
- 可被安装在 U 盘/本地硬盘/SSD 盘/NVMe 盘/SD 卡中。
|
||||
- 它支持<ruby>传统<rt>Legacy</rt></ruby> BIOS、IA32 UEFI、x86_64 UEFI、ARM64 UEFI、MIPS64EL UEFI 等(译者注:这些英文缩写都是代表了不同的 CPU 架构。如 IA32 是指英特尔32位体系架构,x86_64 指基于 x86 架构的64位拓展架构,ARM64 则是 ARM 体系结构的64位扩展、MIPS64EL 是指64位小端序的 MIPS 架构)。
|
||||
- 它支持<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。
|
||||
- 支持 MBR 和 GPT 两种分区格式都。默认使用 MBR。
|
||||
- 你可以用大于 4 GB 的 ISO 文件创建引导盘。
|
||||
- 几乎所有类型的操作系统都支持。开发者声称超过 900 多个 ISO 文件已通过 Ventoy 的测试。
|
||||
- 几乎所有类型的操作系统都支持。开发者声称 Ventoy 已经测试过了超过 900 多个 ISO 文件。
|
||||
- 支持 Linux 自动安装。意味着你可以添加你的模板或脚本来进行无人值守的部署。例如,Redhat/CentOS 的 kickstart 脚本,SUSE 的 autoYast xml,Debian 的 preseed 脚本。把脚本或模板放在 U 盘里,让 ventoy 使用它进行无人值守安装。你也可以在任何时候更新这些脚本。不需要创建新的 ISO 文件,只要使用原来的 ISO 即可。
|
||||
- 支持 Windows 系统的自动安装。
|
||||
- 在启动期间对 USB 盘写保护。
|
||||
- 不影响 USB 启动盘的正常使用。这意味着你可以将 U 盘用于文件复制等其他用途。
|
||||
- 当有新的版本时可供升级时,无须重新创建 USB 启动盘。在版本升级过程中,数据不会被破坏。
|
||||
- 当有新的 Ventoy 版本时可供升级时,无须重新创建 USB 启动盘。在版本升级过程中,数据不会被破坏。
|
||||
- 当一个新的发行版发布时,不需要更新 Ventoy。
|
||||
- 将 ISO 文件复制/粘贴到 U 盘中,即可添加一个新的操作系统,没有必要从头开始。
|
||||
- 支持 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式。在某些机器上,ISO可能无法加载。在这种情况下,你可以使用<ruby>内存盘<rt>Memdisk</rt></ruby> 模式。Ventoy 将把整个 ISO 文件加载到内存中,然后启动它。
|
||||
- 支持 <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 盘
|
||||
|
||||
@ -56,7 +59,7 @@ Ventoy 有很多有用的功能,如:
|
||||
|
||||
首先,你需要找到你的 U 盘名称。可以通过下面的指南,来了解在 Linux 中寻找磁盘驱动器细节的不同方法。
|
||||
|
||||
- [如何在 Linux 中 寻找硬盘驱动器细节][1]
|
||||
> **[如何在 Linux 中 寻找硬盘驱动器细节][1]**
|
||||
|
||||
我将使用 `fdisk` 命令来查找我的 U 盘的详细信息:
|
||||
|
||||
@ -64,7 +67,7 @@ Ventoy 有很多有用的功能,如:
|
||||
$ sudo fdisk -l
|
||||
```
|
||||
|
||||
**样例输出:**
|
||||
样例输出:
|
||||
|
||||
```
|
||||
[...]
|
||||
@ -79,7 +82,7 @@ Disk identifier: 0x4d924612
|
||||
|
||||
如你所见,我的 U 盘的名称是 `/dev/sdb`。
|
||||
|
||||
接下来,从[发布页][2]下载最新的 Ventoy 脚本。截至编写本指南时,最新版本是 `1.0.77`(译者注:截至翻译完成时,最新版本是 `1.0.91`)。
|
||||
接下来,从 [发布页][2] 下载最新的 Ventoy 脚本。截至编写本指南时,最新版本是 `1.0.77`(LCTT 译注:截至翻译完成时,最新版本是 `1.0.91`)。
|
||||
|
||||
到你下载脚本的位置,解压它。我把它解压在一个名为 `ventoy` 的文件夹中。使用 `cd` 命令切换到 `ventoy` 目录中:
|
||||
|
||||
@ -95,17 +98,17 @@ $ sudo sh Ventoy2Disk.sh -I /dev/sdb
|
||||
|
||||
将 `/dev/sdb` 替换为你的 U 盘名称。
|
||||
|
||||
这里,大写的 `I` 参数意味着将无视之前是否安装过 ventoy,**强制安装 ventoy**到 `sdb`。当你使用小写的 **i**,若此时磁盘已经安装了ventoy ,它会安装失败。
|
||||
这里,大写的 `-I` 参数意味着将无视之前是否安装过 ventoy,**强制安装 ventoy** 到 `sdb`。当你使用小写的 `-i`,若此时磁盘已经安装了 ventoy ,它会安装失败。
|
||||
|
||||
要启用安全启动支持,使用 **-s** 参数。默认情况下,这个选项是关掉的。
|
||||
要启用安全启动支持,使用 `-s` 参数。默认情况下,这个选项是关掉的。
|
||||
|
||||
```
|
||||
$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb
|
||||
```
|
||||
|
||||
你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称,并输入 **Y**,按回车键继续:
|
||||
你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称,并输入 `Y`,按回车键继续:
|
||||
|
||||
**样例输出:**
|
||||
样例输出:
|
||||
|
||||
```
|
||||
**********************************************
|
||||
@ -162,7 +165,7 @@ Install Ventoy to /dev/sdb successfully finished.
|
||||
$ sudo fdisk -l
|
||||
```
|
||||
|
||||
**样例输出:**
|
||||
样例输出:
|
||||
|
||||
```
|
||||
[...]
|
||||
@ -193,7 +196,7 @@ Ventoy 将扫描整个 U 盘,为所有可用的 ISO 文件创建菜单项,
|
||||
$ rsync *.iso /media/$USER/ventoy/ --progress -ah
|
||||
```
|
||||
|
||||
请注意,在某些 Linux 发行版中,U 盘可能被安装在 **/run/media/** 位置。
|
||||
请注意,在某些 Linux 发行版中,U 盘可能被挂载在 `/run/media/` 位置。
|
||||
|
||||
大功告成!我们刚刚用 Ventoy 创建了多重引导的 U 盘。
|
||||
|
||||
@ -203,9 +206,7 @@ $ rsync *.iso /media/$USER/ventoy/ --progress -ah
|
||||
|
||||
选择你想启动的操作系统,并按下回车键加载它!
|
||||
|
||||
下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示:(译者注:此处视频链接丢失,建议将本段删除)
|
||||
|
||||
![][6]
|
||||
下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示:
|
||||
|
||||
![][7]
|
||||
|
||||
@ -213,13 +214,13 @@ $ rsync *.iso /media/$USER/ventoy/ --progress -ah
|
||||
|
||||
如果你想在 Oracle Virtualbox 中用 U 盘启动,请参考以下指南:
|
||||
|
||||
* [如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统?][8]
|
||||
> **[如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统?][8]**
|
||||
|
||||
#### 2. 使用 Ventoy 图形化界面创建多重启动的 U 盘
|
||||
|
||||
最初,Ventoy 在 Linux 平台上没有任何图形化的用户界面。我们在 Linux 中只能使用Ventoy 的命令行模式创建 USB 启动盘。
|
||||
|
||||
幸运的是,Ventoy 从 1.0.36 版开始提供基于网络的图形用户界面,从 1.0.52 版开始提供本地化图形用户界面(使用GTK/QT)。
|
||||
幸运的是,Ventoy 从 1.0.36 版开始提供基于网页的图形用户界面,从 1.0.52 版开始提供本地化图形用户界面(使用 GTK/QT)。
|
||||
|
||||
相信我,Ventoy 的图形化用户界面使用起来非常简单!它的界面非常小巧,但它拥有我们所需要的一切,只需点击几下鼠标就能创建一个单一的或多重引导的启动盘。
|
||||
|
||||
@ -236,7 +237,7 @@ $ cd Downloads/ventoy-1.0.77/
|
||||
* VentoyGUI.aarch64 - ARM64 架构的操作系统适用
|
||||
* VentoyGUI.mips64el - 龙芯 3A MIPS 架构的操作系统适用
|
||||
|
||||
我使用的是 Debian 11 X86 64位系统,所以我运行以下命令:
|
||||
我使用的是 Debian 11 X86 64 位系统,所以我运行以下命令:
|
||||
|
||||
```
|
||||
$ ./VentoyGUI.x86_64
|
||||
@ -250,7 +251,7 @@ Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选
|
||||
|
||||
![使用 Ventoy 图形用户界面创建多重启动的 U 盘][10]
|
||||
|
||||
你将被提示确认该过程。点击 OK 继续。
|
||||
你将被提示确认该过程。点击 “OK” 继续。
|
||||
|
||||
##### Ventoy 选项和语言
|
||||
|
||||
@ -258,7 +259,7 @@ Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选
|
||||
|
||||
![Ventoy 选项][11]
|
||||
|
||||
从<ruby>选项<rt>Option</rt><ruby>下拉按钮,你可以做以下事情:
|
||||
从 <ruby>选项<rt>Option</rt><ruby> 下拉按钮,你可以做以下事情:
|
||||
|
||||
- <ruby>安全启动支持<rt>Secure Boot Support</rt></ruby> - 勾选/取消勾选以启用或禁用安全启动。默认情况下,它处于选中状态以示启用。
|
||||
- <ruby>分区格式<rt>Partition Style</rt></ruby> - 支持 MBR 和 GPT 分区格式。默认是 MBR。
|
||||
@ -266,7 +267,7 @@ Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选
|
||||
- <ruby>清除<rt>Clear</rt></ruby> Ventoy - 从你的磁盘中删除 Ventoy。
|
||||
- <ruby>显示所有设备<rt>Show All Devices</rt></ruby> - 如果你想显示包括你的本地磁盘在内的所有连接的设备,请选中这个选项。在选择这个选项时要特别小心。你可能会不小心选择你的一个本地磁盘并将其格式化。
|
||||
|
||||
<ruby>语言<rt>Language</rt></ruby>按钮允许你选择你喜欢的语言。
|
||||
<ruby>语言<rt>Language</rt></ruby> 按钮允许你选择你喜欢的语言。
|
||||
|
||||
##### 更新 Ventoy
|
||||
|
||||
@ -284,15 +285,15 @@ Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全
|
||||
|
||||
要了解如何使用 Ventoy 图形用户界面创建可引导的 U 盘,请参考以下链接:
|
||||
|
||||
* [在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘][13]
|
||||
> **[在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘][13]**
|
||||
|
||||
#### 将 ISO 镜像加载到 RAM 中
|
||||
### 将 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 版本开始,进入 Memdisk 模式的快捷键从 F1 改成了 Ctrl+d)。当 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式启用时,你会在右上角看到通知。
|
||||
在选择操作系统之前按 `F1` 键,启用 <ruby>内存盘<rt>Memdisk</rt></ruby>模式(译者注:从 1.0.83 版本开始,进入该模式的快捷键从 `F1` 改成了 `Ctrl+D`)。当 <ruby>内存盘<rt>Memdisk</rt></ruby> 模式启用时,你会在右上角看到通知。
|
||||
|
||||
![启用 Ventoy 的内存盘模式][14]
|
||||
|
||||
@ -300,19 +301,19 @@ Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全
|
||||
|
||||
![在 Ventoy 中加载 ISO 到内存][15]
|
||||
|
||||
请再次按`F1`键以切换回正常模式。
|
||||
请再次按 `F1` 键以切换回正常模式。
|
||||
|
||||
### 创建持久化的可引导 U 盘
|
||||
|
||||
我们现在知道如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的USB 启动盘来测试 Linux 发行版,而不必真的在硬盘上安装它们。
|
||||
我们现在知道了如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的 USB 启动盘来测试 Linux 发行版,而不必真的在硬盘上安装它们。
|
||||
|
||||
当你在 Live OS 上时,你可以做各种事情,如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。
|
||||
当你使用 <ruby>立付<rt>Live</rt></ruby> OS 时,你可以做各种事情,如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。
|
||||
|
||||
然而,一旦你重新启动系统,所有上述变化都将消失。如果你想让所有的改变在重启系统后仍然保留,你应该创建一个持久化的可引导的 U 盘。
|
||||
|
||||
Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习怎么做。
|
||||
|
||||
* [在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘][16]
|
||||
> **[在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘][16]**
|
||||
|
||||
### 总结
|
||||
|
||||
@ -322,21 +323,23 @@ Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习
|
||||
|
||||
### 与 Ventoy 有关的安全问题
|
||||
|
||||
Ventoy 网站、论坛和该网站上的一些文件被一些杀毒软件标记为恶意软件或木马。请查看该项目在 GitHub 页面中发布的问题:
|
||||
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** 在代码审查后争论:为什么对这个应用程序的安全性没有合理的怀疑。
|
||||
然而,Manjaro 打包者 Linux Aarhus 在代码审查后认为:没有合理的理由怀疑这个应用程序的安全性。
|
||||
|
||||
他声称 **没有混淆的代码**。所以,我猜测 Ventoy 用起来是**安全的**。
|
||||
他声称 “**没有混淆的代码**”。所以,我觉得 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/
|
||||
@ -355,8 +358,7 @@ via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-lin
|
||||
[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://i.ytimg.com/vi/VFr1mAikeJU/maxresdefault.jpg
|
||||
[7]: https://ostechnix.com/wp-content/plugins/penci-shortcodes/pagespeed/assets/play-btn.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
|
||||
@ -371,3 +373,4 @@ via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-lin
|
||||
[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
|
@ -3,23 +3,26 @@
|
||||
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "XiaotingHuang22"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15721-1.html"
|
||||
|
||||
让 CSS 升级你的 HTML 文档
|
||||
使用 CSS 提升你的 HTML 文档
|
||||
======
|
||||
使用 CSS 让你的 HTML 项目更具风格。
|
||||
|
||||
当你编写文档时,无论是为开源项目还是技术写作项目,你都应该有两个目标:文档应该写得好,同时要易于阅读。 前者通过清晰的写作技巧和技术编辑来解决。第二个目标可以通过对 HTML 文档进行一些简单的更改来解决。
|
||||
![][0]
|
||||
|
||||
超文本标记语言或 HTML 是互联网的支柱。 自 1994 年“万维网”问世以来,所有网络浏览器都使用 HTML 来显示文档和网站。 几乎与此同时,HTML 一直支持 *stylesheet*,它是对 HTML 文档的一种特殊添加,用于定义文本在屏幕上的呈现方式。
|
||||
> 使用 CSS 让你的 HTML 项目更具风格。
|
||||
|
||||
单纯用 HTML 编写项目文档你也可以完成工作。 然而,纯 HTML 样式可能感觉有点简陋。 因此,尝试向 HTML 文档添加一些简单的样式,为文档添加一点活力,并使文档更清晰、更易于阅读。
|
||||
当你编写文档时,无论是为开源项目还是技术写作项目,你都应该有两个目标:文档应该写得好,同时要易于阅读。前者通过清晰的写作技巧和技术编辑来解决。第二个目标可以通过对 HTML 文档进行一些简单的更改来解决。
|
||||
|
||||
超文本标记语言(HTML)是互联网的支柱。自 1994 年“万维网”问世以来,所有网络浏览器都使用 HTML 来显示文档和网站。几乎与此同时,HTML 一直支持样式表,它是对 HTML 文档的一种特殊添加,用于定义文本在屏幕上的呈现方式。
|
||||
|
||||
单纯用 HTML 编写项目文档也是可以的。然而,纯 HTML 样式可能感觉有点简陋。因此,尝试向 HTML 文档添加一些简单的样式,为文档添加一点活力,并使文档更清晰、更易于阅读。
|
||||
|
||||
### 定义一个 HTML 文档
|
||||
|
||||
让我们从一个纯 HTML 文档开始,探索如何向其添加样式。 一个空的 HTML 文档在顶部包含 <!DOCTYPE html> 定义,后面跟着一个 <html> 块来定义文档本身。 在 <html> 元素中,你还需要加上一个文档标头,其中包含有关文档的元数据,例如标题。 文档正文的内容放在父 <html> 块内的 <body> 块中。
|
||||
让我们从一个纯 HTML 文档开始,探索如何向其添加样式。一个空的 HTML 文档在顶部包含 `<!DOCTYPE html>` 定义,后面跟着一个 `<html>` 块来定义文档本身。 在 `<html>` 元素中,你还需要加上一个文档标头,其中包含有关文档的元数据,例如标题。文档正文的内容放在父 `<html>` 块内的 `<body>` 块中。
|
||||
|
||||
你可以使用以下 HTML 代码定义一个空白页面:
|
||||
|
||||
@ -35,7 +38,7 @@
|
||||
</html>
|
||||
```
|
||||
|
||||
在另一篇关于[用 HTML 编写项目文档][2] 的文章中,我将一个开源棋盘游戏的自述文件从纯文本更新为 HTML 文档,并使用一些基本的 HTML 标记,如 <h1> 和 <h2> 作为标题和副标题,<p> 用于段落,<b> 和 <i> 用于粗体和斜体文本。 让我们从那篇文章结束的地方继续讲:
|
||||
在另一篇关于 [用 HTML 编写项目文档][2] 的文章中,我将一个开源棋盘游戏的自述文件从纯文本更新为 HTML 文档,并使用一些基本的 HTML 标记,如 `<h1>` 和 `<h2>` 作为标题和副标题,`<p>` 用于段落,`<b>` 和 `<i>` 用于粗体和斜体文本。让我们从那篇文章结束的地方继续讲:
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
@ -77,9 +80,9 @@
|
||||
</html>
|
||||
```
|
||||
|
||||
此 HTML 文档演示了利用 HTML 的技术写作者经常使用的一些块和内联元素。 块元素在围绕文本定义一个矩形。 段落和标题是块元素的示例,因为它们从文档的左边缘延伸到右边缘。 例如,<p> 在段落周围包含一个不可见的矩形。 相比之下,内联元素的使用则紧跟在它们包围的文本。 如果你在段落中的某些文本上使用 <b>,则只有被 <b> 和 </b> 包围的文本会变为粗体。
|
||||
此 HTML 文档演示了利用 HTML 的技术写作者经常使用的一些块和内联元素。块元素在围绕文本定义一个矩形。段落和标题就是块元素,因为它们从文档的左边缘延伸到右边缘。例如,`<p>` 在段落周围包含一个不可见的矩形。相比之下,内联元素的使用则紧跟在它们包围的文本。如果你在段落中的某些文本上使用 `<b>`,则只有被 `<b>` 和 `</b>` 包围的文本会变为粗体。
|
||||
|
||||
You can apply direct styling to this document to change the font, colors, and other text styles, but a more efficient way to modify the document's appearance is to apply a *stylesheet* to the document itself. You can do that in the <head> element, with other metadata. You can reference a file for the style sheet, but for this example, use a <style> block to define a style sheet within the document. Here's the <head> with an empty stylesheet:你可以将直接样式应用于此文档以更改字体、颜色和其他文本样式,但修改文档外观的更有效方法是将 *stylesheet* 应用于文档本身。 你可以在 <head> 元素中使用其他元数据执行此操作。 你可以为样式表引用文件,但在这个例子中,我使用 <style> 块在文档中定义样式表。 以下是带有空样式表的 <head> :
|
||||
你可以将直接样式应用于此文档以更改字体、颜色和其他文本样式,但修改文档外观的更有效方法是将样式表应用于文档本身。你可以在 `<head>` 元素中使用其他元数据执行此操作。你可以为样式表引用文件,但在这个例子中,我使用 `<style>` 块在文档中定义样式表。以下是带有空样式表的 `<head>` :
|
||||
|
||||
```
|
||||
<!DOCTYPE html>
|
||||
@ -98,9 +101,9 @@ You can apply direct styling to this document to change the font, colors, and ot
|
||||
|
||||
### 定义样式
|
||||
|
||||
由于你刚刚开始学习样式表,因此这里先演示一种基本样式:背景色。 我喜欢从背景颜色开始,因为它有助于演示块和内联元素。 让我们应用一个有点华丽的样式表,为所有 <p> 段落设置*浅蓝色*背景颜色,为 <ul> 无序列表设置*浅绿色*背景。 对任何粗体文本使用*黄色*背景,对任何斜体文本使用*粉红色*背景。
|
||||
由于你刚刚开始学习样式表,因此这里先演示一种基本样式:背景色。我喜欢从背景颜色开始,因为它有助于演示块和内联元素。让我们应用一个有点华丽的样式表,为所有 `<p>` 段落设置*浅蓝色*背景颜色,为 `<ul>` 无序列表设置*浅绿色*背景。对任何粗体文本使用*黄色*背景,对任何斜体文本使用*粉红色*背景。
|
||||
|
||||
你可以在 HTML 文档的 <style> 块中使用样式来定义这些样式。 样式表使用与 HTML 文档不同的标记。 样式语法看起来像 `element { style; style; style; ... }` 并使用花括号将多种文本样式组合到一个定义中。
|
||||
你可以在 HTML 文档的 `<style>` 块中使用样式来定义这些样式。样式表使用与 HTML 文档不同的标记。样式语法看起来像 `element { style; style; style; ... }` 并使用花括号将多种文本样式组合到一个定义中。
|
||||
|
||||
```
|
||||
<style>
|
||||
@ -114,7 +117,7 @@ i { background-color: pink; }
|
||||
|
||||
请注意,每个样式都以分号结尾。
|
||||
|
||||
如果在网页浏览器中查看此 HTML 文档,你可以看到 <p> 和 <ul> 块元素如何填充为矩形,而 <b> 和 <i> 内联元素仅突出显示粗体和斜体文本。 这种对比色的使用可能看起来不太好看,但我想你可以清楚看到块和内联元素:
|
||||
如果在网页浏览器中查看此 HTML 文档,你可以看到 `<p>` 和 `<ul>` 块元素如何填充为矩形,而 `<b>` 和 `<i>` 内联元素仅突出显示粗体和斜体文本。 这种对比色的使用可能看起来不太好看,但我想你可以清楚看到块和内联元素:
|
||||
|
||||
![辣眼睛!但是这些颜色确实能帮助我么更好地看出块和內联元素的区别。][3]
|
||||
|
||||
@ -122,14 +125,14 @@ i { background-color: pink; }
|
||||
|
||||
你可以使用样式使这个自述文件更易于阅读。 因为你刚刚开始学习样式,还是先只用一些简单的样式元素:
|
||||
|
||||
* background-color 设置背景颜色
|
||||
* color 设置文字颜色
|
||||
* font-family 使用不同的文本字体
|
||||
* margin-top 在元素上方添加空间
|
||||
* margin-bottom 在元素下方添加空间
|
||||
* text-align 改变文本的显示方式,例如靠左、靠右或居中
|
||||
* `background-color` 设置背景颜色
|
||||
* `color` 设置文字颜色
|
||||
* `font-family` 使用不同的文本字体
|
||||
* `margin-top` 在元素上方添加空间
|
||||
* `margin-bottom` 在元素下方添加空间
|
||||
* `text-align` 改变文本的对齐方式,例如靠左、靠右或居中
|
||||
|
||||
让我们重新开始你的样式表并将这些新样式应用到文档中。 首先,在文档中使用更令人愉悦的字体。 如果你的 HTML 文档没有指定字体,网络浏览器会为你选择一种。 根据浏览器的设置方式,这可能是 *serif* 字体(如我的屏幕截图中使用的字体)或 *sans-serif* 字体。 Serif 字体在每个字母上添加了一个小笔画,这样在打印时更容易阅读。 Sans-serif 字体缺少这种额外的笔划,这使得文本在计算机显示器上显得更清晰。 常见的衬线字体包括 Garamond 或 Times New Roman。 流行的无衬线字体包括 Roboto 和 Arial。
|
||||
让我们重新开始你的样式表并将这些新样式应用到文档中。首先,在文档中使用更令人愉悦的字体。如果你的 HTML 文档没有指定字体,网络浏览器会为你选择一种。根据浏览器的设置方式,这可能是衬线字体(如我的屏幕截图中使用的字体)或无衬线字体。衬线字体在每个字母上添加了一个小笔画,这样在打印时更容易阅读。无衬线字体缺少这种额外的笔划,这使得文本在计算机显示器上显得更清晰。常见的衬线字体包括 Garamond 或 Times New Roman。 流行的无衬线字体包括 Roboto 和 Arial。
|
||||
|
||||
例如,要将文档正文字体设置为 Roboto,你可以使用以下样式:
|
||||
|
||||
@ -137,53 +140,53 @@ i { background-color: pink; }
|
||||
body { font-family: Roboto; }
|
||||
```
|
||||
|
||||
通过设置字体,你假设查看文档的人也安装了该字体。 有些字体已经十分常见,以至于它们被认为是事实上的“网页安全”字体。 这些字体包括 Arial 等无衬线字体和 Times New Roman 等衬线字体。 Roboto 是一种较新的字体,可能还无法随处可用。 因此,网页设计师通常不会只列出一种字体,而是设置一种或多种“备用”字体。 你可以通过用逗号分隔来添加这些替代字体。 例如,如果用户的系统上没有 Roboto 字体,你可以使用以下样式定义将 Arial 字体用作文本正文:
|
||||
通过设置字体,你假设查看文档的人也安装了该字体。有些字体已经十分常见,以至于它们被认为是事实上的“网页安全”字体。 这些字体包括 Arial 等无衬线字体和 Times New Roman 等衬线字体。Roboto 是一种较新的字体,可能还无法随处可用。因此,网页设计师通常不会只列出一种字体,而是设置一种或多种“备用”字体。你可以通过用逗号分隔来添加这些替代字体。 例如,如果用户的系统上没有 Roboto 字体,你可以使用以下样式定义将 Arial 字体用作文本正文:
|
||||
|
||||
```
|
||||
body { font-family: Roboto, Arial; }
|
||||
```
|
||||
|
||||
所有网络浏览器都定义了默认的衬线和无衬线字体,你可以使用这些名称来引用它们。 用户可以更改他们喜欢用于 serif 和 sans-serif 的字体,因此不太可能对每个人都一样,但在字体列表中使用 serif 或 sans-serif 通常是个好主意。 通过添加该字体,至少用户可以大致了解你希望 HTML 文档的呈现方式:
|
||||
所有网络浏览器都定义了默认的衬线和无衬线字体,你可以使用这些名称来引用它们。用户可以更改他们喜欢用于显示衬线和无衬线的字体,因此不太可能对每个人都一样,但在字体列表中使用 `serif` 或 `sans-serif` 通常是个好主意。通过添加该字体,至少用户可以大致了解你希望 HTML 文档的呈现方式:
|
||||
|
||||
```
|
||||
body { font-family: Roboto, Arial, sans-serif; }
|
||||
```
|
||||
|
||||
如果字体名称不止一个单词,则你必须在其两边加上引号。 HTML 允许你在此处使用单引号或双引号。 为标题和副标题定义一些衬线字体,包括 Times New Roman:
|
||||
如果字体名称不止一个单词,则你必须在其两边加上引号。HTML 允许你在此处使用单引号或双引号。 为标题和副标题定义一些衬线字体,包括 Times New Roman:
|
||||
|
||||
```
|
||||
h1 { font-family: "Times New Roman", Garamond, serif; }
|
||||
h2 { font-family: "Times New Roman", Garamond, serif; }
|
||||
```
|
||||
|
||||
请注意,h1 标题和 h2 副标题使用完全相同的字体定义。 如果你想避免无谓的打字,可以使用样式表快捷方式为 h1 和 h2 使用相同的样式定义:
|
||||
请注意,H1 标题和 H2 副标题使用完全相同的字体定义。如果你想避免无谓的打字,可以使用样式表快捷方式为 H1 和 22 使用相同的样式定义:
|
||||
|
||||
```
|
||||
h1, h2 { font-family: "Times New Roman", Garamond, serif; }
|
||||
```
|
||||
|
||||
在编写文档时,许多技术作者更喜欢将主标题放在页面的中央。 您可以在块元素(例如 h1 标题)上使用 text-align 来使标题居中:
|
||||
在编写文档时,许多技术作者更喜欢将主标题放在页面的中央。你可以在块元素(例如 H1 标题)上使用 `text-align` 来使标题居中:
|
||||
|
||||
```
|
||||
h1 { text-align: center; }
|
||||
```
|
||||
|
||||
为了让粗体和斜体文本更突出,请将它们置于稍微不同的颜色中。 对于某些文档,我可能会使用 *dark blue* 表示粗体文本,使用 *dark green* 表示斜体文本。 这些颜色非常接近黑色,但颜色的细微差别足以吸引读者的注意力。
|
||||
为了让粗体和斜体文本更突出,请将它们置于稍微不同的颜色中。对于某些文档,我可能会使用深蓝表示粗体文本,使用深绿表示斜体文本。这些颜色非常接近黑色,但颜色的细微差别足以吸引读者的注意力。
|
||||
|
||||
```
|
||||
b { color: darkblue; }
|
||||
i { color: darkgreen; }
|
||||
```
|
||||
|
||||
最后,我更喜欢在我的列表元素周围添加额外的间距,以使它们更易于阅读。 如果每个列表项只有几个词,额外的空间可能无关紧要。 但是我的示例文本中的中间项很长,可以换到第二行。 额外的空间有助于读者更清楚地看到此列表中的每个项目。 你可以使用边距样式在块元素上方和下方添加空间:
|
||||
最后,我更喜欢在我的列表元素周围添加额外的间距,以使它们更易于阅读。如果每个列表项只有几个词,额外的空间可能无关紧要。但是我的示例文本中的中间项很长,可以换到第二行。 额外的空间有助于读者更清楚地看到此列表中的每个项目。 你可以使用边距样式在块元素上方和下方添加空间:
|
||||
|
||||
```
|
||||
li { margin-top: 10px; margin-bottom: 10px; }
|
||||
```
|
||||
|
||||
这种样式定义了一个距离,此处我将其指定为每个列表元素上方和下方的 10px(十个*像素*)。 你可以使用多种不同的距离度量。 十像素实际上就是屏幕上十个像素的空间,无论是台式机显示器、笔记本电脑显示屏,还是手机或平板电脑屏幕。
|
||||
这种样式定义了一个距离,此处我将其指定为每个列表元素上方和下方的 10px(十个*像素*)。 你可以使用多种不同的距离度量。十像素实际上就是屏幕上十个像素的空间,无论是台式机显示器、笔记本电脑显示屏,还是手机或平板电脑屏幕。
|
||||
|
||||
假设你真的只是想在列表元素之间添加一个额外的空行,你也可以使用 em 来测量。 *em* 是一个旧的排版术语,如果你指的是左右间距,它就是大写 **M** 的宽度,或者对于垂直间距,就是大写 **M** 的高度。 所以你可以改用 1em 来写边距样式:
|
||||
假设你真的只是想在列表元素之间添加一个额外的空行,你也可以使用 `em` 来测量。`em` 是一个旧的排版术语,如果你指的是左右间距,它就是大写 `M` 的宽度,或者对于垂直间距,就是大写 `M` 的高度。所以你可以改用 1em 来写边距样式:
|
||||
|
||||
```
|
||||
li { margin-top: 1em; margin-bottom: 1em; }
|
||||
@ -239,15 +242,15 @@ HTML 文档中的完整样式列表如下所示:
|
||||
</html>
|
||||
```
|
||||
|
||||
在网页浏览器上查看时,你会看到采用无衬线字体的自述文件,标题和副标题使用衬线字体。 页面标题居中。 粗体和斜体文本使用略有不同的颜色来吸引读者的注意力而不会分散注意力。 最后,列表项周围有额外的空间,使每个项目更易于阅读。
|
||||
在网页浏览器上查看时,你会看到采用无衬线字体的自述文件,标题和副标题使用衬线字体。 页面标题居中。粗体和斜体文本使用略有不同的颜色来吸引读者的注意力而不会分散注意力。 最后,列表项周围有额外的空间,使每个项目更易于阅读。
|
||||
|
||||
![通过添加一些样式,我们使这个自述文件更易于阅读。][4]
|
||||
|
||||
这是在技术写作中使用样式的简单介绍。 掌握了基础知识后,你可能会对 [Mozilla 的 HTML 指南][5] 感兴趣。 它包括一些很棒的初学者教程,因此你可以学习如何创建自己的网页。
|
||||
这是在技术写作中使用样式的简单介绍。掌握了基础知识后,你可能会对 [Mozilla 的 HTML 指南][5] 感兴趣。它包括一些很棒的初学者教程,因此你可以学习如何创建自己的网页。
|
||||
|
||||
有关 CSS 样式的更多信息,我推荐 [Mozilla 的 CSS 指南][6]。
|
||||
|
||||
图片来自: (Jim Hall, CC BY-SA 4.0)
|
||||
*(题图: MJ:web internet traffic design)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -256,7 +259,7 @@ via: https://opensource.com/article/22/8/css-html-project-documentation
|
||||
作者:[Jim Hall][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
@ -268,3 +271,4 @@ via: https://opensource.com/article/22/8/css-html-project-documentation
|
||||
[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,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
|
79
published/20230317.1 ⭐️ My first pull request at age 14.md
Normal file
79
published/20230317.1 ⭐️ My first pull request at age 14.md
Normal file
@ -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
|
@ -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
|
@ -1,95 +0,0 @@
|
||||
[#]: 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: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
OpenBSD 7.3 Released with New Features and Updates
|
||||
======
|
||||
|
||||
**OpenBSD 7.3 was officially released with massive package updates and improvements.**
|
||||
|
||||
![OpenBSD desktop (7+) fvwm][1]
|
||||
|
||||
OpenBSD 7.3 has been officially [released][2], marking the system’s 54th release. This latest version builds on OpenBSD’s impressive track record of maintaining a secure and reliable operating system, with only two remote holes detected in the default installation during more than twenty years of use.
|
||||
|
||||
As with previous releases, OpenBSD 7.3 delivers significant enhancements across a broad range of system areas. These include kernel improvements such as the addition of waitid(2), pinsyscall(2), getthrname(2) and setthrname(2) functions, and WTRAPPED option for waitid(2), among others. Additionally, the new kernel autoconf_serial sysctl(8) allows userland monitoring of kernel device tree state changes.
|
||||
|
||||
Direct Rendering Manager and graphics drivers have been updated, with the introduction of support for the Ryzen 7000 “Raphael” and Ryzen 7020 and 7045 series processors, as well as the Radeon RX 7900 XT/XTX “Navi 31”, and improvements to address issues on Apple Silicon laptops and the Lenovo x13s.
|
||||
|
||||
There is also improved support for network hardware, such as the enabled em(4) IPv4, TCP and UDP checksum offloading and hardware VLAN tagging on devices with 82575, 82576, i350 and i210 chipsets, as well as improved mcx(4) performance.
|
||||
|
||||
![OpenBSD 7.3 installation][3]
|
||||
|
||||
In addition to the above-mentioned improvements, OpenBSD 7.3 also includes a range of new or improved hardware and software support for ports and packages. Some of the major components from outside suppliers include Xenocara, LLVM/Clang, GCC, Perl, NSD, Unbound, Ncurses, Binutils, Gdb, Awk, and Expat.
|
||||
|
||||
OpenBSD has a reputation for being one of the most secure and reliable operating systems available. Its record of only two remote holes in the default install over the past twenty years is impressive. With the release of OpenBSD 7.3, users can expect significant improvements across nearly all system areas.
|
||||
|
||||
The kernel improvements in this release, such as the addition of waitid(2), pinsyscall(2), getthrname(2), setthrname(2), and clockintr(9), will provide users with a more streamlined experience. The Direct Rendering Manager and graphics drivers have also been updated, including support for new devices such as the Ryzen 7000 “Raphael”, Radeon RX 7900 XT/XTX “Navi 31”, and Radeon RX 7600M (XT).
|
||||
|
||||
OpenBSD 7.3 also includes improved network hardware support with enabled em(4) IPv4, TCP, and UDP checksum offloading and hardware VLAN tagging on devices with 82575, 82576, i350, and i210 chipsets. Additionally, mcx(4) performance has been improved by using interrupt-based command completion.
|
||||
|
||||
As for the ports and packages, OpenBSD 7.3 includes the latest versions of applications, desktops and key packages. Here’s a list of new items for key ports and packages:
|
||||
|
||||
**Desktop and apps**
|
||||
|
||||
- Chromium 111.0.5563.110
|
||||
- GNOME 43.3
|
||||
- KDE Applications 22.12.3
|
||||
- KDE Frameworks 5.103.0
|
||||
- Xfce 4.18
|
||||
- Krita 5.1.5
|
||||
- LibreOffice 7.5.1.2
|
||||
- Mozilla Firefox 111.0 and ESR 102.9.0
|
||||
- Mozilla Thunderbird 102.9.0
|
||||
|
||||
**Core development packages**
|
||||
|
||||
- Mutt 2.2.9 and 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 and 8.2.3
|
||||
- Postfix 3.5.17 and 3.7.3
|
||||
- PostgreSQL 15.2
|
||||
- Python 2.7.18, 3.9.16, 3.10.10 and 3.11.2
|
||||
- Qt 5.15.8 and 6.4.2
|
||||
- R 4.2.1
|
||||
- Ruby 3.0.5, 3.1.3 and 3.2.1
|
||||
- Rust 1.68.0
|
||||
- Sudo 1.9.13.3
|
||||
- MariaDB 10.9.4
|
||||
- Mono 6.12.0.182
|
||||
|
||||
Overall, the latest release of OpenBSD continues to provide users with a secure and reliable operating system while also delivering significant improvements in various areas of the system. Users are encouraged to upgrade to OpenBSD 7.3 to take advantage of these new features and improvements.
|
||||
|
||||
OpenBSD 7.3 is available for download from the official website, with comprehensive release notes detailing all the new features and improvements.
|
||||
|
||||
[Download OpenBSD 7.3 (all arch)][4]
|
||||
|
||||
[Detailed changelog][5]
|
||||
|
||||
[_Using Mastodon? Follow us at floss.social/@debugpoint_][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://debugpointnews.com/openbsd-7-3/
|
||||
|
||||
作者:[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/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
|
@ -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: "hanszhao80"
|
||||
[#]: 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]
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[校对者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
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://opensource.com/article/23/2/temporal-values-mysql"
|
||||
[#]: author: "Hunter Coleman https://opensource.com/users/hunterc"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "hanszhao80"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
@ -219,7 +219,7 @@ via: https://opensource.com/article/23/2/temporal-values-mysql
|
||||
|
||||
作者:[Hunter Coleman][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[hanszhao80](https://github.com/hanszhao80)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://jvns.ca/blog/2023/02/08/why-does-0-1-plus-0-2-equal-0-30000000000000004/"
|
||||
[#]: author: "Julia Evans https://jvns.ca/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "MjSeven"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
@ -1,165 +0,0 @@
|
||||
[#]: 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: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Best GUI Package Managers for Arch Linux
|
||||
======
|
||||
|
||||
**Let’s discuss some of the best GUI package managers for Arch Linux. And choose the best to fit your needs.**
|
||||
|
||||
Arch Linux is one of the most popular and widely used Linux distributions among advanced users and developers due to its customizability, flexibility, and bleeding-edge features.
|
||||
|
||||
Due to its minimalist design, the primary way to install the software in Arch Linux is via command line interface (CLI) using the terminal. But not everyone is comfortable using the terminal.
|
||||
|
||||
A graphical user interface (GUI) based package manager is a must-have utility for those. There are several options available. Let’s explore some of the popular ones.
|
||||
|
||||
### What to Look for in a GUI-based Package Manager for Arch Linux?
|
||||
|
||||
When choosing a GUI-based package manager for Arch Linux, several factors must be considered.
|
||||
|
||||
First, it should have a clean and easy-to-use interface that’s intuitive for beginners.
|
||||
|
||||
Second, it should support all package management operations, such as installing, removing, updating, and searching for packages.
|
||||
|
||||
Third, it should have advanced features, such as dependency resolution and support for AUR packages. Finally, it should be lightweight and not consume too many system resources.
|
||||
|
||||
### Best GUI Package Managers for Arch Linux
|
||||
|
||||
#### 1. Pamac
|
||||
|
||||
The first GUI package manager in this list is [Pamac][1], developed by the Manjaro Linux team. It has a nice and user-friendly interface makes it super easy to use.
|
||||
|
||||
The intuitive interface makes it easy for users to install, remove, and update packages. It is built upon [libalpm][2] with AUR. Pamac also supports “appstream:///” protocol with Snap and Flatpak as well. So you can directly launch the application installer from appstream links. Furthermore, it has advanced features, such as dependency resolution and support for AUR packages. Additionally, Pamac is lightweight and doesn’t consume too many system resources.
|
||||
|
||||
![Pamac helps you to browse and install packages][3]
|
||||
|
||||
Using its GUI, you can browse the Arch repositories, also view applications based on their functionality. There are separate sections in the Pamac GUI that enable you to remove and uninstall packages, including orphan ones.
|
||||
|
||||
It’s one of the best GUI package managers.
|
||||
|
||||
![You can also upgrade your Arch Linux system using Pamac][4]
|
||||
|
||||
Installation is easy. It is available in Arch User Repository (AUR). You can [install Yay][5] AUR helper or any other helper to install it. Here’s the command to install using Yay. The package is present [here][6]. If you are running [Manjaro Linux][7], it should already be present.
|
||||
|
||||
```
|
||||
yay -S pamac-aur-git
|
||||
```
|
||||
|
||||
#### 2. Octopi
|
||||
|
||||
The following GUI package manager in this list is [Octopi][8], another nifty tool. It is built using Qt and comes with a productive GUI. Feature-wise, it’s a much-advanced tool.
|
||||
|
||||
Using Octopi, you can search for packages, install them and, of course, remove them as well. Furthermore, you can view details about each package fetched directly from the Arch repo. For example, the package version, last updated date, news, and other information.
|
||||
|
||||
In addition, it allows you to view the PKGBUILD information of a package – which is an excellent feature if you want to investigate further about a package.
|
||||
|
||||
Finally, it’s super lightweight and doesn’t become heavy on system resources. I think Octopi is completely underrated and one of the feature-rich software managers for Arch Linux.
|
||||
|
||||
![Octopi][9]
|
||||
|
||||
It is available in AUR and you can install it using [Yay][5] or any AUR helper.
|
||||
|
||||
```
|
||||
yay -S --needed octopi
|
||||
```
|
||||
|
||||
#### 3. GNOME Software
|
||||
|
||||
The third one in this list is GNOME Software which you are probably already aware of. It is the default Software manager for Ubuntu, Fedora and many other distributions. Based on GTK4, it supports all types of packages such as .deb, .rpm, Flatpak & Snap. In Arch Linux, it supports the main Arch repo, including the user repository (AUR).
|
||||
|
||||
However, it might be a little heavy on system resources compared to the other apps in this list. But it’s a modern package manager and can work great for various use cases.
|
||||
|
||||
![GNOME Software][10]
|
||||
|
||||
Installation is easy since it is available in the main Arch repo. You can install it using the following command from the terminal.
|
||||
|
||||
```
|
||||
sudo pacman -S --needed gnome-software
|
||||
```
|
||||
|
||||
#### 4. Discover
|
||||
|
||||
My personal favourite is [Discover][11] – one of the best software managers from the KDE Plasma team. If you used Kubuntu or any other KDE Plasma desktop, you are already familiar with it.
|
||||
|
||||
Discover supports all major packaging formats, including deb, rpm, Flatpak and Snap. It has a well-defined information page for software and its sources. You can also search by application name Or browse the catalogue based on application category.
|
||||
|
||||
For Arch Linux, it can fetch packages and information from main Arch repos and AUR.
|
||||
|
||||
![Discover][12]
|
||||
|
||||
You can install it using the following command in Arch Linux.
|
||||
|
||||
```
|
||||
sudo pacman -S --needed discover
|
||||
```
|
||||
|
||||
#### 5. Bauh
|
||||
|
||||
[Bauh][13] is a relatively new GUI-based package manager for Arch Linux. It has a simple and user-friendly interface makes it easy for users to manage their packages.
|
||||
|
||||
Its main window gives you all the options to manage applications in your Arch Linux system. The primary search box enables you to search applications. Also, you can browse via types such as only Flatpaks, AUR, etc packages.
|
||||
|
||||
In addition, using Bauh’s main GUI, you can downgrade and update packages one by one, view information about packages and even launch the application directly.
|
||||
|
||||
A well-designed settings panel gives you all the customization options you need.
|
||||
|
||||
![Bauh package manager in Arch Linux][14]
|
||||
|
||||
You can install it using the following command after [setting up][5] your system for AUR.
|
||||
|
||||
```
|
||||
yay -S --needed bauh
|
||||
```
|
||||
|
||||
### A few more
|
||||
|
||||
There are some other package managers which can be used in Arch Linux. Here’s a small list of them. These are not that popular. But they can also be an alternative.
|
||||
|
||||
- [Apper][15]: An application and package manager using PackageKit (from the KDE team)
|
||||
- [tkPacman][16]: A lightweight GUI for pacman built with Tcl/Tk
|
||||
|
||||
Finally, you can read more about these in the official [Arch Wiki][17].
|
||||
|
||||
### Conclusion
|
||||
|
||||
In this article, we’ve discussed some of the best GUI-based package managers for Arch Linux, including Pamac, Octopi, GNOME Software, Discover, and Bauh.
|
||||
|
||||
Each of these package managers has its own strengths and weaknesses, so it’s up to you to choose the one that best fits your needs.
|
||||
|
||||
If you ask me for a recommendation, I suggest you try any of these – Pamac, Octopi and Bauh. They are great.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/arch-linux-gui-package-managers/
|
||||
|
||||
作者:[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://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
|
@ -1,141 +0,0 @@
|
||||
[#]: 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: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Write documentation that actually works for your community
|
||||
======
|
||||
|
||||
What distinguishes successful and sustainable projects from those that disappeared into the void? Spoiler — it's community. Community is what drives an open source project, and documentation is one of the foundational blocks for building a community. In other words, documentation isn't only about documentation.
|
||||
|
||||
Establishing good documentation can be difficult, though. Users don't read documentation because it's inconvenient, it goes out of date very quickly, there's too much, or there's not enough.
|
||||
|
||||
The development team doesn't write documentation because of the "it's obvious for me, so it's obvious to everyone" trap. They don't write because they are too busy making the project exist. Things are developing too fast, or they're not developing fast enough.
|
||||
|
||||
But good documentation remains the best communication tool for groups and projects. This is especially true considering that projects tend to get bigger over time.
|
||||
|
||||
Documentation can be a single source of truth within a group or a company. This is important when coordinating people toward a common goal and preserving knowledge as people move on to different projects.
|
||||
|
||||
So how do you write appropriate documentation for a project and share it with the right people?
|
||||
|
||||
### What is successful community documentation?
|
||||
|
||||
To succeed in writing documentation in your community:
|
||||
|
||||
- Organize your routine
|
||||
- Make it clear and straightforward
|
||||
- Be flexible, make changes to the routine according to a specific situation
|
||||
- Do version control
|
||||
|
||||
![Image demonstrating the flow of documentation.][1]
|
||||
|
||||
Being flexible doesn't mean being chaotic. Many projects have succeeded just because they are well-organized.
|
||||
|
||||
James Clear (author of _Atomic Habits_) wrote, "You do not rise to the level of your goals. You fall to the level of your systems." Be sure to organize the process so that the level is high enough to achieve success.
|
||||
|
||||
### Design the process
|
||||
|
||||
Documentation is a project. Think of writing docs as writing code. In fact, documentation can be a product and a very useful one at that.
|
||||
|
||||
This means you can use the same processes as in software development: analysis, capturing requirements, design, implementation, and maintenance. Make documentation one of your processes.
|
||||
|
||||
Think about it from different perspectives while designing the process. Not all documentation is the right documentation for everyone.
|
||||
|
||||
Most users only need a high-level overview of a project, while API documentation is probably best reserved for developers or advanced users.
|
||||
|
||||
Developers need library and function documentation. Users are better served by example use cases, step-by-step guides, and an architectural overview of how a project fits in with the other software they use.
|
||||
|
||||
![Image demonstrating different perspectives used while documenting.][2]
|
||||
|
||||
Ultimately, before creating any process, you must determine what you need:
|
||||
|
||||
- **Focus groups:** this includes developers, integrators, administrators, users, sales, operations, executives
|
||||
- **Level of expertise**: Keep in mind the beginner, intermediate, and advanced users
|
||||
- **Level of detail**: There's room for a high-level overview as well as technical detail, so consider how you want these to be presented
|
||||
- **Journeys and entry points**: How do people find the documentation, how they use it
|
||||
|
||||
When you ponder these questions, it helps you structure information you want to communicate through documentation. It defines clear metrics on what has to be in the documentation.
|
||||
|
||||
Here's how to approach building a process around documentation.
|
||||
|
||||
### Coding conventions
|
||||
|
||||
The code itself should make sense. Documentation should be expressed through good class names, file names, and so on. Create common coding standards and make a self-documented code process by thinking about:
|
||||
|
||||
- Variable naming conventions
|
||||
- Make names understandable by using class, function naming schemes
|
||||
- Avoid deep nesting, or [don't nest at all][3]
|
||||
- Do not simply copy-and-paste code
|
||||
- No long methods should be used
|
||||
- Avoid using magic numbers (use const instead)
|
||||
- Use extract methods, variables, and so on
|
||||
- Use meaningful directory structures, modules, packages, and files
|
||||
|
||||
### Testing along with engineering
|
||||
|
||||
Testing isn't only about how code should behave. It's also about how to use an API, functions, methods, and so on. Well-written tests can reveal base and edge case scenarios. There's even a [test-driven development][4] practice that focuses on creating test cases (step by step scenarios of what should be tested and how) before code development.
|
||||
|
||||
### Version control
|
||||
|
||||
Version control, even for your documentation, helps you track the logic of your changes. It can help you answer why a change was made.
|
||||
|
||||
Make sure comments during commits explain WHY a change was made, not WHAT change was made.
|
||||
|
||||
The more engaging the documentation process is, the more people will get into it. Add creativity and fun to it. You should think about readability of documentation by using:
|
||||
|
||||
- software code conventions
|
||||
- diagrams and graphs (that are also explained in text)
|
||||
- mind maps
|
||||
- concept maps
|
||||
- infographics
|
||||
- images (highlight important parts)
|
||||
- short videos
|
||||
|
||||
By using different ways of communication, you offer more ways to engage with your documentation. This can help forestall misunderstanding (different languages, different meanings), and different learning styles.
|
||||
|
||||
Here are some software tools for creating documentation:
|
||||
|
||||
- **Javadoc, Doxygen, JsDoc, and so on**: Many languages have automated documentation tools to help capture major features in code
|
||||
- **Web hooks and CI/CD engines**: Allows continuous publication of your documentation
|
||||
- **Restructured Text, Markdown, Asciidoc**: File formats and processing engines help you produce beautiful and usable documentation out of plain text files
|
||||
- **ReadTheDocs**_:_ Is a documentation host that can be attached to a public Git repository
|
||||
- **Draw.io_,__LibreOffice Draw,__Dia_**: Produce diagrams, graphs, mind-maps, roadmaps, planning, standards, and metrics
|
||||
- **Peek_,_Asciinema**: Use commands for recording your terminal
|
||||
- **VokoscreenNG**: Use mouse clicks and screen capture
|
||||
|
||||
### Documentation is vital
|
||||
|
||||
Documenting processes and protocols are just as important as documenting your project itself. Most importantly, make information about your project and creation of your project exciting.
|
||||
|
||||
The speed of entering into a project and process, and understanding how everything works, is an important feature. It helps ensure continued engagement. Simple processes and a clear understanding of what needs to be done is obtained by building one "language" in the team.
|
||||
|
||||
Documentation is designed to convey value, which means demonstrating something through words and deeds. It doesn't matter whether it's a member of your team or a user of your application.
|
||||
|
||||
Think about the process as a continuum and use means of communication, processes, and documentation.
|
||||
|
||||
![Image showing documentation as a process of communication.][5]
|
||||
|
||||
Documentation is a means of communication.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/community-documentation
|
||||
|
||||
作者:[Olga Merkulova][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/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
|
@ -2,7 +2,7 @@
|
||||
[#]: via: "https://itsfoss.com/vs-code-github/"
|
||||
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: " "
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
@ -1,109 +0,0 @@
|
||||
[#]: 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: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
‘Speek!’ : 一个使用 Tor 的开源聊天应用程序
|
||||
======
|
||||
一个有趣的、开源的私人通讯软件,它利用 Tor (译者注:一个可以实现匿名通信的自由软件。其名源于「The Onion Router」(洋葱路由器)的英文缩写)来保证你的通信安全和私密。
|
||||
|
||||
Speek 是一种网络通讯服务,它利用多种技术保证网络聊天的私密性。
|
||||
|
||||
它是端到端加密的、去中心化和开源的。
|
||||
|
||||
毫无疑问,它的目标是将自己定位为 [WhatsApp 的替代品][1] 之一和 [Linux 上的 Signal][2] 的竞争对手。
|
||||
|
||||
那么,它到底如何呢? 让我们一起来仔细看看细节。
|
||||
|
||||
### “Speek!” 适用于 Linux 和 Android 的点对点(译者注:又称对等式网络,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。)即时消息应用程序
|
||||
|
||||
![Speek 截图][3]
|
||||
|
||||
Speek!(名称中带有感叹号)是一种加密的聊天软件,旨在对抗审查制度,同时保护数据隐私。
|
||||
|
||||
为了简单起见,我们在本文的其余部分忽略感叹号。
|
||||
|
||||
你也可以认为它是 [Session][4] 的替代品,但有一些区别。
|
||||
|
||||
与其他可用的通讯软件相比,它是一个相当新的竞争对手。 但是如果你想尝试开源的解决方案,它应该作为候选者。
|
||||
|
||||
虽然 Speek 声称能保持匿名,但如果你需要的是完全匿名的话,你应该始终注意自己在设备上的活动。 因为你需要考虑的不仅仅是即时通讯软件。
|
||||
|
||||
![speek id][5]
|
||||
|
||||
Speek 利用去中心化的 Tor 网络来保证安全性和私密性。 不仅如此,这样做可以让你无需电话号码就能使用服务。你只需要你的 Speek ID 就可以与人联系,而别人很难知道你的 ID。
|
||||
|
||||
### Speek 的亮点
|
||||
|
||||
![speek 选项][6]
|
||||
|
||||
Speek的一些主要亮点包括:
|
||||
|
||||
* 端到端加密:除收件人外,没有人可以查看您的消息。
|
||||
* 通过 TOR 路由流量:使用 TOR 路由消息,增强隐私。
|
||||
* 没有中央服务器:增加了对审查的抵抗力,因为很难关闭服务。 此外,没有针对黑客的单一攻击点。
|
||||
* 无需注册:无需共享任何个人信息即可开始使用该服务。 你只需要一个公钥来识别/添加用户。
|
||||
* 自毁聊天:当您关闭应用程序时,消息会自动删除。 增添了额外的隐私和安全性。
|
||||
* 无元数据:它会在你交换消息时消除任何元数据。
|
||||
* 私人文件共享:你还可以使用该服务安全地共享文件。
|
||||
|
||||
### 下载适用于 Linux 和其他平台的 Speek
|
||||
|
||||
你可以从他们的 [官方网站][7] 下载 Speek。
|
||||
|
||||
在撰写本文时,Speek 仅适用于 Linux、Android、macOS 和 Windows。
|
||||
|
||||
对于 Linux,你会找到一个 [AppImage][8] 文件。 如果你不知道 AppImages,可以参考我们的 [AppImage 指南][9] 来运行该应用程序。
|
||||
|
||||
![安卓系统上的 speek][10]
|
||||
|
||||
另外,[Google Play 商店][11] 上的 Android 应用程序还很新。 因此,你在尝试使用它时可以期待一下它的改进。
|
||||
|
||||
[Speek!][12]
|
||||
|
||||
### 关于 Speek 的用户体验
|
||||
|
||||
![Speek 截图][13]
|
||||
|
||||
这个应用的用户体验非常令人满意,包含了所有必备的功能。 它可以更好,但已经很不错了。
|
||||
|
||||
嗯,关于 Speek 的 GUI 没什么好说的。 GUI 非常极简风。 它的核心是一个聊天应用程序,而它做得恰如其分。 没有限时动态,没有地图,没有不必要的附加组件。
|
||||
|
||||
在我使用这个应用程序的有限时间里,我很满意它的功能。 它提供的功能使其成为一款出色的聊天应用程序,可通过其背后的所有技术提供安全和私密的消息传递体验。
|
||||
|
||||
如果将它与一些商业上更成功的聊天软件进行比较,它在功能上存在不足。 但话又说回来,Speek 的设计就不是一个只关注用户体验的时尚聊天应用。
|
||||
|
||||
因此,我只向注重隐私的用户推荐 Speek。 如果你想要平衡用户体验和功能,你可能希望继续使用像 Signal 这样的私人聊天软件。
|
||||
|
||||
*你对于 Speek 又有什么看法? 对于注重隐私的用户来说,它是一个很好的私人聊天软件吗? 请在下方评论区告诉我你的想法。*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/speek/
|
||||
|
||||
作者:[Pratham Patel][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [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/wp-content/uploads/2022/05/01_speek_gui-1-800x532.webp
|
||||
[4]: https://itsfoss.com/session-messenger/
|
||||
[5]: https://itsfoss.com/wp-content/uploads/2022/05/speek-id-800x497.png
|
||||
[6]: https://itsfoss.com/wp-content/uploads/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/wp-content/uploads/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/wp-content/uploads/2022/05/01_speek_gui-1-800x532.webp
|
@ -0,0 +1,141 @@
|
||||
[#]: 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: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
编写对社区真正有用的文档
|
||||
======
|
||||
|
||||
成功和可持续的项目,与那些消失无踪的项目有什么不同?答案是——社区。社区是开源项目的发展动力,而文档是构建社区的基石之一。也就是说,文档的意义不仅仅在于文档本身。
|
||||
|
||||
建立好的文档可能很困难。用户不愿意阅读文档,因为它不易查找,它很快就过时了,它冗长,或者它不全面。
|
||||
|
||||
开发团队不写文档,因为他们陷入了“对我来说很明显,所以对所有人都很明显”的陷阱。他们不写,因为他们忙于开发项目。要么是事物发展得太快了,要么是他们开发得还不够快。
|
||||
|
||||
但是好的文档仍然是团队和项目之间最好的沟通工具。考虑到项目随着时间的推移往往会变得更大,这一点尤其重要。
|
||||
|
||||
文档可以是团队或公司内部的唯一真理。这在协调人们朝着共同的目标前进,以及在人们转移到不同的项目时保留知识方面非常重要。
|
||||
|
||||
那么,要如何为一个项目写出合适的文档,并与正确的人分享呢?
|
||||
|
||||
### 什么是成功的社区文档?
|
||||
|
||||
要想在你的社区文档编写中取得成功,你需要:
|
||||
|
||||
- 规划你的路径
|
||||
- 使其清晰简单
|
||||
- 灵活变通,根据具体情况调整路径
|
||||
- 做版本控制
|
||||
|
||||
![图片展示了建立文档的整个流程][1]
|
||||
|
||||
灵活并不意味着混乱。许多项目之所以成功,就是因为它们组织得很好。
|
||||
|
||||
James Clear(_《原子习惯》_ 的作者)写道:“你并不是提升到了你目标所在的水平,而是降低到你整个系统所在的水平。”一定要组织好过程,使水平足够高,才能取得成功。
|
||||
|
||||
### 设计流程
|
||||
|
||||
文档本身就是一个项目。你可以把写文档当作写代码一样。事实上,文档可以是一个产品,而且是一个非常有价值的产品。
|
||||
|
||||
这就意味着你可以采用与软件开发相同的流程:分析、需求、设计、实现和维护,把文档作为你的一个流程对待。
|
||||
|
||||
在设计流程时,要从不同的角度考虑。同一份文档不一定适用于所有人。
|
||||
|
||||
大多数用户只需要了解项目的概况,而 API 文档则更适合开发者或高级用户。
|
||||
|
||||
开发者需要了解库和函数的文档。用户则更需要看到示例、操作指南和项目与其他软件的架构关系。
|
||||
|
||||
![图片展示了编写wenImage demonstrating different perspectives used while documenting.][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]
|
||||
|
||||
文档是一种沟通手段。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/23/3/community-documentation
|
||||
|
||||
作者:[Olga Merkulova][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[alim0x](https://github.com/alim0x)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [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
|
Loading…
Reference in New Issue
Block a user