Merge branch 'LCTT:master' into Synchronize-Databases-Apache-Seatunnel

This commit is contained in:
cool-summer-021 2023-04-17 15:49:13 +08:00 committed by GitHub
commit 295256b343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 3235 additions and 1959 deletions

View File

@ -3,14 +3,16 @@
[#]: author: "jao https://jao.io"
[#]: collector: "lujun9972"
[#]: translator: "Drwhooooo"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15711-1.html"
一个更好的视频码头
======
几天前,[我在写][1] 有关 [embark][2] 的内容,我的第一设备为启动远程视频流设计了一个新的 embark。作为 embark 的作者Omar Antolín Camarena不仅阅读了这篇内容还点评了一下我认为值得跟进的一些重大改进.
![][0]
之前,[我在写][1] 有关 [embark][2] 的内容,我的第一设备为启动远程视频流设计了一个新的 embark。embark 的作者 Omar Antolín Camarena 不仅阅读了这篇内容,还点评了一下我认为值得跟进的一些重大改进。
首先,你应该记得我们曾定义过一个检测视频 URL 的函数:
@ -33,6 +35,7 @@
(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 很贴切地把这个过程称为“目标的精化”;我们具体做法如下:
@ -47,8 +50,8 @@
```
通过这种策略,我们就不再需要 `jao-video-finder` 了,而且从概念上来说,我们的 `video-url` 应该被定义为一个精化操作而并非是一个目标[1][3]。Omar 的第二个提议也与这个概念相契合:想必我们都希望所有关于 `url` 和我们的 `video-url` 的操作都是可用的,不是吗?
唔,这就是为什么我们用来定义行为的 `embark-define-keymap` 的宏可以通过使用关键字[2][4] `:parent` 继承其他键映射中已经定义的所有操作的原因:
通过这种策略,我们就不再需要 `jao-video-finder` 了,而且从概念上来说,我们的 `video-url` 应该被定义为一个精化操作而并非是一个目标 [脚注 1]。Omar 的第二个提议也与这个概念相契合:想必我们都希望所有关于 `url` 和我们的 `video-url` 的操作都是可用的,不是吗?
唔,这就是为什么我们用来定义行为的 `embark-define-keymap` 的宏可以通过使用关键字 [脚注 2] `:parent` 继承其他键映射中已经定义的所有操作的原因:
```
@ -63,14 +66,10 @@
这种继承键映射的功能并非是 embark 的附属功能vanilla Emacs 键映射通过标准函数 `set-keymap-parent` 已经搞定它了。你可以完全不用 `embark-define-keymap` 来定义 `jao-video-url-map`,工作原理是一样的。
这样我们的代码就能够更短特征更多谢谢你Omar!
### 脚注:
[1][5]
在某些情况下,保留 jao-video-finder 是有意义的,即,如果我们想要改变检测 URL 的功能的话。例如,我在使用 emacs-w3m 的时候,经常有一个 URL 作为文本属性储存了起来(实际文本是个链接文本)。要通过那里检索 URL就需要调用 `w3m-anchor`,而用 `embark-target-url-at-point` 就会错过它。对于这种情况,我最终编写(并使用)`jao-video-finder` 将其通过下文定义:
这样我们的代码就能够更短特征更多谢谢你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))))
@ -92,20 +91,18 @@
这种方法更加模块化,并且取决于你们的喜好,且更加巧妙。这些功能都很小巧并且两种方法之间并没有太大的差别,但是如果其中某一种继续加入更多寻检器的话,前一种方法用起来来反而会让一切变得更糟。
[2][6]
**脚注 2**:在我最开始的例子中,我在视频地图中还添加了 `browse-url``browse-url-firefox`。前一个已不再重要,因为它已经在 `embark-url-map` 中出现过了,如果我们想让 `browse-url-firefox`_所有_ 的 URLs 可用,我们可以将其加入到 `embark-url-map` 谨记embark 的键映射只是 Emacs 的键映射)。这是另一种扩展 embark 的简便方法。
在我最开始的例子中,我在视频地图中还添加了 `browse-url``browse-url-firefox`。前一个已不再重要,因为它已经在 `embark-url-map` 中出现过了,如果我们想让 `browse-url-firefox`_所有_ 的 URLs 可用,我们可以将其加入到 `embark-url-map` 谨记embark 的键映射只是 Emacs 的键映射)。这是另一种扩展 embark 的简便方法。
[标签][7]: [emacs][8]
*题图MJ:emacs video geek wallpaper dark plain background Illustration*
--------------------------------------------------------------------------------
via: https://jao.io/blog/2021-01-11-an-even-better-video-wharf.html
via: https://jao.io/blog/an-even-better-video-wharf.html
作者:[jao][a]
选题:[lujun9972][b]
译者:[Drwhooooo](https://github.com/Drwhooooo)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@ -119,3 +116,4 @@ via: https://jao.io/blog/2021-01-11-an-even-better-video-wharf.html
[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

View File

@ -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

View File

@ -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 架构)。
- 支持 IA32x86_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 xmlDebian 的 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

View File

@ -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

View File

@ -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

View 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

View File

@ -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) 指标服务器
如何逐步安装 Kubernetesk8s指标服务器
======
在这篇文章中,我们将逐步介绍如何安装 Kubernetes 指标服务器。
![][0]
Kubernetes(k8s) 指标服务器是一个组件,用于收集和聚合来自 Kubernetes 集群中各种来源(包括节点和 Pod的指标数据。此数据可用于监控和优化资源利用率、识别潜在问题并提高 Kubernetes 集群的整体性能
> 在这篇文章中,我们将逐步介绍如何安装 Kubernetes 指标服务器
指标服务器收集资源利用率数据,例如集群中节点和 Pod 的 CPU 和内存使用情况。它提供了一个 API 端点,可用于查询此数据并检索集群中特定资源的指标。
Kubernetesk8s指标服务器是一个组件用于收集和聚合来自 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

View File

@ -3,14 +3,18 @@
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15717-1.html"
使用树莓派测量圆周率
使用一块树莓派主板测量圆周率
======
世界各地将 3 月 14 日定为圆周率日。许多人通过在房子周围找到的物体测量圆周率来庆祝圆周率日。我想用我的树莓派 3B 为今年的 Pi Day 做一些类似的事情。继续阅读以了解我如何使用我的树莓派测量圆周率。
![][0]
> 用你的树莓派制作一个接近完美的圆。
世界各地将 3 月 14 日定为圆周率日。许多人通过在房子周围找到的物体测量圆周率来庆祝圆周率日。我想用我的树莓派 3B 为今年的圆周率日做一些类似的事情。继续阅读以了解我如何使用我的树莓派测量圆周率。
你需要什么:
@ -19,7 +23,7 @@
- 带毫米和厘米测量值的标尺
- 笔
### 1. 画一个圆
### 1画一个圆
圆周率是圆的周长与其直径的比值。要计算圆周率,我们需要测量一个完美绘制的圆的周长和直径。幸运的是,树莓派主板上的安装孔足够大,可以使用铅笔或钢笔。我通过一个树莓派板安装孔插入了一根图钉,小心地将针放在一张方格纸上两条线的交点上。
@ -27,9 +31,9 @@
![Use the Raspberry Pi as a compass to draw a circle.][1]
### 2. 把圆分成段
### 2把圆分成段
通过画一条穿过圆心的垂直线将圆分成两半,通过画一条穿过圆心的水平线将圆再次分成四分之一。当我画圆的时候,我把图钉正好放在图画纸上两条线的交点上,这样就很容易找到垂直和水平的中心线。你可以通过在对角线上画一条线来创造一个 "八分 "片。
通过画一条穿过圆心的垂直线将圆分成两半,通过画一条穿过圆心的水平线将圆再次分成四分之一。当我画圆的时候,我把图钉正好放在图画纸上两条线的交点上,这样就很容易找到垂直和水平的中心线。你可以通过在对角线上画一条线来创造一个 “八分” 片。
![Each small wedge is 1/8 of a circle.][2]
@ -37,7 +41,7 @@
![If you are careful, you can keep dividing to find 1/128 of a circle.][3]
### 3. 估算周长
### 3估算周长
我最小的楔形是一个圆的 1/128。如此小的切片楔形的外弧非常小我们可以用一条直线来近似它。这实际上不是圆周长的 1/128但它足够接近我们可以将其用作一个很好的估计。
@ -45,7 +49,7 @@
使用我的尺子上的毫米测量值,我测量了我的 1/128 楔形的外弧为 3.8 毫米。这样,我可以估计圆的周长为 3.8 毫米乘以 128即 486.4 毫米。要转换为厘米,除以十:**48.64cm**。
### 4. 计算圆周率
### 4计算圆周率
圆周率的值是圆的周长与其直径的比值。我们在步骤 3 中估算了周长。测量直径是使用尺子测量圆周的简单练习。我的圆是 **15.4cm**
@ -53,6 +57,10 @@
测量圆周率是一项有趣的数学练习!各个年龄段的数学爱好者都可以使用方格纸、笔和尺子等简单工具自行测量圆周率。以一种有趣的新方式使用你的树莓派来绘制圆并独立测量圆周率。这是一个估计值,因为我们将圆上的 1/128 弧近似为一条直线,但这使我们无需太多努力就足够接近了。
LCTT 校注:这真是对树莓派的“合理”应用,摔!)
*题图MJ: Circumference in high resolution, very detailed*
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/3/measure-pi-raspberry-pi
@ -60,7 +68,7 @@ via: https://opensource.com/article/23/3/measure-pi-raspberry-pi
作者:[Jim Hall][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/) 荣誉推出
@ -69,4 +77,5 @@ via: https://opensource.com/article/23/3/measure-pi-raspberry-pi
[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
[4]: https://opensource.com/sites/default/files/2023-03/10000000000003E8000003E881402FB71F1945FF.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202304/13/120203upp4tb199bbhpp59.jpg

View File

@ -3,30 +3,34 @@
[#]: author: "Heike Jurzik https://opensource.com/users/hej"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: 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
This article looks at some of the new Collabora Online's interoperability features, including macros, dynamic font loading, and Sparklines support for the spreadsheet application. These features extend the existing great handling of Microsoft file formats.
本文介绍了 Collabora Online 的一些新的互操作性功能,包括宏、动态字体加载和电子表格应用程序的 Sparklines 支持。这些功能扩展了现有的对微软文件格式的出色处理。
### 什么是互操作性,为什么它很重要?
一般来说,互操作性是指不同的设备或应用在一起工作和无缝交换数据的能力。在办公套件的背景下,互操作性主要是指文件格式。用户应该能够打开、编辑和保存 `.doc``.docx`、`.xls` 和 `.xlsx`、`.odt` 和 `.ods`文件,无论它们是用 Microsoft Word、Apple iWork 还是 LibreOffice 创建。
一般来说,互操作性是指不同的设备或应用在一起工作和无缝交换数据的能力。在办公套件的背景下,互操作性主要是指文件格式。用户应该能够打开、编辑和保存 `.doc``.docx`、`.xls` 和 `.xlsx`、`.odt` 和 `.ods`文件,无论它们是用微软的 Word、苹果的 iWork 还是 LibreOffice 创建。
对于在线办公套件也是如此。通过确保文件可以在 Microsoft 365、Google Workspace 和 Collabora Online 之间交换,互操作性有助于提高生产力和促进协作。所有在线办公套件都可以保存各种格式的文件。它们还可以导入和导出最初在其他办公套件中创建的文档、电子表格和演示文稿。
### 管理宏,确保文件处理顺畅
经常引起问题的是带有宏的文件。它们通常是用特定的编程语言开发的,适用于某个特定的应用。虽然在 Google Sheets 中记录和编辑宏是可能的,但在 Microsoft Office 中用 Visual Basic for ApplicationsVBA实现的宏不能被转换必须用 Google Apps Script 重新创建。打开带有 VBA 宏的 Word 文档会产生错误,并通知用户这些宏将被忽略或禁用。
经常引起问题的是带有宏的文件。它们通常是用特定的编程语言开发的,适用于某个特定的应用。虽然在 Google Sheets 中记录和编辑宏是可能的,但在微软 Office 中用 Visual Basic for ApplicationsVBA实现的宏不能被转换必须用 Google Apps Script 重新创建。打开带有 VBA 宏的 Word 文档会产生错误,并通知用户这些宏将被忽略或禁用。
Collabora Online 支持宏,并在容器内的服务器端运行它们。该功能默认是禁用的,管理员必须在 `coolwsd.xml` 配置文件中明确激活它。之后用户可以选择在加载文档时允许使用宏。不过有几个限制。例如它不可能访问数据库源访问其他外部文件调用外部程序使用控制形状等等。多年来由于活跃的社区以及客户和合作伙伴的贡献Collabora Online 支持的代码和对象的数量已经大大增加。
@ -34,7 +38,7 @@ Collabora Online 支持宏,并在容器内的服务器端运行它们。该功
办公套件中互操作性的另一个关键方面是字体。使用含有在特定平台上无法使用的字体的文档,可能会导致错误、意外的格式变化,甚至是内容的完全丢失。
Microsoft Office 文档经常使用 Google Workspace 或 Collabora Online 中没有的默认字体。为了解决这个问题,办公套件经常建议替换掉缺失的字体。这通常是有用的,但有时会导致不好的结果。
微软 Office 文档经常使用 Google Workspace 或 Collabora Online 中没有的默认字体。为了解决这个问题,办公套件经常建议替换掉缺失的字体。这通常是有用的,但有时会导致不好的结果。
从 22.05.7 版本2022 年 11 月发布开始Collabora Online 可以列出缺失的字体并建议替换。它还可以下载必要的字体并将其添加到服务器上。一切都是动态进行的,而不会停机。新的字体在几分钟内就可以在编辑会话中使用,实现最佳的互操作性。
@ -56,12 +60,14 @@ Sparkline 是一个紧凑的参考,提供了一个快速的方法来说明趋
要创建一个 Sparkline你首先要为该函数定义一个输入数据范围一列或一行中的两个或多个单元格。你还可以决定你希望 Sparkline 出现的单元格。在大多数电子表格应用中你右键点击迷你图表来调整其属性选择图表类型并选择颜色。Collabora Online 为此提供了一个单独的对话框,使得改变微型图表的风格变得简单而方便。
在三个线上办公之间交换带有 Sparkline 的文件是可能的,不会丢失图表及其格式。如果你想在 Microsoft 365、Google Workspace 和 Collabora Online 之间共享电子表格,请确保使用微软格式的 .xlsx 进行导入和导出,因为 Google Sheets 不能很好地处理 .ods 文件。
在三个线上办公软件之间交换带有 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
@ -69,7 +75,7 @@ via: https://opensource.com/article/23/4/open-source-collabora-online-interopera
作者:[Heike Jurzik][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/) 荣誉推出
@ -78,4 +84,5 @@ via: https://opensource.com/article/23/4/open-source-collabora-online-interopera
[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
[4]: https://opensource.com/sites/default/files/2023-03/1000020100000690000004FB490A0D79C005B60B.webp
[0]: https://img.linux.net.cn/data/attachment/album/202304/11/172833cww99zg2goqgtngk.jpg

View File

@ -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

View File

@ -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 16Gen5是目前所能找到的终极 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 DDR55600MHz 的内存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 8GB500GB 三星 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

View File

@ -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

View File

@ -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 7600MXT等新设备的支持。
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

View File

@ -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

View File

@ -1,52 +0,0 @@
[#]: subject: "Linux Mint Team Announced “Styles” for Cinnamon Desktop"
[#]: via: "https://debugpointnews.com/cinnamon-styles-announcement/"
[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Linux Mint Team Announced “Styles” for Cinnamon Desktop
======
**The Linux Mint team has introduced “styles” in Cinnamon desktop for the upcoming release, Linux Mint 21.2, allowing for easier customization and a visually appealing interface.**
In their monthly update post, the Linux Mint team gave a sneak peek of whats in store for the upcoming release, Linux Mint 21.2. One of the exciting new features that caught the eye was the introduction of “styles” in the Cinnamon desktop.
The next iteration of Cinnamon will present a novel concept known as “styles”. Styles come in three modes: mixed, dark, and light, and each of these modes can have colour “variants”. A variant is a combination of themes that blend together. The goal of styles, modes, and variants is to make it easier to switch to a beautiful-looking interface and quickly browse through available options. You wont have to find matching elements because styles will do that for you, no matter how many individual themes you have installed.
In the style combo, you will see popular styles such as Adwaita, Mint-X, Mint-Y, among others. Just select one mode, and the colour variants will be displayed. You can switch between styles, modes, and colour variants with a few clicks of a button. However, if you prefer a specific combination of not proposed themes, you can click on “Advanced settings” and choose individual themes.
![Adwaita Cinnamon Style][1]
![Mint-Y Cinnamon Style][2]
![Mint-L Cinnamon Style][3]
The best part is that everything will work out of the box for everybody. The Linux Mint team wants Cinnamon styles to work well for everyone, including third-party theme artists and other distributions. Cinnamon styles are defined in JSON files in `/usr/share/cinnamon/styles.d/`. These files are read alphabetically, and styles can override one another if they have the same name. This approach lets distributions or theme artists define their styles while also using Cinnamons style definitions.
This entire feature should arrive as part of [Linux Mint 21.2 “Victoria” release][4], due on June 2023. If you want to contribute or want to develop your own theme for Mint, you can create a post in Mint forums.
Linux Mint users have long awaited this new feature and are sure to make the desktop environment more visually appealing and customizable. We cant wait to see what the Linux Mint team has in store for us with the upcoming release!
Image credits: Linux Mint team, Via [announcement][5]
--------------------------------------------------------------------------------
via: https://debugpointnews.com/cinnamon-styles-announcement/
作者:[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/Adwaita-Cinnamon-Style.jpg
[2]: https://debugpointnews.com/wp-content/uploads/2023/04/Mint-Y-Cinnamon-Style.jpg
[3]: https://debugpointnews.com/wp-content/uploads/2023/04/Mint-L-Cinnamon-Style.jpg
[4]: https://debugpointnews.com/linux-mint-21-2-announcement/
[5]: https://blog.linuxmint.com/?p=4486

View File

@ -1,93 +0,0 @@
[#]: subject: "Color Variants & Styles Are Coming to Linux Mint 21.2"
[#]: via: "https://news.itsfoss.com/color-styles-linux-mint/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Color Variants & Styles Are Coming to Linux Mint 21.2
======
New visual elements and options for Linux Mint Cinnamon. What do you think?
![linux mint style][1]
![][2]
Recently, Linux Mint has been focusing on its look and feel more than usual.
With [Linux Mint 21.1][3], you get a new default theme and several subtle visual refinements.
And it looks like more such changes are in progress for the upcoming Linux Mint 21.2. As usual, a new monthly blog post highlighted some progress planned for the next release.
The highlight for me is the new concept, "**Styles,**" coming to the **Cinnamon desktop**.
### Cinnamon Upgrade With Linux Mint 21.2
Adding Styles to Cinnamon results in a simplified version of theme tweaks.
With the theme controls on Cinnamon, you must choose the mouse pointer, icon theme, and desktop theme separately.
![linux mint theme selection][4]
There are a lot of themes to select from. So, with the "Styles" approach, the tweaks get simplified to two things:
![linux mint style selection][5]
- **Style**
- **Appearance**
The Style preset will feature options like Adwaita, Mint-X, Mint-Y, etc (the same options you find with the current theme selection).
![styles in linux mint][6]
For the appearance, you will choose the theme mode as dark/light or mixed as per your preferences.
The mixed mode will have both dark/light modes of apps for contrast, and the other modes are self-explanatory.
Once you have set these two options, you can find new color variants, combining themes. You can also play around with it to see what color combination works best for your style.
![linux mint yaru theme][7]
You can always find the current way of setting things under "**Advance settings**".
In addition, as shown in the screenshot above, you will find new color combinations available to add variety, even if the theme sounds similar.
Other changes expected with Linux Mint 21.2 include:
![][8]
- **Dropping the folder stripes**
- **Removing monochrome icons and dark theme icons to replace them with symbolic icons to ensure compatibility and uniform contrast with all themes**
Sure, these simplifications of options for the end-user may not be massive overhauls but meaningful changes to improve the Cinnamon desktop experience overall.
Of course, it could become one of the [reasons you choose Cinnamon][9].
Not just limited to Linux Mint, these improvements will also help elevate the experience with any other distributions offering a Cinnamon desktop edition. You can head to Linux Mint's [official blog][10] to explore more about it.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/color-styles-linux-mint/
作者:[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/04/mint-21-2-color-styles.png
[2]: https://news.itsfoss.com/content/images/2023/03/linux-mega-packt.webp
[3]: https://news.itsfoss.com/linux-mint-21-1-release/
[4]: https://news.itsfoss.com/content/images/2023/04/linux-mint-theme-current.jpg
[5]: https://news.itsfoss.com/content/images/2023/04/adwaita.png
[6]: https://news.itsfoss.com/content/images/2023/04/mint-y-styles.png
[7]: https://news.itsfoss.com/content/images/2023/04/yaru.png
[8]: https://news.itsfoss.com/content/images/2023/04/nemo.png
[9]: https://itsfoss.com/why-cinnamon/?ref=news.itsfoss.com
[10]: https://blog.linuxmint.com/?ref=news.itsfoss.com

View File

@ -1,117 +0,0 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
TUXEDO Stellaris 16 (Gen5) is The Ultimate Linux Laptop You Can Find Now
======
The laptop packs in a punch with specs
like RTX 4090 and i9 processor! Don't you think?
![tuxedo stellar][1]
![][2]
TUXEDO Computers is a well-known brand in the Linux space that provide customizable Linux notebooks and Desktop PCs at various price/performance points.
Not to forget, it is one of the trusted places to [buy Linux computers][3].
With a recent announcement, they have launched the **next evolution of their Stellaris 16-inch laptop.**
I must say that this can be a proper challenger to Framework's recently announced high-performance 16-inch Laptop.
Let's take a look at it.
### TUXEDO Stellaris 16 Gen 5: Overview ⭐
![a photo of the tuxedo stellaris 16 - gen5 laptop][4]
The major highlight of this laptop is that it features Nvidia's latest and greatest [**RTX40 series**][5] of mobile GPUs that offer some great graphics performance and features.
Paired with Intel's top-of-the-line processor, the **[i9 13900HX][6]**, with its 24-cores that can turbo up to a **blazing fast 5.40 GHz** at a whopping **157 W TDP** (Turbo), it is a compelling package.
Though keep in mind; that for running the laptop at its full potential, TUXEDO recommends using **their external water cooling solution**, [TUXEDO Aquaris][7], which can be attached magnetically to the back of the laptop.
> 📋 You will have to pay extra for this when ordering the laptop.
The processor can run at a base TDP of **55 W** with a 3.90 GHz clock speed when it is not running at full blast.
That's still a decent performance figure for such a thin laptop! 😮
Some other key highlights of the Stellaris 16 Gen5 laptop are as follows:
- **The chassis is made up of a combination of Aluminum and Plastics.**
- **A 240 Hz 16-inch IPS display with Nvidia G-SYNC support.**
- **GPU options up to an Nvidia RTX 4090.**
- **Up to 64 GB DDR5, 5600 MHz RAM (2x 32 GB).**
- **A 99 Wh Battery that allows for runtimes of up to 10 hours (idle), and around 67 hours under typical loads.**
### ⚡ TUXEDO Stellaris 16: What Makes it a Powerhouse?
The high-end hardware aboard the Stellaris 16 Gen5 laptop won't only appeal to gamers but also to a wide variety of other users such as content creators, AI/ML engineers, UI/UX artists, and more.
**So, what makes it such a complete package?**
Well, it is the freedom of choosing from various possible setups.
For starters, you get to pick from a relatively calmer GPU in the form of an **RTX 4060**, all the way to the **insane RTX 4090,** with the **RTX 4070** and **RTX 4080** filling in the gaps.
![tuxedo stellaris laptop][8]
Then there are the keyboard options that let you decide between their newly added [Cherry MX Ultra-Low Profile][9] clicky switches for a tactile and audible feel during typing or the usual silent membrane switches.
You can also pick from an extensive **list of keyboard layouts** that include English, German, Spanish, Hungarian, and more with the backlit TUX super-key.
The RAM offerings are no less; you can decide between two performance tiers. One is a 'Performance' tier that offers **DDR5 RAM** running at a swift **4800 MHZ** and a 'High Performance' tier that offers DDR5 RAM running at an eye-watering **5600 MHz**.
These tiers offer a maximum of 64 GB RAM, mixing sticks from **SK Hynix**, **Samsung,** and **Micron**.
As for storage, two M.2 2280 SSD slots run on PCIe 4.0 x4 with various Samsung SSDs.
The lineup starts with a **Samsung 970 EVO Plus**, with the **Samsung 980** in the middle and the blazing-fast **Samsung 980 Pro** being the range-topper.
> 📋 A maximum of 4 TB of storage is possible with both the M.2 slots occupied.
Besides that, the Stellaris 16 Gen5 features **Wi-Fi 6E** with **Bluetooth 5.3** and comes with the **[TUXEDO OS][10] pre-installed** unless you choose a different one at checkout.
The OS offerings include the likes of **Ubuntu 22.04 LTS**, **Kubuntu 22.04 LTS**, **Ubuntu Budgie 22.04 LTS,** and **Windows 11 Home/Pro**.
### 💸 Availability and Pricing
The TUXEDO Stellaris 16 Gen5 is **available for pre-order**, with **deliveries starting at the end of April**.
Prices start at **1763,87 EUR for the base config** with the i9 processor, an RTX 4060, 16 GB of RAM (2x 8 GB) running at 5600MHZ, a 500 GB Samsung 980 SSD, and TUXEDO OS.
[Pre-Order][11]
Head over to the [official store listing][11], and start configuring as per your requirements.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/tuxedo-stellaris-16-gen-5/
作者:[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/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/?ref=news.itsfoss.com
[4]: https://news.itsfoss.com/content/images/2023/04/TUXEDO_Stellaris_16-Gen5.jpg
[5]: https://www.nvidia.com/en-us/geforce/laptops/?ref=news.itsfoss.com
[6]: https://ark.intel.com/content/www/us/en/ark/products/232171/intel-core-i913900hx-processor-36m-cache-up-to-5-40-ghz.html?ref=news.itsfoss.com
[7]: https://www.tuxedocomputers.com/en/Linux-Hardware/Accessories/Further-accessories/TUXEDO-Aquaris--External-Water-Cooling-Device_1.tuxedo?ref=news.itsfoss.com
[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?ref=news.itsfoss.com
[10]: https://www.tuxedocomputers.com/os?ref=news.itsfoss.com
[11]: https://www.tuxedocomputers.com/en/TUXEDO-Stellaris-16-Gen5.tuxedo?ref=news.itsfoss.com

View File

@ -2,7 +2,7 @@
[#]: 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: " "
[#]: translator: "XiaotingHuang22"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@ -74,7 +74,7 @@ via: https://opensource.com/article/22/8/non-code-contribution-powers-open-sourc
作者:[John E. Picozzi][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -2,7 +2,7 @@
[#]: via: "https://opensource.com/article/23/2/open-source-leaders-inclusive-environment"
[#]: author: "Kate Carcia Poulin https://opensource.com/users/kcarcia"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "XiaotingHuang22"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@ -46,7 +46,7 @@ via: https://opensource.com/article/23/2/open-source-leaders-inclusive-environme
作者:[Kate Carcia Poulin][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
译者:[XiaotingHuang22](https://github.com/XiaotingHuang22)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -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 didnt 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, thats 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, its 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 isnt 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 Id 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 dont 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 couldnt cover scholarships, but Jessica developed a mentorship instead. The program used the companys 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 doesnt 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 Armagans 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 didnt 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, Id never thought I could give back to it with actual code.
### My contribution
This is how [rainbow-penguin][5] was born. Its an npm library that sends motivational messages to developers while coding. Maybe its 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

View File

@ -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

View File

@ -0,0 +1,60 @@
[#]: subject: "5 open source principles that help organizational governance"
[#]: via: "https://opensource.com/article/23/4/open-source-principals-organizational-governance"
[#]: author: "John E. Picozzi https://opensource.com/users/johnpicozzi"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
5 open source principles that help organizational governance
======
Throughout my career, I have been fortunate to work with many organizations of various sizes on a variety of projects. All of these projects had open source software at their core, and most contributed what they could back to the open source community. I recently worked on a greenfield project using open source software within a large organization. After the MVP phase of the project, the organization's leadership was interested in learning what led to project success and how they could apply it to other teams across the organization. Upon reflection, I saw similarities between our team's way of working and open source communities and development. The following are some insights into how open source principles can help organizations save money, [reduce technical debt][1], and bust internal silos.
### 1. Better spent budgets
I recently delivered a talk on [Headless Omni-Channel Web Platforms][2] at the Florida Drupal Camp. One of the key benefits highlighted in the presentation was how to save money by implementing this web platform. The idea comes from open source software development. Different groups within an organization can use their budget to contribute features or functionality to a core software or platform. They can also team up with other groups to pool dollars for more complex features. When the feature development is done, it's added to the core software or platform and available for all. Using this open source principle can provide mutual benefits to groups within an organization. Allowing the sharing of features and functionality and collectively benefiting from each other's spending can improve the software or platform.
Another aspect of this approach that saves money and allows for continuous improvement is the ability to test and develop a feature once and reuse it repeatedly. We frequently see this when creating a web platform that uses a component-based design system as a starting point. Users of the platform can reuse components or features developed by other users. Often, these have already been tested in numerous ways, such as user experience, accessibility, and even security testing.
This simple idea faces opposition in many organizations as individual groups covet and protect budgets. Groups don't want to give up their budgets to support the core software or platform. In some cases, differences in priority and opinion add to siloing in many institutions.
### 2. Reduce technical debt
Many organizations strive to reduce technical debt. Implementing a comprehensive core software or platform and using open source principles can help reduce technical debt. This happens by allowing development teams to think fully about how a feature impacts not just the group building it but the wider organization. This, plus collaboration with other groups within an organization, can help reduce the need for rebuilding or adding functionality in the future.
Sometimes organizations struggle with this type of collaboration and thinking because of internal competitiveness. Some companies foster a culture where being the first to build a feature or come up with an idea is rewarded. This can lead to groups not working together or sharing ideas, fostering silos within the organization and greatly hindering innovation.
### 3. Faster time to market
One of the terms I hear frequently is "Faster time to market." Everyone wants to get their thing out quicker and easier. This is often a benefit of a core software or platform, as internal groups can reuse existing, tested, and proven features and functionality instead of building their own from scratch. If your group is starting a project, and it could start from 80% complete instead of 0% complete, would you do it? I'm thinking yes. Now pile on the superhero feeling of adding needed functionality for other users. It's a win-win!
### 4. Release excitement
Another great open source principle that can help your organization is a release schedule that builds excitement. When your organization implements a core software or platform, users are invested in when updates come out. A release schedule and roadmap can communicate this to them. These two tools can help users to get excited about new features and plan their own roadmaps accordingly. It also helps build appreciation for other teams and pride for the teams building new features. This can unify an organization and allow for an organizational sense of teamwork and accomplishment while providing structure and a plan for the future.
### 5. A core team and governance
I have found you need two key items to overcome the above-noted obstacles and successfully apply open source principles within your organization. These are: A core team and solid organizational governance. A core team will allow for one group to maintain and manage your organization's core software or platform. It will support the solution and ensure new features and functionality are added wisely. This team can help to reduce the cost to internal teams and inform groups of roadmap features. The core team needs to be supported by strong organizational governance. This governance will provide groups within the organization with a common direction and organizational support to succeed. This organizational governance can mimic open source governance and principles in several ways. The most basic and highest level principle is community and the idea of working together toward a common goal.
### Open leadership
Adopting organizational governance based on [open source principles][3] can lead your organization to reduce cost, lower technical debt, increase team collaboration, foster innovation, and, above all, propel your organization forward together.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/open-source-principals-organizational-governance
作者:[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://enterprisersproject.com/article/2020/6/technical-debt-explained-plain-english?intcmp=7013a000002qLH8AAM
[2]: https://noti.st/johnpicozzi/thgcPs/think-locally-build-globally-how-drupal-is-powering-headless-omni-channel-web-platforms
[3]: https://opensource.com/article/23/4/open-leadership-through-change

View File

@ -0,0 +1,61 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
7 tips to make the most of your next tech conference
======
I recently had the opportunity to visit two technical conferences in February 2023, both geared towards open source software. I was a presenter at [Config Management Camp][1], in Ghent, Belgium, and an attendee at [FOSDEM][2] in Brussels, Belgium. This article aims to highlight my experiences at the conferences and to provide you with some tips on how to make the most of such an opportunity whenever it arises.
### Have a purpose
Different people attend conferences for different reasons. Some people are presenters of a certain topic or area of knowledge or interest. Other people are attendees that want to gain knowledge from these talks and to network with other like-minded individuals. There are also attendees that are representing their companies. You most likely fall into one of these categories. Knowing what you wish to gain out of a conference is the first step to a successful conference visit. If you are a presenter, it means being proficient in whatever it is you are presenting. If you are an attendee, you should have a sense of what you want out of the conference.
### Know the venue and schedule
FOSDEM is a huge conference with at least six thousand people attending it in a span of two days. Not surprisingly, for a conference catering to such an audience, a number of talks happen at the same time. It is next to impossible to attend all talks that are of interest to you. Usually, such large conferences are hosted at a spacious venue like a university or a conference center. Because the area is so huge, the talks are spread across the venue based on specific topics. The talks have a fixed schedule, so you might have to move quickly from one side of the venue to another. The map of the venue is easily available on the venue's website. It makes sense to arrive at the venue a bit early on the first day and familiarize yourself with it. This helps save time when you are rushing out at the end of one talk to rush to another.
### Take notes
It's one thing to focus and enjoy the talk while it's happening live. However, your mind can only retain so much. Sure, folks try to use their phones to the fullest by taking pictures of the slides that are being presented (along with the speaker). This is good if you wish to quickly update on social media about the talk that you are attending. However, it's not very effective for note-taking. Usually, the material on the slides is minimal. But if the speaker explains something in depth on the stage, you might miss out on the explanation. I recommend carrying a notepad and a pen with you at all times. You can even bring your laptop for note-taking. The idea is to make quick one-liner notes about interesting tidbits during the talk so you can revisit them later. You can always ask the speaker questions toward the end.
### Network and collaborate
A conference is probably the best place to hang out with like-minded individuals. They are interested in the same topics as you. It's best to make use of this time to understand what work is being done on the topic of interest, see how folks solve interesting problems, how they approach things, and get a pulse of the industry in general. You are at the conference for a limited time, so make sure to get introduced to folks working on things that matter to you. This is a good opportunity to gather information for communicating with them later. You can exchange personal information such as email, Mastodon, LinkedIn, and so on.
### Make time for booths and swag
Most technical conferences have booths from different companies or upstream projects wanting to market their products and services. To attract more walk-ins at the booths, a variety of swag items are often kept as an attraction available for free (in most cases). These goodies are usually stickers, cool water bottles, fun gadgets, soft toys, pens, and so on. Be sure to collect them so you have something for your co-workers and friends back home. Visiting booths shouldn't be just about the swag. You should use this opportunity to talk to people from different companies (even if they are competitors) to understand what they have to offer. Who knows, you might get knowledge of future projects!
### Relax
Traveling for a conference shouldn't be just about work. It is also about taking a break from your usual busy schedule and relaxing. Chances are you are traveling to a different country or city that you haven't visited before. The conference, talks, and technical discussions are all important. However, they are only part of the whole experience. The other half of the experience is the travel which opens one up to another country, its culture, its people, the food, the language, and a different way of life. Take a step back and enjoy all these experiences and make lifelong memories. I recommend finding some famous landmarks to visit at the place of your stay. You should also try the local cuisine, or you can just chat with the locals. In the end, you will discover another part of yourself that you thought never existed.
### Write about your experience
Once you are back from the conference, don't just forget about it and go back to your regular schedule as if nothing happened. Use this opportunity to write about your experiences, and share which talks you found the best and why. What are the key takeaways from the conference and the travel? You should document what you learned. You should reach out to the people you met at the conference. You can also follow social media posts on things that you might have missed out on.
### Conclusion
Conferences are one of the perks of the tech industry. I suggest everyone go to one sometime during their career. I hope this article helped shed some light on how to make the most when visiting a technical conference.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/tips-tech-conference
作者:[Gaurav Kamathe][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/gkamathe
[b]: https://github.com/lkxed/
[1]: https://cfgmgmtcamp.eu/ghent2023/
[2]: https://fosdem.org/2023/

View File

@ -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! : An Open-Source Chat App That Uses Tor
======
An interesting open-source private messenger that utilizes Tor to keep your communications secure and private.
Speek is an internet messaging service that leverages multiple technologies to help keep your internet chats private.
It is end-to-end encrypted, decentralized, and open-source.
Undoubtedly, it aims to pitch itself as one of the [WhatsApp alternatives][1] and a competitor to [Signal on Linux][2].
So, what is it all about? Let us take a closer look at the details.
### Speek! A Peer-to-Peer Instant Messaging App for Linux and Android
![screenshot of Speek][3]
Speek! (with an exclamation mark as part of its name) is an encrypted chat messenger that aims to fight against censorship while keeping your data private.
To keep things simple, we ignore the exclamation mark for the rest of the article.
You can also find it as an alternative to [Session][4], but with some differences.
It is a fairly new competitor compared to other messengers available. However, it should be a candidate to try as an open-source solution.
While it claims to keep you anonymous, you should always be cautious of your activities on your devices to ensure complete anonymity, if thats what you require. Its not just the messenger that you need to think of.
![speek id][5]
It utilizes a decentralized Tor network to keep things secure and private. And, this enables it to make the service useful without needing your phone number. You just require your Speek ID to connect with people, and it is tough for someone to know your ID.
### Features of Speek
![speek options][6]
Some key highlights include:
* End-to-end encryption: No one except for the recipient can view your messages.
* Routing traffic over TOR: Using TOR for routing messages, enhances privacy.
* No centralized server: Increases resistance against censorship because its tough to shut down the service. Moreover, no single attack point for hackers.
* No sign-ups: You do not need to share any personal information to start using the service. You just need a public key to identify/add users.
* Self-destructing chat: When you close the app, the messages are automatically deleted. For an extra layer of privacy and security.
* No metadata: It eliminates any metadata when you exchange messages.
* Private file sharing: You can also use the service to share files securely.
### Download Speek For Linux and Other Platforms
You can download Speek from their [official website][7].
At the time of writing this article, Speek is available only on Linux, Android macOS, and Windows.
For Linux, you will find an [AppImage][8] file. In case you are unaware of AppImages, you can refer to our [AppImage guide][9] to run the application.
![speek android][10]
And, the Android app on the [Google Play Store][11] is fairly new. So, you should expect improvements when you try it out.
[Speek!][12]
### Thoughts on Using Speek
![screenshot of Speek][13]
The user experience for the app is pretty satisfying, and checks all the essentials required. It could be better, but its decent.
Well, there isnt much to say about Speeks GUI. The GUI is very minimal. It is a chat app at its core and does exactly that. No stories, no maps, no unnecessary add-ons.
In my limited time of using the app, I am satisfied with its functionalities. The features that it offers, make it a good chat app for providing a secure and private messaging experience with all the tech behind it.
If youre going to compare it with some commercially successful chat apps, it falls short on features. But then again, Speek is not designed as a trendy chat app with a sole focus on user experience.
So, I would only recommend Speek for privacy-conscious users. If you want a balance of user experience and features, you might want to continue using private messengers like Signal.
*What do you think about Speek? Is it a good private messenger for privacy-focused users? Kindly let me know your thoughts in the comments section below.*
--------------------------------------------------------------------------------
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

View File

@ -1,373 +0,0 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
How To Create Multiboot USB Drives With Ventoy In Linux
======
**Ventoy** is a free, open source and cross-platform program to create multiboot USB drives in Linux, macOS and Microsoft Windows.
You don't need to format your USB devices over and over. Just create a bootable USB drive once and add as many as ISOs you want in future.
You can even create sub-folders, for example Linux ISO, Windows ISO, and put the respective ISO files in the appropriate folders. Ventoy will automatically create the menu entries for the newly added ISOs and add them to the boot menu.
Once you created the multiboot USB, boot your system with the USB drive, select the ISO you want to load and start using it in no time. It is that simple!
### Features
Ventoy ships with a lots of useful features as listed below.
* Very easy to install and use.
* Fast (limited only by the speed of copying iso file).
* You don't need to extract the ISOs. Just boot from the ISO file directly.
* Can be installed in USB/Local Disk/SSD/NVMe/SD Card.
* It supports Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, MIPS64EL UEFI etc.
* Supports IA32/x86_64 UEFI Secure Boot.
* Supports FAT32/exFAT/NTFS/UDF/XFS/Ext2/Ext3/Ext4 for main partition. Default is exFAT.
* Support for booting vdisk files such as vhd, vdi, raw... with a Linux distro in a physical machine.
* Persistence storage support.
* Both MBR and GPT partition style are supported. The default is MBR.
* You can create bootable drives with ISO files larger than 4GB.
* Almost all type of OSes are supported. The developer claims more than 900+ ISO files have been tested with Ventoy.
* Linux auto installation supported. Meaning - you can add your template or script for unattended deployment. For instance, kickstart script for Redhat/CentOS, autoYast xml for SUSE, preseed script for Debian. Put a script or template in the USB drive and tell ventoy to use it for unattended installation. You can also update these scripts at any time. No need to create a new ISO file, just use the original ISO.
* Windows auto installation supported.
* Read-only to USB drive during boot.
* The normal usage of USB drives is unaffected. Meaning - you can use the USB drives for other purposes (E.g. File copy)
* Upgrade Ventoy when a new version is available without recreating the bootable USB drive again. Data nondestructive during version upgrade.
* No need to update Ventoy when a new distro is released.
* To add a new OS, just copy/paste the ISO into the USB drive. No need to start all over again.
* Supports Memdisk mode. On some machines the ISOs may not load. In such cases, you can use Memdisk mode. In this mode, Ventoy will load the whole ISO file into memory and then boot it.
* Plugin Framework.
* Native boot menu style for Legacy & UEFI.
* Available as CLI, native GUI and Web-based GUI.
* Supports theme and menu style customization.
* Cross-platform. It supports Linux, manOS and Windows.
* Free and Open source!
### Create Multiboot USB Drives With Ventoy In Linux
As I mentioned already, Ventoy is available as CLI, native GUI and Web-GUI versions.
#### 1. Create Multiboot USB Drive Using Ventoy CLI
First, you need to find your USB drive name. Refer the following guide to learn different ways to find disk drive details in Linux.
* [How To Find Hard Disk Drive Details In Linux][1]
I am going to use `fdisk` command to find my USB drive details:
```
$ sudo fdisk -l
```
**Sample output:**
```
[...]
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
```
As you can see, my USB drive name is /dev/sdb.
Next, download the latest Ventoy script from the [releases page][2]. As of writing this guide the latest version was 1.0.77.
Go to the location where you downloaded the script and extract it. I have extracted it in a folder named `"ventoy"`. Cd into the `ventoy` directory:
```
$ cd ventoy
```
Now, run the following command to create multiboot USB drive:
```
$ sudo sh Ventoy2Disk.sh -I /dev/sdb
```
Replace `"/dev/sdb"` with your USB drive name.
Here, the uppercase `"I"` will **force install ventoy** to `sdb` (no matter installed or not). If you use lowercase **i**, it install ventoy to `sdb` and fail if disk is already installed with ventoy.
To enable secure boot support, use **-s** flag. By default, this option is disabled.
```
$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb
```
You will be prompted to confirm the USB bootable creation process. Double check the USB drive name and type **Y** and press `ENTER` to continue:
**Sample Output:**
```
**********************************************
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.
```
![Create Multiboot USB Drives With Ventoy In Linux OS][3]
After a few seconds, the multiboot USB drive will be created.
The above command will create two partitions. You can verify it with `fdisk` command:
```
$ sudo fdisk -l
```
**Sample Output:**
```
[...]
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)
```
Now open your file manager and copy the ISO files in the first partition. Don't worry if you can't find which one is the first partition. Your file manager will display the first partition only.
![Copy ISO files to USB bootable drive created with Ventoy][4]
You can even create sub-folders for different ISO file types. For instance, you can create a sub-folder for storing Linux ISO files, a sub-folder for BSD ISO files, and a sub-folder windows ISO files.
Ventoy will scan the entire USB drive and create menu entries for all available ISO files and automatically add them to the Ventoy main boot menu.
If you prefer command line way to copy ISO files, go to the location where you saved ISO files and copy all ISO files from command line with `rsync` program like below:
```
$ rsync *.iso /media/$USER/ventoy/ --progress -ah
```
Please note that in some Linux distros, the USB might be mounted under **"/run/media/"** location.
Done! We have just created multiboot USB drive with Ventoy.
Boot your system with the newly crated bootable USB drive and you will be pleased with the Ventoy boot menu:
![Ventoy multiboot menu][5]
Choose the OS that you want to boot and hit ENTER to load it!
Here is the short visual demo of multiboot USB flash drive created with Ventoy:
![][6]
![][7]
Cool, isn't it? Indeed!
If you want to boot the USB in Oracle Virtualbox, refer the following guide:
* [How To Boot From USB Drive In Virtualbox In Linux][8]
#### 2. Create Multiboot USB Drive Using Ventoy GUI
Initially, Ventoy doesn't have any graphical user interface for Linux platforms. We can create bootable USB drives using Ventoy in Linux from commandline mode only.
Fortunately, Ventoy now ships with a web-based graphical user interface since version 1.0.36 and native GUI (GTK/QT) since 1.0.52.
Believe me, the usage of Ventoy GUI is incredibly easy! The interface is very minimal but it has everything we need to create a single or multiboot bootable drives in a couple mouse clicks.
Open your Terminal and go to the location where you downloaded the latest Ventoy program.
```
$ cd Downloads/ventoy-1.0.77/
```
Run the appropriate Ventoy GUI executable file depending upon the distribution's architecture.
* VentoyGUI.i386 - For X86 32 bit OS
* VentoyGUI.x86_64 - For X86 64 bit OS
* VentoyGUI.aarch64 - For ARM64 OS
* VentoyGUI.mips64el - For Loongson 3A MIPS OS
I am on Debian 11 X86 64 bit system, so I run the following command:
```
$ ./VentoyGUI.x86_64
```
This is how Ventoy GUI looks like.
![Ventoy GUI][9]
Ventoy automatically selects the connected USB drive for you. However, I recommend you to verify if the chosen drive is actually the USB drive that you want to format.
![Create Multiboot USB Drives Using Ventoy GUI][10]
You will be prompted to confirm the process. Click OK to continue.
##### Ventoy Options And Language
Click the Options button from the menu bar.
![Ventoy Options][11]
From the Options drop down button, you can do the following:
* Secure Boot Support - Check/uncheck to enable or disable Secure boot. By default, it is enabled (checked).
* Partition Style - MBR and GPT partition styles are supported. The default is MBR.
* Partition Configuration - Here, you can choose to preserve some free space at the end of the disk.
* Clear Ventoy - Remove Ventoy from your disk.
* Show all disks - Check this option if you want to show all connected devices including your local disks. Be extra careful while selecting this option. You may accidentally choose one of your local disk and format it.
The language button allows you choose your preferred language.
##### Update Ventoy
It is not necessary to re-create the bootable USB whenever a new Ventoy version is released. You can safely update ventoy to the new version without losing any existing data from the USB drive.
To update the installed Ventoy version to latest available version, plug in the USB drive and launch Ventoy GUI as shown above.
From the Ventoy GUI, click Update button.
![Update Ventoy][12]
#### 3. Create Multiboot USB Drive Using Ventoy Web GUI
Ventoy Web GUI is exactly same as native GUI. The other day I tried the Ventoy WebUI in my Fedora Linux desktop. I am surprised how much I like the simplicity of the Ventoy graphical user interface.
To learn how to create bootable USB using Ventoy graphical user interface, refer the following link:
* [Create Bootable USB Drive With Ventoy WebUI In Linux][13]
#### Load ISO Images To RAM
Like I already mentioned, the ISO images may not boot in some machines, especially in Legacy BIOS mode. Here is where `"Memdisk"` mode comes in help.
When `Memdisk` mode is enabled, Ventoy will load the whole ISO image file into memory and boot it from there.
To enable `Memdisk` mode, press F1 key before selecting the OS. You will see the notification on the top right corner when the Memdisk mode is enabled.
![Enable Memdisk mode in Ventoy][14]
Now the ISO will be loaded to memory:
![Load ISO to memory in Ventoy][15]
To switch back to normal mode, press `F1` key again.
### Creating Persistent Bootable USB
We know now how to create multiboot USB drives with Ventoy in Linux. Using this bootable USB, we can test the Linux distributions without actually having to install them on the hard drive.
When you are on the Live OS, you can do all sort of things, such as installing applications, downloading files, playing media, creating files and folders, customizing it as per your liking and a lot more.
However once you reboot the system, all of the said changes will be gone. If you want to make all changes remain intact even after rebooted the system, you should create a persistent bootable USB drive.
Ventoy can able to make persistent USB bootable drive. To know how to do it, refer the link given below.
* [Create Persistent Bootable USB Using Ventoy In Linux][16]
### Conclusion
Believe or not, Ventoy is one of the easiest, quickest and ingenious tool ever I have used to create multiboot (persistent and non-persistent) USB flash drives in Linux.
It just works out of the box! Give it a try. You won't be disappointed!
### Security concerns related to Ventoy
The Ventoy website, forum and some files hosted in that site have been flagged as Malware/Trojan by some Antivirus software. Check the issues posted in the project's GitHub page:
* [https://github.com/ventoy/Ventoy/issues/22][17]
* [https://github.com/ventoy/Ventoy/issues/83][18]
* [https://github.com/ventoy/Ventoy/issues/31][19]
However, Manjaro packager **"Linux Aarhus"** has argued after code review why there is no reasonable doubt on the security aspects of this application.
He claims **"there is no obfuscated code"**. So, I guess Ventoy is **safe** to use.
**Resources:**
* [Ventoy Website][20]
* [Ventoy GitHub Repository][21]
--------------------------------------------------------------------------------
via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/
作者:[sk][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://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://i.ytimg.com/vi/VFr1mAikeJU/maxresdefault.jpg
[7]: https://ostechnix.com/wp-content/plugins/penci-shortcodes/pagespeed/assets/play-btn.png
[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

View File

@ -1,182 +0,0 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
How to Merge PDF Files in Linux
======
Got several PDFs on the same subject and now you want to combine them into a single PDF?
Or perhaps you need to upload a single file consisting of different files? Many government and academic portals require that.
As a Linux user, if you are in a situation where you need to merge PDFs, this tutorial will help you out.
In this tutorial, Ill share three methods of combining multiple PDF files:
- Using PDF Tricks GUI tool
- Using LibreOffice (allows you to select pages as well)
- Using the ImageMagick command line tool (Can a Linux tutorial be completed without the terminal method?)
You can read them all and pick the one that works best for you.
### Method 1: Use PDF Tricks GUI tool to merge PDF in Linux
After experimenting with several GUI tools, I found that the PDF Tricks was straightforward to use and easy to navigate.
Furthermore, it includes additional functionality beyond only merging PDF files, including:
- Compress PDFs.
- Split PDFs.
- Compress PDFs (into JPG, PNG, and text formats).
It is available as a [Flatpak][1]. Please [ensure that your Linux system has Flatpak support enabled][2].
I am sharing the steps for enabling Flatpak on Ubuntu:
```
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
```
Now, use the below command to install PDF Tricks in your system:
```
flatpak install flathub com.github.muriloventuroso.pdftricks
```
Once you are done with the installation, open the PDF Tricks application from the system menu.
On the first run, you will get you a list of actions you can perform with this tool. To merge PDF files, go with the third option, obviously.
![merge pdf files using in ubuntu][3]
In the next step, click on **Add file** and select the files you want to merge:
![choose files to merge][4]
Once you select files, click on the **Merge** button:
![click on merge button][5]
And it will open the default file manager of your system. Here you can select where you want to save the merged file and what it should be named:
![locate and name the merged pdf file][6]
And thats it. The combined pdf has been saved.
And if you are looking for a tool, we have a list of the [best PDF readers that you can use to read and edit PDF files.][7]
**Related read**: List of [PDF editors available for Linux][7].
### Method 2: Merge PDF Files using LibreOffice
The awesome LibreOffice is capable of handling many PDF related tasks. You can even [edit PDF files with LibreOffice Draw tool][8] for adding a digital signature, adding text, and much more.
The good thing is that you dont need to install another application. LibreOffice is already installed on most distributions, if not all.
Open the file manager and select the PDF files that you want to merge.
**Right-click on selected files > Open With Other Application > LibreOffice Draw from there**, and it will open selected PDF files.
And it will open every PDF file you selected in a separate LibreOffice Draw instance:
![open pdf file in libreoffice][9]
Now, you have to **select individual pages or entire PDF file** (using Ctrl + A) from the left preview bar and drop it to the preview bar of the file that you want to combine with:
Once you are done with drag and drop, click on the 5th option from the top left, labeled as **Export Directly as PDF**:
![export directly as pdf in libreoffice][10]
And it will open a file manager from where you can locate and name the file:
![save merged file from libreoffice][11]
And thats it!
### Bonus Tip: Merge PDFs in the command line [For advanced users]
What kind of Linux tutorial would it be if I didnt include the command line method? To merge PDF files in the command line, you can use ImageMagick.
ImageMagick is actually an image-related tool. PDF files are essentially images and this is why ImageMagick can work with them.
You probably dont even need to [install ImageMagick][12] as it is already installed in most distros by default.
For example, I will be adding 3 PDF files named pdf-1.pdf, pdf-2.pdf, and pdf-3.pdf and will name the final merged PDF file output as MergedFile.pdf (how clever):
```
convert pdf-1.pdf pdf-2.pdf pdf-3.pdf MergedFile.pdf
```
#### Troubleshooting no images defined
If you see a policy error like this:
![convert im6.q16: attempt to perform an operation not allowed by the security policy `pdf' @ error constitute.c iscoderauthorized 421.][13]
The problem is quite easy to solve. You just have to make minor changes in the ImageMagick policy file.
Open the policy file for editing:
```
sudo nano /etc/ImageMagick-6/policy.xml
```
And look for the following line:
```
<policy domain="coder" rights="none" pattern="PDF" />
```
Now, you have to change the `rights="none"` to `rights=read|write`:
```
<policy domain="coder" rights="read|write" pattern="PDF" />
```
![change policy in imagemagick to merge pdf files][14]
Save the changes, and now you can easily merge files using ImageMagick:
![merge pdf files using imagemagick in linux terminal][15]
### Wrapping Up
Now you know several ways of combining PDF files in Linux. Chances are that the merged PDF file is big in size. If you have to upload the merged PDF file on a portal that has size restrictions, you can [compress the PDF file][16].
Let me know if you face any issues with above discussed methods.
--------------------------------------------------------------------------------
via: https://itsfoss.com/merge-pdf-linux/
作者:[Sagar Sharma][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/sagar/
[b]: https://github.com/lkxed
[1]: https://itsfoss.com/what-is-flatpak/
[2]: https://itsfoss.com/flatpak-guide/
[3]: https://itsfoss.com/wp-content/uploads/2022/11/merge-pdf-files-using-in-ubuntu-1.png
[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-files-to-merge.png
[5]: https://itsfoss.com/wp-content/uploads/2022/11/click-on-merge-button.png
[6]: https://itsfoss.com/wp-content/uploads/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/wp-content/uploads/2022/11/open-pdf-file-in-libreoffice.png
[10]: https://itsfoss.com/wp-content/uploads/2022/11/export-directly-as-pdf-in-libreoffice.png
[11]: https://itsfoss.com/wp-content/uploads/2022/11/save-merged-file-from-libreoffice.png
[12]: https://itsfoss.com/install-imagemagick-ubuntu/
[13]: https://itsfoss.com/wp-content/uploads/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/wp-content/uploads/2022/11/change-policy-in-imagemagick-to-merge-pdf-files.png
[15]: https://itsfoss.com/wp-content/uploads/2022/11/merge-pdf-files-using-imagemagick-in-linux-terminal.png
[16]: https://itsfoss.com/compress-pdf-linux/

View File

@ -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/) 荣誉推出

View File

@ -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: " "

View File

@ -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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Best GUI Package Managers for Arch Linux
======
**Lets 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. Lets 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 thats 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 doesnt 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.
Its 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. Heres 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, its 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, its super lightweight and doesnt 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 its 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 Bauhs 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. Heres 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, weve 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 its 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

View File

@ -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: " "
[#]: 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

View File

@ -1,149 +0,0 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Our favorite fonts for the Linux terminal
======
Terminal emulators came up as a topic for me recently, and it got me thinking: What's everyone's favorite terminal font?
So I asked Opensource.com contributors to share what font they like to use. Here are their answers.
### VT323
I like to use a different font ([VT323][1]) in my GNOME Terminal than the font I use (Source Code Pro) in my programming editors or other apps that use a monospace font. I just like the look of the classic VT-style font.
Sometimes, I switch to the original IBM EGA font, because to my eye it looks really nice. But I associate EGA with DOS, and I associate VT323 with classic Unix terminals, so I use VT323 most of the time. Here's my screenshot of GNOME Terminal using VT323 as the monospace font:
![gnome-terminal1108×926 output][2]
I set up the terminal using VT323 at 24 pt, which gives a nice big window. If I'm going to bring up a terminal window, I want to really use it to do real work, not just do one thing and exit. I'm probably going to stay in that terminal window for a while, so it should be big and easy to see. I also prefer 80x25, because I'm an old DOS command line guy and 25 lines looks "right" to my eyes:
![preference profile screen - text appearance][3]
**—[Jim Hall][4]**
### Monospaced fonts
I don't know that I have a specific font that I use. I usually use either [DejaVu][5] or [Liberation][6] Mono. I like monospaced fonts because they're easier to read. Even then, I don't want the letters to be too close together. The main thing is being able to tell a small "L" from the number 1, Q from O, and so on. It's also nice to have all special characters stand out clearly.
I also like a good contrast between the font and background, so I set the background to black and characters to white.
**—[Greg Pittman][7]**
### Hack
I like to use monospaced fonts, particularly for the terminal and coding because they're easier to read. I've been using the [Hack][8] font family for years. It provides a nice monospace font combined with additional glyphs and Powerline characters that I can use to display status on the command line.
![Command line][9]
Here's the font preview generated with [Fontpreview tool][10].
![Display of font A-Z and the numbers][11]
**—[Ricardo Gerardi][12]**
### Victor Mono
I've been using [Victor Mono][13] for both my terminal and IDE for a few years. It's perhaps a bit of an acquired taste, because the italic characters are in a monospace cursive script. I like this because code comments have a distinct look that's noticeably different from the rest of the code. Here's what it looks like in a terminal:
![terminal font is italic characters in a monospace cursive script][14]
I also use the Solarized Dark color scheme for both my IDE and the terminal. If I could, anything work or code related would all use the same color scheme, and the same fonts, so it all looks uniform. I've gone through various fonts over the years, but I always try to use the same thing in my terminal as in my IDE.
**—[Chris Reynolds][15]**
### Monaco
At the moment, Monaco regular at 16 pt (so much better than 12 or 14 pt fonts).
**—[Jenny Panighetti][16]**
### Keeping it pretty in pink
This reminds me of the time I pranked the other devs on my team by making all of their terminals pink (I was the only woman). It was like a baby pink background with hot pink text.
I like to make my personal terminals pretty, but for work I leave it white on black and just make the font around 16 pt because I appreciate the larger font size.
I just leave my terminal set to SF Mono font, but I make it bolder and bump it up a few points so I can see it better. My favorite colors to use are pink or a nice aqua blue color. I also like the default style the terminal has, called "Novel".
![Two open terminals, one pink and one aqua blue][17]
**—[RachieVee][18]**
### Let's ask ChatGPT
For the heck of it, I decided to ask [ChatGPT][19]. Here was its response:
> As a language model, I do not have personal preferences or the ability to have a favorite font. However, some popular terminal fonts include Monospace, Consolas, and Inconsolata. These fonts are popular because they are easy to read, have clear distinctions between different characters, and are highly legible even at small font sizes. Additionally, they are designed to work well with a variety of different operating systems and terminals, making them versatile choices for developers and users alike.
I generated this text in part with GPT-3, OpenAI's large-scale language-generation model. Upon generating draft language, the author reviewed, edited, and revised the language to my own liking and takes ultimate responsibility for the content of this publication.
**—[Stephanie Brinley][20]**
### Fantasque Sans Mono
```
$ grep font ~/.Xdefaults
URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=12:antialias=true
```
I don't remember when I settled on [Fantasque Sans Mono][21], but I guess it's been my default for the past 8 years now, both in [Rxvt][22] and Konsole. I don't know what font I'm using in my GNOME terminal. Probably whatever the default is on GNOME.
**—[Seth Kenlon][23]**
### Jetbrains Mono
Lately, I have Tilix set as my default terminal. My Tilix config has similar settings to what Jim Hall uses. The few differences are:
- Cursor shape is underline instead of a block
- Font is [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]
译者:[译者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/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

View File

@ -1,60 +0,0 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
5 best practices for PatternFly, an open source design system
======
Have you ever admired the facets of a gemstone? The angles and slants are a thing of beauty. You can see that a multi-faceted gemstone shines brighter than a flat one. You may also see this kind of beauty when analyzing a multi-faceted design system. A design system is a collection of guidelines, standards, and resources for creating consistent and unified user interfaces (UI). Like the facets of a diamond, an open source design system rich with diverse contributions and community engagement ultimately leads to better product experiences.
The [PatternFly][1] project is an open source design system for Red Hat products. But open source doesn't end with PatternFly's code. Behind PatternFly is a team of people who create designs completely in the open. From designers and developers to researchers and writers, we work together to operate as an open source community.
Our secret? We don't have one — we work in the open, remember? However, we use these five best practices. I'll share them here so that you too can power your own design system with open source.
### 1. Contribute collectively
We have a core PatternFly design team to design, maintain, and evolve the design system. But we encourage and welcome contributions from everyone. If you have a passion for collaboration and a knack for user experience (UX), [PatternFly wants to hear from you][2].
### 2. Build community
Nothing created in a silo makes its way to PatternFly. We believe design is better in the open. This is why we include the community in all updates, changes, and additions. We collect feedback on contributions from people across design and development so that everyone has a say in what gets implemented. We also seek input and collaboration from people across multiple [design disciplines][3]. This is done to break free from any bias or assumption. This kind of open design makes our design system stronger. It also strengthens our blossoming community of people who engage with or contribute to PatternFly (we lovingly refer to them as Flyers).
### 3. Loop in everyone
If you find that brainstorming ideas with others results in solutions better than any one person would have dreamed of, then you already think like a Flyer. We have regular design meetings where contributors present their ideas and discuss design approaches in a group setting. This enables us to keep our ideas collaborative and consider designs from all angles. Additionally, we host monthly community meetings so that we can connect with Flyers from across the globe and share the latest updates. You can catch all of our past meeting recordings on our [PatternFly YouTube channel][4].
### 4. Listen to users
As a community, we aim to have all PatternFly contributions lead to functional and beautiful product experiences across different contexts. To make that a reality, we hold ourselves accountable to break out of our own bubbles and engage with users. We work with UX researchers to test updates, changes, and additions with users — such as visual themes and interactions — to ensure that we're creating designs, resources, and experiences that solve for everyone, not just people like us.
### 5. Create connections
PatternFly is the thread of consistency through products across Red Hat's portfolio. Everyone has the creative freedom to build what best serves their users. But we work as a team to connect product groups through the design system for a more unified user experience. PatternFly resources are easy to access and open to all. This helps us create connections and squash silos.
### Come design in the open with us
Whether you're a team of 1 or 100, or whether your design system is open source or not — there's always room for a little collaboration and community in everything we do. Tell us how things turn out for you by connecting with the [PatternFly community][5]. We can't wait to hear from you.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/open-source-design-system-patternfly
作者:[Abigael Donahue][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/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

View File

@ -1,118 +0,0 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
CachyOS: Arch-based Distro for Speed and Ease of Use
======
A performance-focused Arch-based distro for newbies and experts.
![cachyOS][1]
![][2]
Arch Linux is suitable for advanced users looking for a challenge to use Linux on their system.
However, many [Arch-based distributions][3] have made it possible for new users to get into the distribution family by making things easier. Options like Garuda Linux, Manjaro Linux, and others make it convenient for new users.
And one of the exciting options among them is **CachyOS**.
Well, you might already know about [blendOS][4] (which is also an Arch-based distro, still in the works). It is not remotely similar, but if you are exploring Arch-based distros, you can check it out.
### CachyOS: Overview
![cachyos home with cachyos theme][5]
CachyOS is tailored for all users, whether you are an expert or just starting out. It is available as a stable release even though it is fairly new.
It aims to provide a blazing-fast experience and offer customizability and stability simultaneously.
All of this keeping security in mind.
Some of the critical highlights of CachyOS include the following:
- **Desktop****packages compiled with****LTO and x86-64-v3 optimization**.
- **Choice of desktop environments** with online installation process (including i3, bspwm, and Openbox window managers)
- **Offline and Online installation** options
- **GUI and CLI-based installation** options
- **Optimized Linux Kernel** with advanced BORE Scheduler for enhanced performance and reliability
### Initial Impression
CachyOS looks like a well-polished distribution. When I used the ISO to spin up a virtual machine, I noticed that it does support NVIDIA cards, which is a nice touch.
![][6]
And then, the option to use an offline or online installation process was helpful. With the online installation process, you can install desktop environments or window managers as per your preference.
Once done, the welcome screen provided all the essential abilities from the get-go. So, good points for that as well.
![cachyos welcome screen][7]
You can install packages, enable system-specific settings, and tweak application/kernel stuff from the welcome screen. Of course, a newbie should not do anything they do not know, but it is good to have everything accessible.
![cachyos hello welcome screen tweak options][8]
I tried the KDE edition of CachyOS, which looks pretty good.
For some reason, the theme was KDE's default Breeze Dark. I expected it to have CachyOS's customized theme out of the box.
![cachyos homescreen with file manager using kde breeze dark theme][9]
So, I had to head to the theme manager settings and apply the CachyOS theme for it to look unique.
![][10]
It utilizes the fish shell, making the terminal look and feel excellent out of the box.
![cachyos fish shell][11]
Performance and security enhancements are at their core. So, if you are unsure about the claims, you will have to compare things closely with another distro. However, per a couple of Reddit threads, some users mention a 10-20% performance uplift.
You can read [Phoronix's performance analysis][12] of CachyOS for additional insights.
Unlike other distributions, it features its own web browser, a fork of Firefox, with modifications/enhancements for privacy and security. However, it missed out on a default video player, which should be given to cater to new users.
**Overall**: It feels like a well-thought-out distribution out of the box. To add a cherry on top, its [documentation][13] is on point and incredibly useful for beginners.
### Download CachyOS
You can find KDE and GNOME editions of CachyOS on its [official website][14]. An XFCE edition is in the works. Of course, you can install anything else using its online installation process.
[CachyOS][14]
Additionally, you can explore its [GitHub page][15] if you are curious about the customizations they make under the hood.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/cachyos/
作者:[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/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

View File

@ -0,0 +1,56 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
A search engine for Creative Commons
======
Are you looking for content that is openly licensed that you can reuse? Then you might be interested in [Openverse][1]. Openverse is an innovative tool that searches over 300 million pictures from an aggregation of different databases. It goes beyond just searching for an image by giving users access to tags created by machine learning models and one-click attribution. With so many visuals to explore, users can find the perfect image to make their project more engaging. The content comes from a variety of sources, including the Smithsonian, Cleveland Museum of Art, NASA, and the New York Public Library.
In 2019, the CC Search tool provided by the Creative Commons site was adopted by the WordPress project. Openverse is the new incarnation of CC Search.
Currently, Openverse only indexes images and audio-visual content.  Searches for video are available from external sources. Plans are in place to add additional representations of open-access texts, 3D models, and more. They have one common goal: Grant access to the estimated 2.5 billion [Creative Commons][2] licenses and public domain works available online. All the code utilized is open source.
Please be aware that Openverse does not guarantee that the visuals have been correctly provided with a Creative Commons license or that the attribution and any other related licensing information collected are precise and complete. To be safe, please double-check the copyright status and attribution information before reusing the material. To find out more, please read the terms of use in [Openverse][3].
### Openverse search
Using Openverse is easy. Enter your search term in the **Search for Content** field and press **Enter**. I did a simple search for "Niagara Falls" and received over [10,000 results][4] for images and two results for audio. On the display's far right is a dialog box to check for content that can be used commercially and another for content that allows modification and adaptation.
In addition, a second checkbox allows you to specify which Creative Commons license you want to use or reuse, including CC0 (Public domain), [CC-BY][5], [CC-BY-SA][6], all the way to [CC-BY-NC-ND][7].
### Credit where credit is due
When using openly licensed content, it's important to make sure that you provide proper attribution and comply with the license terms that have been stipulated by the original creator of the content. For more information about Creative Commons licenses, consult the [Creative Commons website][8].
Openverse is an [open source][9]project which means you can host your own copy or contribute to the project. The project has a [contributor guide][10] for folks who want to get involved. The project also welcomes your [proposals][11] for new features and functionality.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/search-engine-creative-commons-openverse
作者:[Don Watkins][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/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

View File

@ -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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Is Official Ubuntu Mini ISO Truly Minimal? A Test Drive
======
**How minimal is the new Ubuntu minimal installer for its Ubuntu 23.04 “Lunar Lobster” release? Lets find out.**
A few weeks back Canonical/Ubuntu developers [confirmed][1] the introduction of an official minimal installer for Ubuntu 23.04 Lunar Lobster. This was great news for those who have been waiting for an official minimal ISO image of Ubuntu Linux, as Canonical/Ubuntu never officially supported any minimal ISO images.
While there was some unofficial legacy minimal ISO images of Ubuntu during Ubuntu 18.04 days, they have all been discontinued. This unavailability of a minimal installer was a deal breaker for some, considering the popularity of Ubuntu Linux.
As announced, Canonical has now unveiled an official minimal installer (currently in Beta) for its Ubuntu 23.04 Lunar Lobster release, ending the wait for those looking to install a lightweight version of Ubuntu Linux.
I ran a test drive on this BETA iso and this is what I found.
The official Ubuntu mini ISO installer is now available to try out as per the latest Beta release. The official ISO image is of size 113 MB for the “Lunar Lonster” release. It is indeed small in size.
When you first boot up the minimal ISO, you have two main options installation option for the server and for the desktop. The current beta minimal ISO, which I used for this test drive, shows Ubuntu 22.04 LTS and Ubuntu 22.10 Kinetic Kudu released last year. However, ignore the label for now.
![Ubuntu minimal install - first menu][2]
I tried to install the desktop version first. Surprisingly, it launched a downloader to get all the packages for the standard desktop install. The minimal desktop option would download 3GB+ packages over the internet, and it takes quite some time. The download for my test took significant time, considering my location and the status of the Ubuntu server.
![Ubuntu mini installer downloads the desktop itself online][3]
If you compare the time and effort to use minimal Ubuntu ISO to install a desktop with regular download, its much slower and takes significant system resources. For example, the entire Ubuntu desktop download is stored in memory while the installer runs.
Hence, the minimum RAM size is 8GB for this minimal ISO. You cant get the installer running without 8GB of RAM. On the other hand, if you download the Ubuntu desktop via a standard torrent, the minimum RAM requirement is 4GB to start the installation.
![Mandatory requirement of 8GB RAM for Ubuntu mini ISO][4]
After downloading, the installer launches a LIVE Ubuntu system where you can install an Ubuntu desktop with GNOME as you do today. No difference at all.
Moving on to the server option, I chose the option Ubuntu 22.04 LTS server from the minimal installer. To my surprise, the server option also requires a minimum of 8GB of RAM for installation to start. And it downloads around ~1.8GB of packages based on the version. After that, it starts the normal Ubuntu server installation. No difference at all either from a normal server installation.
![Ubuntu mini ISO - server option is just regular server installation][5]
![Ubuntu mini ISO - server install takes around 7GB of storage][6]
To conclude, the minimal desktop installer is just a CLI frontend to download the entire Desktop or server images, nothing else. The primary use cases of this installer might be network installation of Ubuntu desktops or servers. But again, you need a stable internet connection to download everything.
On a similar note, the Xubuntu team [provided][7] a minimal ISO a few weeks back with just base Ubuntu and vanilla Xfce without any additional applications.
That said, this installer is not what you think it is from the name. It would have been great if a “true” minimal ISO was provided with essential Ubuntu components without a desktop environment, Snap, etc. Just like a vanilla Arch installation without any desktop components.
You can download the mini ISO (beta) from [this page.][8]
[_Using Mastodon? Follow us at floss.social/@debugpoint_][9]
--------------------------------------------------------------------------------
via: https://debugpointnews.com/ubuntu-minimal-test-drive/
作者:[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/ubuntu-mini-iso-announcement/
[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/
[9]: https://floss.social/@debugpoint

View File

@ -0,0 +1,233 @@
[#]: subject: "Rust Basics Series #3: Data Types in Rust"
[#]: via: "https://itsfoss.com/rust-data-types/"
[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Rust Basics Series #3: Data Types in Rust
======
![][1]
In the [previous post][2] about the Rust programming language, we looked at variables, constants and shadowing.
It is only natural to cover data types now.
### What are data types?
Change the order of these words and you get your answer; "data types" -> "type of data".
The computer stores data as `0`s and `1`s but to make sense of it when reading, we use data type to say what those `0`s and `1`s mean.
Rust has two types of data types:
- **Scalar data type**: Types that store only a single value.
- **Compound data type**: Types that store multiple values, even values of different types.
In this article, I shall cover scalar data types. I will go through the second category in the next article.
Following is a brief overview of the four main categories of Scalar data types in Rust:
- **Integers**: Stores whole numbers. Has sub-types for each specific use case.
- **Floats**: Stores numbers with a fractional value. Has two sub-types based on size.
- **Characters**: Stores a single character of UTF-8 encoding. (Yes, you can store an emoji* in a character.)
- **Booleans**: Stores either a `true` or a `false`. (For developers who can't agree if `0` is `true` or if `0` means `false`.)
### Integers
An integer in the context of a programming language refers to whole numbers. Integers in Rust are either **Signed** or **Unsigned**. Unsigned integers store only 0 and positive numbers, while Signed integers can store negative numbers, 0 and positive numbers.
> 💡 The range of Signed integers begins from `-(2n-1)` and this range ends with `(2n-1)-1`. Likewise, the range for Unsigned integers starts at `0` and ends with `(2n)-1`.
Following are the available Integer types based on the sign and length:
![Integer data types in Rust][3]
As you can see, Rust has Signed and Unsigned integers of length 8, 16, 32, 64 and even 128!
The integers with `*size` vary based on the architecture of the computer. On 8-bit micro-controllers, it is `*8`, on 32-bit legacy computers, it is `*32` and on modern 64-bit systems, it is `*64`.
The use of `*size` is to store data that is mostly related to memory (which is machine dependent), like pointers, offsets, etc.
> 💡 When you do not explicitly specify a subset of the Integer type, the Rust compiler will infer it's type to be `i32` by default. Obviously, if the value is bigger or smaller than what `i32` can hold, the Rust compiler will politely error out and ask you to manually annotate the type.
Rust not only allows you to store integers in their decimal form but also in the binary, octal and hex forms too.
For better readability, you can use underscore `_` as a replacement for commas in writing/reading big numbers.
```
fn main() {
let bin_value = 0b100_0101; // use prefix '0b' for Binary representation
let oct_value = 0o105; // use prefix '0o' for Octals
let hex_value = 0x45; // use prefix '0x' for Hexadecimals
let dec_value = 1_00_00_000; // same as writing 1 Crore (1,00,00,000)
println!("bin_value: {bin_value}");
println!("oct_value: {oct_value}");
println!("hex_value: {hex_value}");
println!("dec_value: {dec_value}");
}
```
I have stored the decimal number 69 in binary form, octal form and hexadecimal form in the variables `bin_value`, `oct_value` and `hex_value` respectively. In the variable `dec_value`, I have stored the number [1 Crore][4] (10 million) and have commas with underscores, as per the Indian numbering system. For those more familiar with the International numbering system, you may write this as `10_000_000`.
Upon compiling and running this binary, I get the following output:
```
bin_value: 69
oct_value: 69
hex_value: 69
dec_value: 10000000
```
### Floating point numbers
Floating point numbers, or more commonly known as "float(s)" is a data type that holds numbers that have a fractional value (something after the decimal point).
Unlike the Integer type in Rust, Floating point numbers have only two subset types:
- `f32`: Single precision floating point type
- `f64`: Double precision floating point type
Like the Integer type in Rust, when Rust infers the type of a variable that seems like a float, it is assigned the `f64` type. This is because the `f64` type has more precision than the `f32` type and is almost as fast as the `f32` type in most computational operations. Please note that _both the floating point data types (`f32` and `f64`) are **Signed**_.
> 📋 The Rust programming language stores the floating point numbers as per the [IEEE 754][5] standard of floating point number representation and arithmetic.
```
fn main() {
let pi: f32 = 3.1400; // f32
let golden_ratio = 1.610000; // f64
let five = 5.00; // decimal point indicates that it must be inferred as a float
let six: f64 = 6.; // even the though type is annotated, a decimal point is still
// **necessary**
println!("pi: {pi}");
println!("golden_ratio: {golden_ratio}");
println!("five: {five}");
println!("six: {six}");
}
```
Look closely at the 5th line. Even though I have annotated the type for the variable `six`, I **need** to at least use the decimal point. If you have something _after_ the decimal point is up to you.
The output of this program is pretty predictable... Or is it?
```
pi: 3.14
golden_ratio: 1.61
five: 5
six: 6
```
In the above output, you might have noticed that while displaying the value stored inside variables `pi`, `golden_ratio` and `five`, the trailing zeros that I specified at the time of variable declaration, are missing.
While those zeros are not _removed_, they are omitted while outputting the values via the `println` macro. So no, Rust did not tamper with your variable's values.
### Characters
You can store a single character in a variable and the type is simply `char`. Like traditional programming languages of the '80s, you can store an [ASCII][6] character. But Rust also extends the character type to store a valid UTF-8 character. This means that you can store an emoji in a single character 😉
> 💡 Some emojis are a mix of two existing emojis. A good example is the 'Fiery Heart' emoji: ❤️‍🔥. This emoji is constructed by combining two emojis using a [zero width joiner][7]: ❤️ + 🔥 = ❤️‍🔥
>
> Storing such emojis in a single Rust variable of the character type is not possible.
```
fn main() {
let a = 'a';
let p: char = 'p'; // with explicit type annotation
let crab = '🦀';
println!("Oh look, {} {}! :{}", a, crab, p);
}
```
As you can see, I have stored the ASCII characters 'a' and 'p' inside variables `a` and `p`. I also store a valid UTF-8 character, the crab emoji, in the variable `crab`. I then print the characters stored in each of these variables.
Following is the output:
```
Oh look, a 🦀! :p
```
### Booleans
The boolean type in Rust stores only one of two possible values: either `true` or `false`. If you wish to annotate the type, use `bool` to indicate the type.
```
fn main() {
let val_t: bool = true;
let val_f = false;
println!("val_t: {val_t}");
println!("val_f: {val_f}");
}
```
The above code, when compiled and executed results in the following output:
```
val_t: true
val_f: false
```
### Bonus: Explicit typecasting
In the previous article about Variables in the Rust programming language, I showed a very basic [temperature conversion program][8]. In there, I mentioned that Rust does not allow implicit typecasting.
But that doesn't mean that Rust does not allow _explicit_ typecasting either ;)
To perform explicit type casting, the `as` keyword is used and followed by the data type to which the value should be cast in.
Following is a demo program:
```
fn main() {
let a = 3 as f64; // f64
let b = 3.14159265359 as i32; // i32
println!("a: {a}");
println!("b: {b}");
}
```
On line 2, instead of using '3.0', I follow the '3' with `as f64` to denote that I want the compiler to handle type casting of '3' (an Integer) into a 64-bit float. Same with the 3rd line. But here, the type casting is **lossy**. Meaning, that the fractional element is _completely gone_. Instead of storing `3.14159265359`, it is stored as simply `3`.
This can be verified from the program's output:
```
a: 3
b: 3
```
### Conclusion
This article covers the Primitive/Scalar data types in Rust. There are primarily four such data types: Integers, Floating point numbers, Characters and Booleans.
Integers are used to store whole numbers and they have several sub-types based on either they are signed or unsigned and the length. Floating point numbers are used to store numbers with some fractional values and have two sub-types based on length. The character data type is used to store a single, valid UTF-8 encoded character. Finally, booleans are used to store either a `true` or `false` value.
In the next chapter, I'll discuss compound data types like arrays and tuples. Stay tuned.
--------------------------------------------------------------------------------
via: https://itsfoss.com/rust-data-types/
作者:[Pratham Patel][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/pratham/
[b]: https://github.com/lkxed/
[1]: https://itsfoss.com/content/images/2023/04/humble-bundle-packt-offer.webp
[2]: https://itsfoss.com/rust-variables
[3]: https://media.discordapp.net/attachments/1001332168506753024/1062952929734164540/data-type-table1.png
[4]: https://en.wikipedia.org/wiki/Crore?ref=itsfoss.com
[5]: https://en.wikipedia.org/wiki/IEEE_754?ref=itsfoss.com
[6]: https://www.ascii-code.com/?ref=itsfoss.com
[7]: https://unicode-table.com/en/200D/?ref=itsfoss.com
[8]: https://itsfoss.com/rust-variables/#a-rusty-thermometer

View File

@ -0,0 +1,108 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Remove the background from an image with this Linux command
======
You have a great picture of yourself and want to use it for your social media profile, but the background is distracting. Another picture has a perfect background for your profile picture. How do you combine the two? Some smartphone apps that do this kind of photo manipulation but are too expensive or are riddled with ad-ware. And they aren't open source. [Rembg][1] is up to the challenge!
Rembg is written in Python, so install Python 3 on your computer. Most Linux distributions include Python 3 by default. You can check your version with this simple command:
```
$ python3 --version
```
Rembg requires at least Python 3.7 and no greater than Python 3.11. In my case, I have Python 3.10.6 installed.
### Install Rembg on Linux
I created a directory called `PythonCoding` on my Linux laptop and then made a Python virtual environment:
```
$ python3 -m venv /home/don/PythonCoding
```
Next, I installed `rembg` using `pip`:
```
$ python3 -m pip install rembg
```
### Combine images
Time to work some magic. First, I chose the image containing a picture taken at All Things Open in 2019.
![Don Watkins at All Things Open conference][2]
I ran the following `rembg` command to rename it with a shorter filename for convenience:
```
$ rembg i dgw_ato.jpeg dgw_noback.jpg
```
The first time you run `rembg`, it downloads an open source [pattern recognition model][3]. This can be over 100 MB and `rembg` saves it in your user directory as `~/.u2net/u2net.onnx`. The model is the U-2-Net and uses the Apache 2.0 license. For more information about the pattern recognition models (including how to train your own), read the Rembg documentation.
It created my new photo without the background in about ten seconds. I have a Ryzen 7 with 16 GB of RAM. Your experience may vary depending on your hardware.
![A processed image of Don Watkins, with the background removed by Rembg.][4]
I have used [GIMP][5] to remove backgrounds in the past, but `rembg` does it quicker and more completely than I have experienced with GIMP.
That's all there is to removing a background. What about adding a new one?
### Add a new background
Next, I want to add a new background to the picture. There are different ways to do that. You can, for instance, combine images with [ImageMagick][6], but getting the frame size right can be complex. The easiest way is to use GIMP or [Krita][7].
I used GIMP. First, open the newly created image (`ato_image.jpg` in my case). Now go to the **File** menu and select **Open as layers**. Choose a different image for the background. This image opens as an overlay above the existing photo.
I wanted to move the new background below my portrait. On the right of the GIMP window are two thumbnails, one for each image layer. The background layer is on top. I dragged the background layer beneath my portrait image, and here's the result:
![Don Watkins with a new background.][8]
That's a much nicer setting for my profile picture!
### Try Rembg
Rembg has three subcommands you can review in the `--help` menu:
```
$ rembg --help
```
They are:
- `rembg i` for files
- `rembg p` for folders
- `rembg s` for HTTP server
Rembg is released with an [MIT][9] license. Try it the next time you need a background removed from an image.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/image-editing-linux-python
作者:[Don Watkins][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/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

View File

@ -0,0 +1,128 @@
[#]: subject: "Beginners 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Beginners Guide to Verify ISO Files in Linux
======
**A simple guide to demonstrate the process of verifying ISO files in Ubuntu and other Linux distributions.**
Downloading operating system image files or software from the internet can sometimes pose a security risk because malicious actors can corrupt or modify files. To ensure the authenticity and integrity of downloaded files, it is necessary to verify them. In this beginners guide, we will walk you through verifying ISO files in Linux.
### What are ISO Files?
ISO files are commonly used for creating bootable media, installing software, and creating backups. An ISO file contains all the original application/disc data in a compressed format, allowing it to be easily downloaded and shared over the Internet.
For example, if you download an Ubuntu desktop, server, or any other Linux operating system, you must have encountered the files with .iso extensions. It is also used for applications or other operating systems such as Windows.
### Why Verify ISO Files?
Verifying ISO files is critical to ensure that the downloaded file is authentic and has not been modified. A modified ISO file may contain malware or viruses that can harm your system. Verifying ISO files ensures that the downloaded file is the same as the one created by the developer and has not been tampered with.
For example, a few years back [Linux Mint server was hacked][1] and the official ISO files were modified. Since you are downloading it from the official website, you might think that the files are genuine. But they may not.
Hence, its important for you to always verify ISO files before using them to install on your Laptop/desktop.
### Methods to Verify ISO Files in Linux
There are two commonly used methods to verify ISO files in Linux:
- Using SHA-256 Checksums
- Using GPG Signature
#### Using SHA-256 Checksums
[SHA-256][2] is a cryptographic hash function that generates a unique hash value for a file. A checksum is a result of applying the SHA-256 algorithm to a file. The checksum is a unique string of characters that can be used to verify the integrity of a file.
To verify an ISO file using SHA-256 checksums, download the SHA-256 checksum from the developers website. The SHA-256 checksum file will contain the checksum value of the ISO file. You need to generate the checksum value of the downloaded ISO file and compare it with the checksum value in the SHA-256 checksum file. If the two values match, the downloaded ISO file is authentic and has not been modified.
#### Using GPG Signature
[GPG][3] (GNU Privacy Guard) is a cryptographic software that can be used to sign and verify files. A GPG signature is a digital signature that ensures the authenticity and integrity of a file. The developer signs the ISO file using their private key, and the user verifies the signature using the developers public key.
To verify an ISO file using GPG signature, you need to download the GPG signature file from the developers website. The GPG signature file will contain the developers public key and the signature of the ISO file. You need to import the developers public key, download the ISO file and the GPG signature file, and verify the signature of the ISO file using the developers public key. If the signature is valid, then the ISO file is authentic and has not been modified.
### How to Verify ISO Files in Linux: Examples
Lets take a look at some examples of the above methods of verifying ISO files using SHA-256 checksums and GPG signatures in Linux.
#### Verify ISO Files using SHA-256 Checksums
![Example - ISO files to verify and checksum][4]
- I have downloaded the Linux Mint 21.1 ISO file from the [official website][5].
- Also, I downloaded the SHA-256 text file containing the checksum for the ISO files as well (see above image).
- Now, open a terminal and go to the directory where the ISO and SHA-256 checksum files are located.
- Generate the SHA-256 checksum value of the ISO file using the `sha256sum` command in the terminal. For example, to generate the checksum value of the above ISO file named `linuxmint-21.1-cinnamon-64bit.iso`, run the following command:
```
sha256sum linuxmint-21.1-cinnamon-64bit.iso
```
- Compare the generated checksum value with the checksum value in the SHA-256 checksum file. If the two values match, then the ISO file is authentic and has not been modified.
- Heres a side-by-side comparison for the above ISO file.
![Verify ISO file using sha256sum command][6]
And you can be assured that the file is genuine and has not been tampered with if the checksum matches. You can use the same command for any other ISO files and checksum for verification.
Now, lets see how you can verify using gpg key.
#### Verify ISO Files using GPG Signature
For the above example, I have downloaded the .gpg file alongside the ISO file from the official website.
The next step is to download and import the developers public key. You can download the public key from the developers website or a keyserver.
I used the below command to download the Linux Mints public key for this example. So, for your ISO file of the respective Linux distro file, look around the download page to find out the public key.
```
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09"
```
**Note**: You can also download the public key `.asc` file (if available), and use the command `gpg --import developer_key_file.asc` to import it in your system.
Once this is done, run the below gpg command to verify the file.
```
gpg --verify sha256sum.txt.gpg sha256sum.txt
```
![Verifying ISO file using gpg keys][7]
If the file is genuine, you should see “Good signature” message as the output of the above command. Also, you can match the last 8bytes of the public key. The “Warning” is a generic message which you can ignore.
### Conclusion
Verifying ISO files is an essential step in ensuring the authenticity and integrity of downloaded files. In this beginners guide, I covered the methods and steps to verify ISO files using SHA-256 checksums and GPG signatures in Linux. By following these steps, you can download and use ISO files confidently, knowing that they have not been modified and are safe to use.
Remember that even if you download from the official website, you never know whether the ISO file is authentic until you verify. So, use this as a best practice.
[_Reference_][8]
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/verify-iso-files-linux/
作者:[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://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

View File

@ -0,0 +1,355 @@
[#]: subject: "Linux Terminal Basics #9: Editing Files in Linux Terminal"
[#]: via: "https://itsfoss.com/edit-files-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Linux Terminal Basics #9: Editing Files in Linux Terminal
======
![][1]
You have learned a bunch of file operations so far in this Terminal Basics series. You learned to create new files, delete existing ones, and copy and move them.
It is time to take it to the next level. Let's see how to edit files in the Linux terminal.
If you are writing bash shell scripts, you can use the GUI text editors like Gedit and run them in the terminal.
But at times, you'll find yourself in a situation where you have to edit existing files in the terminal itself. For example, modifying config files located in the /etc directory.
As a desktop Linux user, you could still use GUI editors for editing config files even as root. I'll show it to you later.
However, knowing how to edit files in the command line is better.
### Editing files in Linux terminal
You may use the cat command if you just have to add a few lines at the bottom of an existing file. But in order to properly edit a file, you'll need a proper text editor.
There is simply no shortage of [terminal-based text editors in Linux][2]. **Vi, Vim, Nano, Emacs are just a few of the most popular ones** out there.
But here is the thing. All of them have a learning curve involved. You don't have the comfort of the GUI. You don't have menus to interact with the editor with your mouse.
Instead, **you have to use (and remember) keyboard shortcuts**.
I find Nano to be a good starting point for new users. It is the default text editor in Ubuntu and many other Linux distributions.
Of course, there is a learning curve, but it is not as steep as that of Vim or Emacs. It keeps on displaying the most relevant keyboard shortcuts at the bottom. This helps you navigate even if you don't remember the exact shortcut.
For this reason, I'll be covering the absolute basics of the Nano editor here. Youll **learn all the essentials you need to know to start using Nano for editing files** in the Linux terminal.
### Using Nano editor
Nano can be used to edit text files, script files, program files etc. Please remember that **it is not a word processor** and cannot be used to edit docs or PDF files. For simple text editing of conf files, scripts, or text files, Nano is a great choice.
> 🚧 You should have Nano installed on your system to follow this tutorial.
I'll be using a text file named agatha_complete.txt. It consists of the names of all Agatha Christies books under her name. You can download it from this link if you plan to follow the steps on your system.
[Agatha completeSample text fileagatha_complete.txt3 KBdownload-circle][3]
#### Explore the Nano editor interface
Open the Nano editor with the following command:
```
nano
```
Youll notice a new interface in your terminal that reads like GNU nano and displays New Buffer. **New Buffer means Nano is working on a new file**.
This is equivalent to opening a new unsaved file in a text editor like Gedit or Notepad.
![Nano editor interface][4]
Nano editor shows essential keyboard shortcuts you need to use for editing at the bottom of the editor. This way, you wont get stuck at [exiting the editor like Vim][5].
The wider your terminal window, the more shortcuts it shows.
You should get familiar with the symbols in Nano.
- **The caret symbol (^) means Ctrl key**
- **The M character mean the Alt key**
> 📋 When it says `^X Exit`, it means to use `Ctrl+X` keys to **exit** the editor. When it says `M-U Undo`, it means use `Alt+U` key to **undo** your last action.
One more thing. It shows the characters in caps in the keyboard. But it doesnt mean uppercase character. ^X means Ctrl + x key on the keyboard, not Ctrl+Shift+x key (to get the uppercase X).
You may also get a detailed help document inside the editor by pressing Ctrl+G.
![Getting help in Nano editor][6]
Now that you are a bit familiar with the interface, exit the Nano editor with Ctrl+X keys. Since you have not made any changes to this opened unsaved file, you wont be asked to save it.
Awesome! You now have some ideas about the editor. In the next section, youll learn to create and edit files with Nano.
#### Create or open files in Nano
You can open a file for editing in Nano like this:
```
nano filename
```
If the file doesnt exist, it will still open the editor and when you exit, youll have the option for saving the text to my_file.
You may also open a new file without any name as well (like new document) with Nano like this:
```
nano
```
Try it. In a terminal, just write `nano` and enter.
![New file in Nano editor][7]
Did you notice “New Buffer”? Since you did not give the file any name, it indicates that is a new, unsaved file in the memory buffer.
You can start writing or modifying the text straightaway in Nano. There are no special insert modes or anything of that sort. It is almost like using a regular text editor, at least for writing and editing.
If you make any changes to the file (new or existing), youll notice that an asterisk (*) appears beside the file name or New Buffer (meaning a new, unsaved file).
![Writing text in Nano editor][8]
That seems good. In the next section, youll see how to save files and exit the Nano editor interface.
#### Saving and exiting in Nano
Nothing is saved immediately to the file automatically unless you explicitly do so. When you ****exit the editor using Ctrl+X**** keyboard shortcut, youll be asked whether you want to save the file.
![Save new file in Nano][9]
- ****Y**** to save the file and exit the editor
- ****N**** to discard changes
- ****C**** to cancel saving but continue to edit
If you choose to save the file by pressing the Y key, youll be asked to give the file a name. Name it my_file.txt.
![Saving a new file in Nano text editor][10]
> 📋 The .txt extension is not necessary because the file is already a text file even if you do not use the extension. However, it is a good practice to keep the file extension for comprehension.
Enter the name and press the enter key. Your file will be saved and youll be out of the Nano editor interface. You can see that the text file has been created in your current directory.
![New file created in Nano][11]
> 📋 If you are habitual of using Ctrl+S for saving the file in a text editor and you subconsciously press that in Nano, nothing happens. Why “nothing happens” is important? Because if you press Ctrl+S in a Linux terminal, it freezes the output screen and you cannot type or do anything. You can get back from this “frozen terminal” by pressing Ctrl+Q.
#### Perform a “save as” operation in Nano
In Gedit or Notepad, you get the “save as” option to save the changes made to an existing file as a new file. This way, the original files remain unchanged and you create a new file with the modified text.
You can do it in Nano editor too and the good thing is that you dont need to remember another keyboard shortcut. You can use the same Ctrl+X keys that you used for saving and exiting.
Lets see it in action. Open the sample file you had downloaded earlier.
```
nano agatha_complete.txt
```
If you dont make any changes, Ctrl+X will simply close the editor. You dont want that, do you?
So just press enter and then backspace key. This will insert a new line and then delete it as well. This way, nothing in the text file is changes and yet Nano will see it as a modified file.
If you press Ctrl+X and press Y to confirm the save, youll come to the screen where it shows the file name. What you can do is to change the file name here by pressing the backspace key and typing a new name.
![Save as different filename in Nano editor][12]
It will ask you to confirm saving it under a different name. Press Y to confirm this decision.
![Save as different filename in Nano editor][13]
I named it agatha_complete.back as an indication that it is a “backup” of a file of the same name. Its just for convenience. There is no real significance behind the .back extension.
So, you have learned to save files with Nano in this lesson. In the next section, youll learn to move around a text file.
#### Moving around in a file
Open the agatha_complete.txt file with Nano. You know how to open files with Nano editor, right?
```
nano agatha_complete.txt
```
Now you have a text file with several lines. How do you switch to other lines or to the next page or to the end of the line?
Mouse clicks dont work here. ****Use the arrow keys to move up and down, left and right****.
You can use the Home key or Ctrl+A to move to the beginning of a line and End key or Ctrl+E to move to the end of a line. Ctrl+Y/Page Up and Ctrl+V/Page Down keys can be used to scroll by pages.
- Use arrow keys for moving around
- Use Ctrl+A or Home key to go to the beginning of a line
- Use Ctrl+E or End key to go to the end of a line
- Use Ctrl+Y or Page Up keys to go up by one page
- Use Ctrl+V or Page Down keys to go down by one page
You have not made any changes to the file. Exit it.
Now, open the same file again but using this command:
```
nano -l agatha_complete.txt
```
Did you notice something different? The `-l` option displays the line numbers in the left-hand side.
Why did I show that to you? Because I want you to learn to go to a specific line now. To do that, use Ctrl+_ (underscore) key combination.
![][14]
> 📋 The Help options get changed at the bottom. Thats the beauty of Nano. If you choose a special keyboard shortcut, it starts showing the options that can be used with that key combination.
In the above picture, you can enter a line or column number. At the same time, it shows that you can enter Ctrl+Y to go to the first line of the file (it is different from the regular Ctrl+Y for moving one page up).
Using Ctrl+T on the same screen, you can go to a certain text. Thats almost like searching for a specific text.
And that brings us to the topic of the next section, which is search and replace.
#### Search and replace
You still have the sample text file opened, right? If not, open it again. Lets how to to search for text and replace it with something else.
If you want to search for a certain text, ****use Ctrl+W**** and then enter the term you want to search and press enter. The cursor will move to the first match. To go to the next match, ****use Alt+W keys****.
![Search for text in Nano editor][15]
By default, the search is case-insensitive. You can perform a case-sensitive search by pressing Alt+C when you are about to perform a search.
![Case sensitive search in Nano editor][16]
Once again, look at the bottom for options that can be used. Also note that it shows the last searched term inside brackets.
Similarly, you can also use regex for the search terms by pressing Alt+R.
And lastly, **use Ctrl+C to come out of search mode**.
If you want to replace the searched term, ****use Ctr+\ keys**** and then enter the search term and press enter key.
![Search and replace text in Nano][17]
Next, it will ask for the term you want to replace the searched items with.
![Enter text to be replaced with in Nano][18]
The cursor will move to the first match and Nano will ask for your conformation for replacing the matched text. Use Y or N to confirm or deny respectively. Using either of Y or N will move to the next match. You may also use A to replace all matches.
![Replacing text in Nano editor][19]
In the above text, I have replaced the second occurrence of the term Murder with Marriage and then it asks whether I want to replace the next occurrence as well.
**Use Ctrl+C to stop the search and replace.**
You have made some changes to the text file in this lesson. But there is no need to save those changes. Press Ctrl+X to exit but dont go for the save option.
In the next section, youll learn about cut, copy and paste.
#### Cut, copy and paste text
Open the sample text file first.
> 💡 If you dont want to spend too much time remembering the shortcuts, use the mouse.
Select a text with mouse and then use the right click menu to copy the text. You may also use the Ctrl+Shift+C [keyboard shortcut in Ubuntu][20] terminal. Similarly, you can use the right click and select paste from the menu or use the Ctrl+Shift+V key combination.
Nano also provides its own shortcuts for cutting and pasting text but that could become confusing for beginners.
Move your cursor to the beginning of the text you want to copy. Press Alt+A to set a marker. Now use the arrow keys to highlight the selection.
Once you have selected the desired text, you can Alt+6 key to copy the selected text or use Ctrl+K to cut the selected text. Use Ctrl+6 to cancel the selection.
Once you have copied or cut the selected text, you can use Ctrl+U to paste it.
![Cut, copy and paste in Nano editor][21]
If you do not want to continue selecting the text or copying it, use Alt+A again to unset the mark.
To recall:
- You can use Ctrl+Shift+C to copy and Ctrl+Shift+V to paste the content of the clipboard in most Linux terminals.
- Alternatively, use Alt+A to set the marker, move the selection using arrow key and then use Alt+6 to copy, Ctrl+k to cut and Ctrl+6 to cancel.
- Use Ctrl+U to paste the copied or cut text.
Now you know about copy-pasting. The next section will teach you a thing or two about deleting text and lines in Nano.
#### Delete text or lines
There is no dedicated option for deletion in Nano. You may use the Backspace or Delete key to delete one character at a time. Press them repeatedly or hold them to delete multiple characters. Just like in any regular text editor.
You can also use the Ctrl+K keys that cuts the entire line. If you dont paste it anywhere, its as good as deleting a line.
If you want to delete multiple lines, you may use Ctrl+K on all of them one by one.
Another option is to use the marker (Ctrl+A). Set the marker and move the arrow to select a portion of text. Use Ctrl+K to cut the text. No need to paste it and the selected text will be deleted (in a way).
#### Undo and redo
Cut the wrong line? Pasted the wrong text selection? Its easy to make such silly mistakes and its easy to correct those silly mistakes.
You can undo and redo your last actions using:
- **Alt+U : Undo**
- **Alt+E : Redo**
You can repeat these key combinations to undo or redo multiple times.
### Almost the end...
If you find Nano overwhelming, you should try Vim or Emacs. You'll start liking Nano.
This is a good starting point for Emacs. Give it a try if you want.
No matter how beginner-friendly Nano is, some people may find the idea of editing important files in the terminal intimidating.
If you are using Linux desktop where you can access a GUI editor, you can use it to edit those important files as root.
Say, you have Gedit installed on your system and you have to edit the SSH config file as root. You can run Gedit as root from the terminal like this:
```
sudo gedit /etc/ssh/ssh_config
```
It will open a Gedit instance as root. The command keeps on running in the terminal. Make your changes and save the file. It will show warning messages when you save and close Gedit.
![Using gedit to edit config files][22]
We are almost at the end of our terminal basics series. In the tenth and the last chapter of the series, you'll learn about getting help in the Linux terminal.
For now, let me know in the comment section if you encounter any issues.
--------------------------------------------------------------------------------
via: https://itsfoss.com/edit-files-linux/
作者:[Abhishek Prakash][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/abhishek/
[b]: https://github.com/lkxed/
[1]: https://itsfoss.com/content/images/2023/04/humble-bundle-packt-offer.webp
[2]: https://itsfoss.com/command-line-text-editors-linux/
[3]: https://itsfoss.com/content/files/2023/04/agatha_complete.txt
[4]: https://itsfoss.com/content/images/2023/04/nano-editor-interface.png
[5]: https://itsfoss.com/how-to-exit-vim/
[6]: https://itsfoss.com/content/images/2023/04/nano-detailed-help.png
[7]: https://itsfoss.com/content/images/2023/04/new-file-in-nano.png
[8]: https://itsfoss.com/content/images/2023/04/new-modified-file-in-nano.png
[9]: https://itsfoss.com/content/images/2023/04/save-new-file-in-nano.png
[10]: https://itsfoss.com/content/images/2023/04/saving-new-file-in-nano.png
[11]: https://itsfoss.com/content/images/2023/04/new-file-created-in-nano.png
[12]: https://itsfoss.com/content/images/2023/04/save-as-different-file-in-nano.png
[13]: https://itsfoss.com/content/images/2023/04/save-as-different-file-name-in-nano.png
[14]: https://academy.itsfoss.com/wp-content/uploads/2021/07/nano-go-to-line-number-1024x611.png
[15]: https://itsfoss.com/content/images/2023/04/nano-search-text.png
[16]: https://itsfoss.com/content/images/2023/04/nano-case-sensitive-search-text.png
[17]: https://itsfoss.com/content/images/2023/04/nano-search-replace-text.png
[18]: https://itsfoss.com/content/images/2023/04/nano-replace-text.png
[19]: https://itsfoss.com/content/images/2023/04/nano-replaced-text.png
[20]: https://itsfoss.com/ubuntu-shortcuts/
[21]: https://itsfoss.com/content/images/2023/04/nano-cut-copy-paste.png
[22]: https://itsfoss.com/content/images/2023/04/using-gedit-to-edit-config-files.png

View File

@ -0,0 +1,69 @@
[#]: 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: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
7 open source modules to make your website accessible
======
As website accessibility continues to be a growing concern, website owners and developers need to ensure that their websites comply with the [Americans with Disabilities Act][1] (ADA). Drupal, a popular open source content management system (CMS), offers various tools and modules to ensure your website is accessible to all users, regardless of their abilities. This article discusses the importance of website accessibility, the basic requirements of ADA compliance, and how [Drupal][2] can help you achieve compliance.
### Why website accessibility is important
Website accessibility is important for several reasons. First, it ensures that people with disabilities can access and use your website. This includes people with visual, auditory, physical, and cognitive disabilities. By making your website accessible, you are not only complying with the law but also providing a better experience for all users.
In addition, website accessibility can improve your website's search engine optimization (SEO) and increase your website's usability. Search engines prioritize websites that are accessible, and users are more likely to stay on your website longer and engage with your content if it is easy to use.
### Basic requirements for ADA compliance
The ADA requires all websites and digital content to be accessible to people with disabilities. Some of the basic requirements for ADA compliance include the following:
- Providing alternative text descriptions for all images and non-text content.
- Ensuring that all videos have captions and transcripts.
- Using color contrast and other design elements to make your website more readable.
- Providing alternative ways to access content, such as audio descriptions and keyboard navigation.
- Ensuring that your website is compatible with assistive technologies, such as screen readers and braille displays.
### How Drupal can help you achieve compliance
Drupal offers various tools and modules to help you achieve website accessibility and ADA compliance. Here are the seven I find most useful:
- [Accessibility Checker][3]: Scans your website for common accessibility issues and suggests improvements.
- [Color Contrast Analyzer][4]: Analyzes the color contrast of your website and makes changes to improve readability.
- [Block ARIA Landmark Roles][5]: Enhances WAI-ARIA use in your site's markup. This module allows you to assign ARIA landmark roles and/or ARIA labels directly to every block in your site's layout through the block configuration form.
- [Civic Accessibility Toolbar][6]: Provides accessibility tools to help users with disabilities navigate and interact with websites.
- [htmLawed][7]: Ensures compliance with web standards and admin policies by limiting and purifying HTML.
- [Text Resize][8]: Enhances web accessibility by displaying an adjustable text size changer or a zoom function on the page.
- [Automatic Alternative Text][9]: Leverages the [Microsoft Azure Cognitive Services API][10] to create an image caption when there's no Alternative Text (alt text).
### Wrap up
Ensuring website accessibility and ADA compliance is important for legal reasons and for providing a better user experience for all users. From the Accessibility Checker to the Color Contrast Analyzer, Drupal offers various ways to ensure your website is ADA-compliant. Using Drupal's tools and modules, you can make your website accessible to everyone, regardless of their abilities, and offer a better user experience.
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/drupal-modules-website-accessibility
作者:[Neeraj Kumar][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/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

View File

@ -0,0 +1,176 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
How to Connect GitHub to VS Code [Step by Step]
======
![][1]
VS Code is undoubtedly one of the most popular code editors. Similarly, GitHub is the most popular platform among coders.
Both Microsoft products gel quite well. You can seamlessly code in VS Code and push changes to your GitHub repo. It makes life so much easier to do all of it from the same application interface.
How to add GitHub to VS Code? It's quite easy actually.
In this tutorial, I'll show:
- How to integrate your GitHub account into VS Code
- How to clone repositories from GitHub into VS Code
- How to push your changes to GitHub from VS Code
Sounds good? Let's see how to do it.
### Prerequisite
Please ensure that Git is installed on your computer. How to do that?
One way would be to go to the Source Control view in VS Code. If Git is not installed, it will ask you to download it.
![Checking if Git is installed via VS Code][2]
Another thing is that you **should have the Git username and email configured**.
### Adding GitHub to VS Code
VS Code comes builtin with GitHub integration. You should not need to install any extension for cloning repos and pushing your changes.
Go to the source code tab from the left sidebar. You should see a '**Clone Repository**' or '**Publish to GitHub**' (if you have opened a folder already) option. Click on the **Clone Repository** and give it a GitHub repo link or click on '**Clone from GitHub**'.
![Cloning GitHub repo in VS Code][3]
It will then show you a message that asks you to sign in to GitHub.
![VS Code asking to sign in to GitHub][4]
You click on Allow button and it will open a browser tab with a GitHub login page.
![Connect GitHub to VS Code][5]
If you were trying to clone a repo, you should see a message like this and click **Open**.
![Opening GitHub repo in VS Code][6]
It should take a couple of seconds and you should be signed into your GitHub account.
#### How do you know you are logged into GitHub with VS Code?
Well, it will start showing your GitHub repositories (if you have any) in the top viewlet (if you pressed clone repository earlier).
![GitHub repos accessible from VS Code][7]
Alternatively, you can click on the Profile icon at the bottom left corner to see if it says you are logged in to your GitHub account.
![Checking if VS Code logged into GitHub account][8]
### Clone a GitHub repository in GitHub
If you have already opened a project in GitHub bit want to clone another GitHub repository, there are several ways to do that.
You can **use the Git commands to clone the repo on your disk** and then open this repo folder in VS Code.
Alternatively, if you don't want to use the command line, you can stick with VS Code.
It's simple. Open a new window in VS Code.
![Open a new window in VS Code][9]
This will give you a fresh, clean editor. **If you have the welcome screen running**, you can click on the 'Clone Git Repository' quick link from there.
Otherwise, go to the Source Control tab from the left sidebar and click the Clone Repository button.
It will open a viewlet on the top. You can **simply copy the URL of the GitHub repo**. It can automatically get the clone link from it.
![Clone a new GitHub repo in VS Code][10]
It will ask you where to place the cloned repo.
![Select a location for the cloned GitHub repo in VS Code][11]
It will ask if you want to open the cloned repo into VS Code. Go for it if you want to work on it immediately.
![Open the just cloned GitHub repo in VS Code][12]
Not just for a cloned repo, VS Code asks you if you trust the author for any folder you add to it.
![Trust author promot in VS Code][13]
Well, you have cloned a GitHub repo in VS Code. Let's see how to modify and push your changes to GitHub.
### Push changes to GitHub from VS Code
Now let's say you made some changes to the code and want to push the commit to your repo.
As soon as you save your changes to a file, **VS Code starts indicating the modified files with an M**. For new files, the symbol is U (untracked).
Go to Source Control from the left-hand side, type a commit message and then click on the carrot button beside Commit and choose Commit & Push.
![Push your changes to GitHub from VS Code][14]
**_If you don't have your Git username and email configured, you'll see this error._**
![Error in VS Code if Git username and email is not set][15]
You can [set username and email at global level][16] or repo level. Your choice, really.
> 📋 For a successful commit and push, you won't see any error. The M or U symbols beside the modified or new files will disappear.
**You can verify that your push was successful by going to the repo on GitHub.**
You may choose to commit your changes locally without pushing them. You can do all the things you used to do with git commands here as well. There are options for creating pull requests, refreshing and whatnot.
![VS Code gives all kind of Git actions to perform][17]
### Take it to the next level with GitHub official extension
There is a dedicated, official extension that lets you also **manage pull requests to your repos from other people and merge them**. You can also see issues opened on your repository here. This is a much better way to integrate GitHub with VS Code.
Open VS Code and go to the Extensions tab from the left sidebar. Here **search for GitHub Pull Requests and Issues**. It's an official plugin from GitHub itself. You can see the verified checkmark.
Click on the Install button and have the [extension installed][18] on your editor.
![Installing GitHub extension in VS Code][19]
With this extension, you can manage your repository if others are collaborating on it.
It is good to have complete Git and GitHub integration in VS Code. People who don't like the command line surely enjoy this integration.
I hope this tutorial helped you add GitHub to VS Code seamlessly. Let me know if you still face any issues.
--------------------------------------------------------------------------------
via: https://itsfoss.com/vs-code-github/
作者:[Abhishek Prakash][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/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

View File

@ -0,0 +1,64 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
Firefox 112 发布:右键单击显示密码、改进选项卡管理等!
======
**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。
最后,日期选择器面板中添加了一个新的清除按钮,允许用户快速清除类型为 date 或 datetime-local 的输入,从而为跨浏览器的用户体验提供一致性。
Firefox 112 可在 Windows、Mac 和 Linux 上下载,我们鼓励用户将浏览器更新到最新版本以获得更流畅、更安全的浏览体验。
你可以立即从以下链接下载最新版本。
[下载 Firefox 112][3]
或者,你可以再等几天, Linux 发行版会对它进行测试并通过定期发行版更新让你也能用上 Firefox 112。
Via [changelog][4]
[_你也在使用 Mastodon? 快来 floss.social/@debugpoint_关注我们][5]
--------------------------------------------------------------------------------
via: https://debugpointnews.com/firefox-112/
作者:[arindam][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://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

View File

@ -0,0 +1,110 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
开源领域中姐妹情谊和盟友关系的力量
======
两年多前,我从艺术家转职成为一名[软件开发人员][1]。 我不是单凭一己之力做到的。 我得到了 PyLadies Berlin 的支持PyLadies Berlin 是一个国际志愿者团体的柏林本地分会,旨在支持女性从事技术工作。
我们习惯了“职业变化”这个词,就好像它是一个轨迹的中断。 但根据我的经验,事实并非如此。 一个人无法抹去自己过去的点点滴滴,而多样化背景带来的丰富性可以造就爆发点。 个体的人生旅程虽然通常与计算机科学毫无相关,却担起了令科技对社会有所影响的职责,并为技术行业带来丰富性和创造力。
作为一名艺术家,我得到了自由,并打开了探索从建筑到科学等多个领域的大门。 我大部分的艺术经历发生在巴西的黑客空间里,这里充斥着自由和开放源码软件 (FLOSS) 的思想,即开放的自由共享文化。 如今,由于一些不属于本文讨论范围的意识形态和实践原因,最常见的术语是“开源”。 对我来说幸运的是,我的职业转变始于一次在开源项目办公室 (OSPO) 的实习,它让我的转变经历感觉——几乎可以说——像回家一样。
### 放在巨人的肩膀上
我们都受益于开源。 无论你是否编码,你所使用的软件都依赖于它。 由于这是一种开放的文化,一切都建立在他人的工作之上,所以经常听到“站在巨人的肩膀上”这个表述,指的是我们的进步都建立在前人的工作和贡献之上。 这突出了从他人的经验和成就中学习的重要性。
这篇文章旨在揭示我站在谁的肩膀上。 这不仅是为了表达我对他们的感激之情,也是为了回答我在接受 JSParty 的 Kevin Ball 和 Christopher Hiller 采访时被问到的一个问题:你能做些什么来改善周围环境的多样性?
“站在巨人的肩膀上”不仅关注开源,而且通过承认女性先驱和领导者在该领域的作用,它还是技术姐妹情谊的基础。 通过承认在我们之前的女性所做的贡献,我们可以从她们所面临的挑战中获得灵感和洞察力,并从她们挣脱束缚的经验中学习。 通过这种方式我们“站在巨人的肩膀上”以她们的工作为基础为女性和_被低估的_ [2] 技术人员创造更具包容性和支持性的环境。
通过相互支持,认识到从他人经验中学习的重要性,并形成一个支持网络,我们可以共同努力克服挑战,通过创造更公平的环境为所有人建设更美好的未来。 通过这样做,我们正在创造新的巨人,供其他人在未来立足。
### 组织一个当地社区: Meili Triantafyllidi and 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 的沟通在选拔后期变得非常混乱,最终他们在最后一刻取消了项目。
我们当时都崩溃了。 疫情的重压给我们带来了沉重打击,它不仅粉碎了我们获得一份有偿工作的机会,而且粉碎了长期以来养成的开始新职业的梦想。
当时还是初级软件开发人员的杰西卡懂我们的处境,因此她挺身而出,她没有感到无能为力,而是站出来表明自己的立场。 除了为适应个人新角色所付出的努力,她还给自己安排了更多工作,并创建了 [Ecosia Summer of Code][3] 这一项目。
Ecosia 无法支付奖学金,但杰西卡提供了指导计划。 该计划利用公司的可用资源,提供高素质专业人士的指导,以填补我们的知识空白。 由于 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 项目做出贡献,而且从其他学习者那里听到了许多类似的故事。
通过我在这些编程社区的经历,我了解到编程远不止一行行的代码,拥有盟友是多么强大和有必要。 无论你是谁或你自认为了解什么,自由和开源软件社区中都有机会。 你的参与不一定要是大动作,因为盟友们的小小贡献加起来远大于一个人贡献的总和。 迈出第一步。 在开源领域中找到你的盟友。
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/3/power-sisterhood-allyship-open-source
作者:[Paloma Oliveira][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://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

View File

@ -0,0 +1,180 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
如何在 Linux 中合并 PDF 文件
======
有多个关于同一主题的 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]
在下一步中,单击**添加文件**并选择要合并的文件:
![choose files to merge][4]
选择文件后,单击**合并**按钮:
![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 文件。
**右键单击选定的文件 > 使用其他应用打开 > LibreOffice Draw**,它将打开选定的 PDF 文件。
它将在单独的 LibreOffice Draw 实例中打开你选择的每个 PDF 文件:
![open pdf file in libreoffice][9]
现在,你必须从左侧预览栏**选择单个页面或整个 PDF 文件**(使用 Ctrl + A并将其拖放到要合并的文件的预览栏
拖放后,单击左上角的第 5 个选项,标题是**直接导出为 PDF**
![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 故障排除
如果你看到这样的策略错误:
![convert im6.q16: attempt to perform an operation not allowed by the security policy `pdf` @ error constitute.c iscoderauthorized 421.][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]。
如果你在使用上述方法时遇到任何问题,请告诉我。
--------------------------------------------------------------------------------
via: https://itsfoss.com/merge-pdf-linux/
作者:[Sagar Sharma][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [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/wp-content/uploads/2022/11/merge-pdf-files-using-in-ubuntu-1.png
[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-files-to-merge.png
[5]: https://itsfoss.com/wp-content/uploads/2022/11/click-on-merge-button.png
[6]: https://itsfoss.com/wp-content/uploads/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/wp-content/uploads/2022/11/open-pdf-file-in-libreoffice.png
[10]: https://itsfoss.com/wp-content/uploads/2022/11/export-directly-as-pdf-in-libreoffice.png
[11]: https://itsfoss.com/wp-content/uploads/2022/11/save-merged-file-from-libreoffice.png
[12]: https://itsfoss.com/install-imagemagick-ubuntu/
[13]: https://itsfoss.com/wp-content/uploads/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/wp-content/uploads/2022/11/change-policy-in-imagemagick-to-merge-pdf-files.png
[15]: https://itsfoss.com/wp-content/uploads/2022/11/merge-pdf-files-using-imagemagick-in-linux-terminal.png
[16]: https://itsfoss.com/compress-pdf-linux/

View File

@ -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 TextMarkdownAsciidoc** 文件格式和处理引擎,帮助您从纯文本文件中生成美观且实用的文档
- **ReadTheDocs** 是一个可以和公共 Git 存储库联动的文档托管主机
- **Draw.io LibreOffice DrawDia** 制作图表,图形,思维导图,路线图,计划,标准和指标等
- **PeekAsciinema** 记录终端命令操作
- **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

View File

@ -0,0 +1,60 @@
[#]: 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: " "
[#]: publisher: " "
[#]: url: " "
开源设计系统 PatternFly 的 5 个最佳实践
======
你是否曾欣赏过宝石的切面? 角度和倾斜是一件美丽的事情。你可以看到多面宝石比平面宝石更亮。在分析一个多面的设计系统时,你也可能会看到这种美。设计系统是用于创建一致且统一的用户界面 (UI) 的准则、标准和资源的集合。就像钻石的各个切面一样,一个富含不同贡献和社区参与的开源设计系统最终会带来更好的产品体验。
[PatternFly][1] 项目是一个用于 Red Hat 产品的开源设计系统。但开源并没有以 PatternFly 的代码结束。PatternFly 的背后是一群完全公开创作设计的人。从设计师和开发人员到研究人员和作家,我们作为一个开源社区共同努力。
我们的秘密? 我们没有,我们开放工作,记得吗? 但是,我们使用这五个最佳实践。我将在这里分享它们,这样你也可以使用开源来支持你自己的设计系统。
### 1. 集体贡献
我们有一个核心的 PatternFly 设计团队来设计、维护和发展设计系统。但我们鼓励并欢迎所有人的贡献。如果你对协作充满热情并且擅长用户体验 (UX)[PatternFly 希望收到你的反馈][2]。
### 2. 建立社区
在孤岛中创建的任何内容都无法进入 PatternFly。我们相信开放的设计更好。这就是我们将社区纳入所有更新、更改和添加的原因。我们收集设计和开发人员对贡献的反馈以便每个人都对实施的内容有发言权。我们还寻求跨多个[设计学科][3]的人们的意见和协作。这样做是为了摆脱任何偏见或假设。这种开放的设计让我们的设计体系更加强大。它还加强了我们蓬勃发展的社区,该社区由参与 PatternFly 或为 PatternFly 做出贡献的人们组成(我们亲切地称他们为 Flyers
### 3. 在每个人中循环
如果你发现与他人集思广益的想法产生的解决方案比任何人梦寐以求的都要好,那么你已经像 Flyer 一样思考了。我们定期举行设计会议,供贡献者在小组环境中展示他们的想法并讨论设计方法。这使我们能够保持我们的想法协作并从各个角度考虑设计。此外,我们每月举办社区会议,以便我们可以与来自全球各地的 Flyers 联系并分享最新动态。你可以在我们的 [PatternFly YouTube 频道][4]上观看我们过去的所有会议记录。
### 4. 倾听用户
作为一个社区,我们的目标是让 PatternFly 的所有贡献都能在不同的环境中带来功能性和美观的产品体验。为了实现这一目标,我们要求自己打破自己的泡沫并与用户互动。我们与 UX 研究人员合作,与用户一起测试更新、更改和添加(例如视觉主题和交互),以确保我们创建的设计、资源和体验能够为每个人解决问题,而不仅仅是像我们这样的人。
### 5. 创建连接
PatternFly 是贯穿红帽公司产品的一致性的主线。每个人都有创造性的自由来构建最适合他们用户的东西。但我们作为一个团队通过设计系统连接产品组以获得更统一的用户体验。PatternFly 的资源很容易获得,并向所有人开放。这有助于我们建立联系,压制孤岛。
### 与我们一起开放设计
无论你是一个由 1 人还是 100 人组成的团队,或者你的设计系统是否是开源的,在我们所做的每一件事中,总有一点协作和社区的空间。联系 [PatternFly 社区][5],告诉我们你的结果如何。我们迫不及待地想收到你的来信。
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/4/open-source-design-system-patternfly
作者:[Abigael Donahue][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [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