Merge branch 'LCTT:master' into master

This commit is contained in:
Hans zhao 2022-07-06 19:32:33 +08:00 committed by GitHub
commit fbfb49e7d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 3935 additions and 889 deletions

View File

@ -1,8 +1,8 @@
[#]: collector: (lujun9972)
[#]: translator: (hanszhao80)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-14792-1.html)
[#]: subject: (Djinn: A Code Generator and Templating Language Inspired by Jinja2)
[#]: via: (https://theartofmachinery.com/2021/01/01/djinn.html)
[#]: author: (Simon Arneaud https://theartofmachinery.com)
@ -10,13 +10,15 @@
Djinn一个受 Jinja2 启发的代码生成器和模板语言
======
代码生成器是非常有用的工具。我有时使用 [jinja2][1] 的命令行版本来生成高度冗余的配置文件和其他文本文件但它在转换数据方面功能有限。显然Jinja2 的作者有不同的想法,但我想要类似于 <ruby>列表推导<rt>list comprehensions</rt></ruby> 或 D 语言的 <ruby>可组合范围<rt>composable range</rt></ruby> 算法之类的东西。
![](https://img.linux.net.cn/data/attachment/album/202207/04/101711nq2we7z7x7wz2z7e.jpg)
我决定制作一个类似于 Jinja2 的工具,但让我可以通过使用范围算法转换数据来生成复杂的文件。这个想法非常简单:一个直接用 D 语言代码重写的模板语言。这样它就支持 D 语言所能做的一切,仅仅因为它 _是_ D 语言。我想要一个独立的代码生成器,但是由于 [ D 语言的 `mixin` 特性][2]相同的模板语言可以作为嵌入式模板语言工作例如Web 应用程序中的 HTML。有关该技巧的更多信息请参阅 [这篇关于在编译时使用 mixins 将 Brainfuck 转换为 D 到机器代码的帖子][3]
代码生成器是非常有用的工具。我有时使用 [jinja2][1] 的命令行版本来生成高度冗余的配置文件和其他文本文件但它在转换数据方面功能有限。显然Jinja2 的作者有不同的想法,而我想要类似于 <ruby>列表推导<rt>list comprehensions</rt></ruby> 或 D 语言的 <ruby>可组合范围<rt>composable range</rt></ruby> 算法之类的东西
像往常一样,[源码在 GitLab 上][4]。[这篇文章中的例子也可以在这里找到。][5]
我决定制作一个类似于 Jinja2 的工具,但让我可以通过使用范围算法转换数据来生成复杂的文件。这个想法非常简单:一个直接用 D 语言代码重写的模板语言。因为它 _就是_ D 语言,它可以支持 D 语言所能做的一切。我想要一个独立的代码生成器,但是由于 [D 语言的 `mixin` 特性][2]同样的模板语言可以作为嵌入式模板语言工作例如Web 应用程序中的 HTML。有关该技巧的更多信息请参阅 [这篇关于在编译时使用 mixins 将 Brainfuck 转换为 D 和机器代码的文章][3]。
### 你好世界示例
像往常一样,[源码在 GitLab 上][4]。[这篇文章中的例子也可以在这里找到][5]。
### Hello world 示例
这是一个演示这个想法的例子:
@ -35,7 +37,7 @@ Hello world!
1 + 1 = 2
```
如果您使用过 Jinja2可能想知道第二行发生了什么。Djinn 有一个简化格式化和空格处理的特殊规则:如果源代码行包含 `[:` 语句或 `[<` 指令但不包含任何非空格输出,则整行都会被忽略输出。空行则仍会原样呈现。
如果你使用过 Jinja2可能想知道第二行发生了什么。Djinn 有一个简化格式化和空格处理的特殊规则:如果源代码行包含 `[:` 语句或 `[<` 指令但不包含任何非空格输出,则整行都会被忽略输出。空行则仍会原样呈现。
### 生成数据
@ -79,9 +81,9 @@ x,f(x)
这个例子展示了一个图片的生成过程。[经典的 Netpbm 图像库定义了一堆图像格式][7],其中一些是基于文本的。例如,这是一个 3 x 3 向量的图像:
```
P2 # <ruby>便携式灰色地图<rt>Portable GrayMap</rt></ruby>格式标识
P2 # PGM 格式标识
3 3 # 宽和高
7 # 代表纯白色的值 (0 代表黑色)
7 # 代表纯白色的值0 代表黑色)
7 0 7
0 0 0
7 0 7
@ -130,7 +132,7 @@ $ gm convert mandelbrot.pgm mandelbrot.png
一个 5 行 5 列的网格需要用 1 到 5 的数字填充,每个数字在每一行中限使用一次,在每列中限使用一次(即,制作一个 5 行 5 列的<ruby>拉丁方格<rt>Latin square</rt></ruby>)。相邻单元格中的数字还必须满足所有 `>` 大于号表示的不等式。
[几个月前我使用了 <ruby>线性规划<rt>linear programming</rt></ruby>英文缩写 LP][11]。线性规划问题是具有线性约束的连续变量系统。这次我将使用<ruby>混合整数线性规划<rt>mixed integer linear programming</rt></ruby>(英文缩写 MILP),它通过允许整数约束变量来归纳 LP。事实证明这足以成为 NP 完备的,而 MILP 恰好可以很好地模拟这个谜题。
[几个月前我使用了 <ruby>线性规划<rt>linear programming</rt></ruby>LP][11]。线性规划问题是具有线性约束的连续变量系统。这次我将使用<ruby>混合整数线性规划<rt>mixed integer linear programming</rt></ruby>MILP,它通过允许整数约束变量来归纳 LP。事实证明这足以成为 NP 完备的,而 MILP 恰好可以很好地模拟这个谜题。
在上一篇文章中,我使用 Julia 库 JuMP 来帮助解决这个问题。这次我将使用 [CPLEX基于文本的格式][12],它受到多个 LP 和 MILP 求解器的支持(如果需要,可以通过现成的工具轻松转换为其他格式)。这是上一篇文章中 CPLEX 格式的 LP
@ -169,9 +171,9 @@ foreach (c; iota(N))
[::]
```
`ivar()` 是一个辅助函数,它为我们提供变量名为 i 的字符串标识符,而 `vs` 存储从 1 到 5 的数字以方便使用。行和列内唯一性的约束完全相同,但在 i 的其他两个维度上迭代。
`ivar()` 是一个辅助函数,它为我们提供变量名为 `i` 的字符串标识符,而 `vs` 存储从 1 到 5 的数字以方便使用。行和列内唯一性的约束完全相同,但在 `i` 的其他两个维度上迭代。
为了使变量组 i 与变量组 v 保持一致,我们需要如下约束(请记住,变量组 i 中只有一个元素的值是非零的):
为了使变量组 `i` 与变量组 `v` 保持一致,我们需要如下约束(请记住,变量组 `i` 中只有一个元素的值是非零的):
```
[i_{r,c,1} + 2i_{r,c,2} + 3i_{r,c,3} + 4i_{r,c,4} + 5i_{r,c,5} = v_{r,c}]
@ -189,7 +191,7 @@ foreach (c; iota(N))
[::]
```
不等符号相邻的和左下角值为为 4 单元格的约束写起来都很简单。剩下的便是将指示器变量声明为二进制,并为变量组 v 设置边界。加上变量的边界,总共有 150 个变量和 111 个约束 [你可以在仓库中看到完整的代码][14]。
不等符号相邻的和左下角值为为 4 单元格的约束写起来都很简单。剩下的便是将指示器变量声明为二进制,并为变量组 `v` 设置边界。加上变量的边界,总共有 150 个变量和 111 个约束 [你可以在仓库中看到完整的代码][14]。
[GNU 线性规划工具集][15] 有一个命令行工具可以解决这个 CPLEX MILP。不幸的是它的输出是一个包含了所有内容的体积很大的转储所以我使用 awk 命令来提取需要的内容:
@ -241,7 +243,7 @@ via: https://theartofmachinery.com/2021/01/01/djinn.html
作者:[Simon Arneaud][a]
选题:[lujun9972][b]
译者:[hanszhao80](https://github.com/hanszhao80)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -3,13 +3,17 @@
[#]: author: (Julia Evans https://jvns.ca/)
[#]: collector: (lujun9972)
[#]: translator: (hanszhao80)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-14786-1.html)
OSI 模型是什么?
======
![](https://img.linux.net.cn/data/attachment/album/202207/02/153620k7nwc6nn2b6n6p2c.jpg)
LCTT 校注:作者原文已经大篇幅进行了修订更新,本文据之前的版本翻译。)
今天我在推特上发布了一些关于 OSI 模型如何与 TCP/IP 工作原理的实际表现不相符的观点这让我思考——OSI 模型到底是什么?通过阅读推特上的一些回复发现,似乎至少存在三种不同的思考方式:
1. TCP/IP 工作原理的字面描述
@ -49,7 +53,7 @@ OSI 模型是什么?
此外TCP/IP 的某些部分即使在第二层到第四层也不能很好地适应 OSI 模型——例如,哪一层是 ARP 数据包ARP 数据包发送一些带有以太网标头的数据,这是否意味着它们是第三层?或是第二层?列出不同 OSI 层的维基百科文章将其归类为“第 2.5 层”,这并不令人满意。
因为 OSI 模型有时用于教授 TCP/IP若搞不清楚它的哪些部分与 TCP/IP 映射良好,而哪些部分不能,则会令人困惑。这才是真的问题。
因为 OSI 模型有时用于教授 TCP/IP若搞不清楚它的哪些部分可以映射到 TCP/IP,而哪些部分不能,则会令人困惑。这才是真的问题。
### OSI 模型:用于比较网络协议的一个抽象
@ -76,7 +80,7 @@ via: https://jvns.ca/blog/2021/05/11/what-s-the-osi-model-/
作者:[Julia Evans][a]
选题:[lujun9972][b]
译者:[hanszhao80](https://github.com/hanszhao80)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -3,12 +3,11 @@
[#]: author: (Bill Dyer https://itsfoss.com/author/bill/)
[#]: collector: (lujun9972)
[#]: translator: (lkxed)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-14785-1.html)
How to Convert File Formats With Pandoc in Linux [Quick Guide]
如何在 Linux 中使用 Pandoc 转换文件格式(快速指南)
如何在 Linux 中使用 Pandoc 转换文件格式
======
在之前的一篇文章中,我介绍了 [使用 pandoc 将少量 Markdown 文件批量转换为 HTML 的过程][1]。在那篇文章中,我创建了多个 HTML 文件,但 Pandoc 可以做的更多。它被称为文档转换的“瑞士军刀” —— 这是有充分理由的。很少有它做不到的事情。
@ -25,7 +24,7 @@ How to Convert File Formats With Pandoc in Linux [Quick Guide]
![][4]
本文中,我会将 Markdown 文件转换成几种不同的格式。我几乎所有的写作都使用 Markdown 语法,但我经常需要转换为另一种格式:学校作业通常需要的 .docx 格式;我创建的网页通常需要的 .html 格式;工作需要的 .epub 格式;传单和讲义需要的 .pdf 格式;甚至包括大学数字人文项目偶尔需要的 TEI Simple 格式。Pandoc 可以轻松处理所有这些格式,甚至更多。
本文中,我会将 Markdown 文件转换成几种不同的格式。我几乎所有的写作都使用 Markdown 语法,但我经常需要转换为另一种格式:学校作业通常需要的 .docx 格式;我创建的网页通常需要的 .html 格式;工作需要的 .epub 格式;传单和讲义需要的 .pdf 格式;甚至包括一个大学数字人文项目偶尔需要的 TEI Simple 格式。Pandoc 可以轻松处理所有这些格式,甚至更多。
首先,你需要 [安装 pandoc][5]。此外,要创建 .pdf 文件,还需要 LaTeX。我最喜欢的套件是 [TeX Live][6]。
@ -46,7 +45,7 @@ sudo apt-get install pandoc texlive
安装完成 `pandoc``texlive` 后,你就可以尝试用它们来完成一些工作了!
该项目的示例文档将是一篇文章,该文章于 1894 年 12 月首次发表在《北美评论》上,标题为“如何击退火车劫匪”。我将使用的 Markdown 文件是前一段时间创建的,它是该文章的恢复项目的一部分LCTT 译注:这是篇一百多年前发表的文章,我想“恢复”指的就是把它数字化吧)。
该项目的示例文档将是一篇文章,该文章于 1894 年 12 月首次发表在《北美评论》上,标题为“如何击退火车劫匪”。我将使用的 Markdown 文件是前一段时间创建的,该文章的一个恢复项目的一部分LCTT 译注:这是篇一百多年前发表的文章,这是一个数字化“恢复”项目)。
我把这篇文章保存为 `how_to_repel_train_robbers.md`,它位于我的 `Documents` 目录下,名为 `samples` 的子目录中。它在 Ghostwriter 中看起来是这样的:
@ -57,7 +56,7 @@ sudo apt-get install pandoc texlive
#### 第一次转换
首先,我将制作一个 .pdf 副本,因为我在安装 LaTeX 包时遇到了些麻烦。
`~/Documents/samples/` 目录中,我输入以下,以创建一个 .pdf 文件:
```
@ -110,7 +109,7 @@ pandoc -o htrtr.html how_to_repel_train_robbers.md
Pandoc 可以做的远不止这里完成的三个小转换。如果你选择使用一个首选格式编写文件但时不时又需要将文件转换为另一种格式pandoc 很大概率都能为你完成。
现在,既然你已经学会了,你会用它做什么呢?你会把它自动化吗?如果你的网站上有文章供读者下载怎么办?你可以修改这些小命令,把它们编写成一个脚本,你的读者可以决定他们想要哪种格式。你可以提供 .docx、.pdf、.odt、.epub 或更多格式。你的读者只需要选择一种格式,然后对应的转换脚本就会执行,最后,你的读者下载他们想要的文件。这是完全可以做到的。
现在,既然你已经学会了,你会用它做什么呢?你会把它自动化吗?如果你有一个网站,想供读者下载文章怎么办?你可以修改这些小命令,把它们编写成一个脚本,你的读者可以决定他们想要哪种格式。你可以提供 .docx、.pdf、.odt、.epub 或更多格式。你的读者只需要选择一种格式,然后对应的转换脚本就会执行,最后,你的读者下载他们想要的文件。这是完全可以做到的。
--------------------------------------------------------------------------------
@ -119,7 +118,7 @@ via: https://itsfoss.com/pandoc-convert-file/
作者:[Bill Dyer][a]
选题:[lujun9972][b]
译者:[lkxed](https://github.com/lkxed)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -4,33 +4,35 @@
[#]: collector: "lujun9972"
[#]: translator: "MjSeven"
[#]: reviewer: "turbokernel"
[#]: publisher: " "
[#]: url: " "
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14789-1.html"
Kubernetes 架构指南
======
学习 Kubernetes 架构中不同组件是如何组合在一起的,这样您就可以更好地排查问题、维护集群健康以及优化工作流。
![部件、模块、软件容器][1]
使用 Kubernetes 来编排容器,这种描述说起来简单,但理解它的实际含义以及如何实现它完全是另外一回事。如果你正在运行或管理 Kubernetes 集群,那么你就会知道 Kubernetes 由一台称为 _控制平面_ 的机器和许多其他 _工作节点_ 机器组成。每种类型都有一个复杂但稳定的堆栈,这使编排成为可能,熟悉每个组件有助于理解它是如何工作的。
> 了解 Kubernetes 架构中不同组件是如何组合在一起的,这样你就可以更好地排查问题、维护一个健康的集群,以及优化工作流。
![](https://img.linux.net.cn/data/attachment/album/202207/03/105135ey33hhx022m9y9fr.jpg)
使用 Kubernetes 来编排容器,这种描述说起来简单,但理解它的实际含义以及如何实现它完全是另外一回事。如果你正在运行或管理 Kubernetes 集群,那么你就会知道 Kubernetes 由一台称为 “<ruby>控制平面<rt>control plane</rt></ruby>” 的机器和许多其他 <ruby>工作节点<rt>worker node</rt></ruby> 机器组成。每种类型都有一个复杂但稳定的堆栈,这使编排成为可能,熟悉每个组件有助于理解它是如何工作的。
![Kubernetes 架构图][2]
(Nived Velayudhan, [CC BY-SA 4.0][3])
*Nived Velayudhan, [CC BY-SA 4.0][3]*
### 控制平面组件
Kubernetes 安装在一个称为控制平面的机器上,它会运行 Kubernetes 守护进程,并在启动容器和容器组时与之通信。下面介绍控制平面的各个组件。
Kubernetes 安装在一个称为<ruby>控制平面<rt>control plane</rt></ruby>的机器上,它会运行 Kubernetes 守护进程,并在启动容器和<ruby>容器组<rt>pod</rt></ruby>时与之通信。下面介绍控制平面的各个组件。
#### Etcd
#### etcd
Etcd 是一种快速、分布式一致性键值存储器,用作 Kubernetes 对象数据的持久存储,如 容器组 、副本控制器、密钥和服务。Etcd 是 Kubernetes 存储集群状态和元数据的唯一地方。唯一与 etcd 直连的组件是 Kubernetes API 服务器。其他所有组件都通过 API 服务器间接的从 etcd 读写数据。
etcd 是一种快速、分布式一致性键值存储器,用作 Kubernetes 对象数据的持久存储,如容器组、副本控制器、密钥和服务。etcd 是 Kubernetes 存储集群状态和元数据的唯一地方。唯一与 etcd 直连的组件是 Kubernetes API 服务器。其他所有组件都通过 API 服务器间接的从 etcd 读写数据。
Etcd 还实现了一个监控功能,它提供了一个基于事件的接口,用于异步监控密钥的更改。一旦你更改了一个密钥它的监控者就会收到通知。API 服务器组件严重依赖于此来获得通知,并将 etcd 变更至期望状态。
etcd 还实现了一个监控功能,它提供了一个基于事件的接口,用于异步监控键的更改。一旦你更改了一个键它的监控者就会收到通知。API 服务器组件严重依赖于此来获得通知,并将 etcd 变更至期望状态。
_为什么 etcd 实例的数量应该是奇数_
你通常会运行三个、五个或七个 etcd 实例实现高可用HA环境但这是为什么呢因为 etcd 是分布式数据存储,可以水平扩展它,但你需要确保每个实例中的数据是一致的。因此,需要为系统当前状态达成共识,Etcd 为此使用 [RAFT 共识算法][4]。
你通常会运行三个、五个或七个 etcd 实例实现高可用HA环境但这是为什么呢因为 etcd 是分布式数据存储,可以水平扩展它,但你需要确保每个实例中的数据是一致的。因此,需要为系统当前状态达成共识,etcd 为此使用 [RAFT 共识算法][4]。
RAFT 算法需要经过选举(或仲裁)集群才能进入下一个状态。如果你只有两个 etcd 实例并且他们其中一个失败的话,那么 etcd 集群无法转换到新的状态,因为不存在过半这个概念。如果你有三个 etcd 实例,一个实例可能会失败,但仍有 2 个实例可用于进行选举。
@ -41,9 +43,9 @@ API 服务器是 Kubernetes 中唯一直接与 etcd 交互的组件。Kubernetes
* 提供在 etcd 中存储对象的一致方式。
* 执行验证对象,防止客户端存储配置不正确的对象(如果它们直接写入 etcd 数据存储,可能会发生这种情况)。
* 提供 RESTful API 来创建、更新、修改或删除资源。
* 提供[乐观并发锁][5],在发生更新时,其他客户端永远不会有机会重写对象。
* 提供 [乐观并发锁][5],在发生更新时,其他客户端永远不会有机会重写对象。
* 对客户端发送的请求进行身份验证和授权。它使用插件提取客户端的用户名、ID、所属组并确定通过身份验证的用户是否可以对请求的资源执行请求的操作。
* 如果请求试图创建、修改或删除资源,则负责[权限控制][6]。例如AlwaysPullImages、DefaultStorageClass 和 ResourceQuota。
* 如果请求试图创建、修改或删除资源,则负责 [权限控制][6]。例如AlwaysPullImages、DefaultStorageClass 和 ResourceQuota。
* 实现了一种监控机制(类似于 etcd用户客户端监控更改。这允许调度器和控制器管理器等组件以松耦合的方式与 API 服务器交互。
#### 控制器管理器
@ -52,50 +54,41 @@ API 服务器是 Kubernetes 中唯一直接与 etcd 交互的组件。Kubernetes
控制器示例:
* 副本管理器(管理副本管理器 资源的控制器)
* 副本控制器、守护进程集 和 任务控制器
* 无状态负载控制器
* 副本管理器(管理<ruby>副本控制器<rt>ReplicationController</rt></ruby>资源的控制器)
* <ruby>副本集<rt>ReplicaSet</rt></ruby><rub>守护进程集<rt>DaemonSet</rt></ruby>任务控制器
* 部署控制器
* 有状态负载控制器
* 节点控制器
* 服务控制器
* 接入点控制器
* 命名空间控制器
* 持久卷控制器
* <ruby>持久卷<rt>PersistentVolume</rt></ruby>控制器
控制器通过监控机制来获得变更通知。它们监视 API 服务器对资源的变更,对每次更改执行操作,无论是新建对象还是更新或删除现有对象。大多数时候,这些操作包括创建其他资源或更新监控的资源本身。不过,由于使用监控并不能保证控制器不会错过任何事件,它们还会定期执行一系列操作,确保没有错过任何事件。
控制器管理器还执行生命周期功能。例如命名空间创建和生命周期、事件垃圾收集、终止吊舱垃圾收集、[级联删除垃圾收集][7]和节点垃圾收集。有关更多信息,参考[云控制器管理器][8]。
控制器管理器还执行生命周期功能。例如命名空间创建和生命周期、事件垃圾收集、已终止容器组垃圾收集、[级联删除垃圾收集][7] 和节点垃圾收集。有关更多信息,参考 [云控制器管理器][8]。
#### 调度器
调度器是一个将容器组分配给节点的控制平面进程。它会监视新创建没有分配节点的容器组。调度器会给每个发现的容器组分配运行它的最佳节点。
满足容器组调度要求的节点称为可调度节点。如果没有合适的节点,那么容器组会一直处于未调度状态,直到调度器可以置它。一旦找到可调度节点,它就会运行一组函数来对节点进行评分,并选择得分最高的节点,然后它会告诉 API 服务器所选节点的信息。这个过程称为绑定。
满足容器组调度要求的节点称为可调度节点。如果没有合适的节点,那么容器组会一直处于未调度状态,直到调度器可以置它。一旦找到可调度节点,它就会运行一组函数来对节点进行评分,并选择得分最高的节点,然后它会告诉 API 服务器所选节点的信息。这个过程称为绑定。
节点的选择分为两步:
1. 过滤所有节点的列表获得可以调度容器组的节点列表例如PodFitsResources 过滤器检查候选节点是否有足够的可用资源来满足容器组的特定资源请求)。
2. 对第一步得到的节点列表进行评分和排序,选择最佳节点。如果得分最高的有多个节点,循环过程可确保容器组会均匀地部署在所有节点上。
调度决策要考虑的因素包括:
* 容器组是否请求硬件/软件资源?节点是否报告内存或磁盘压力情况?
* 节点是否有与容器组规范中的节点选择器匹配的标签?
* 如果容器组请求绑定到特定地主机端口,该端口是否可用?
* 容器组是否容忍节点的污点?
* 容器组是否指定节点亲和性或反亲和性规则?
调度器不会指示所选节点运行容器组。调度器所做的就是通过 API 服务器更新容器组定义。然后 API 服务器通过监控机制通知 kubelet 容器组已被调度,然后目标节点上的 kubelet 服务看到容器组被调度到它的节点,它创建并运行容器组。
**[ 下一篇: [Kubernetes 如何创建和运行容器: 图解指南][9] ]**
### 工作节点组件
工作节点运行 kubelet 代理,这允许控制平面接纳它们来处理负载。与控制平面类似,工作节点使用几个不同的组件来实现这一点。 以下部分描述了工作节点组件。
@ -107,13 +100,9 @@ Kubelet 是一个运行在集群中每个节点上的代理,负责在工作节
kubelet服务的主要功能有
* 通过在 API 服务器中创建节点资源来注册它正在运行的节点。
* 持续监控 API 服务器上调度到节点的容器组 。
* 持续监控 API 服务器上调度到节点的容器组。
* 使用配置的容器运行时启动容器组的容器。
* 持续监控正在运行的容器,并将其状态、事件和资源消耗报告给 API 服务器。
* 运行容器存活探测,在探测失败时重启容器,当 API 服务器中删除容器组时终止(通知服务器容器组终止的消息)。
#### 服务代理
@ -122,46 +111,34 @@ kubelet服务的主要功能有
kube-proxy 之所以叫代理,是因为它最初实际上是一个代理服务器,用于接受连接并将它们代理到容器组。当前的实现是使用 iptables 规则将数据包重定向到随机选择的后端容器组,而无需通过实际的代理服务器。
它工作原理的高级视图:
关于它工作原理的高级视图:
* 当你创建一个服务时,会立即分配一个虚拟 IP 地址。
* API 服务器会通知在工作节点上运行的 kube-proxy 代理有一个新服务。
* 每个 kube-proxy 通过设置 iptables 规则使服务可寻址,确保截获每个服务 IP/端口对,并将目的地址修改为支持服务的一个容器组。
* 监控 API 服务器对服务或其端点对象的更改。
#### 容器运行时
容器运行时有两类:
* **较低级别的容器运行时:** 它们主要关注运行中的容器并为容器设置命名空间和 cgroup。
* **更高级别的容器运行时(容器引擎):**它们专注于格式、解包、管理、共享镜像以及为开发人员提供 API。
* **较低级别的容器运行时:** 它们主要关注运行中的容器并为容器设置命名空间和<ruby>控制组<rt>cgroup</rt></ruby>
* **更高级别的容器运行时(容器引擎):** 它们专注于格式、解包、管理、共享镜像以及为开发人员提供 API。
容器运行时负责:
* 如果容器镜像本地不存在,则从镜像仓库中提取。
* 将镜像解压到写时复制文件系统,所有容器层叠加创建一个合并的文件系统。
* 准备一个容器挂载点。
* 设置容器镜像的元数据,如覆盖命令、用户输入的入口命令,并设置 SECCOMP 规则,确保容器按预期运行。
* 通知内核将进程、网络和文件系统等隔离分配给容器。
* 通知内核分配一些资源限制,如 CPU 或内存限制。
* 将系统调用syscall传递给内核启动容器。
* 确保 SElinux/AppArmor 设置正确。
### 协同
系统级组件协同工作,确保 Kubernetes 集群的每个部分都能实现其目和执行其功能。当你深入编辑 [YAML 文件][10]时,有时很难理解请求是如何在集群中通信的。现在你已经了解了各个部分是如何组合在一起的,你可以更好地理解 Kubernetes 内部发生了什么,这有助于诊断问题、维护健康的集群并优化你的工作流。
系统级组件协同工作,确保 Kubernetes 集群的每个部分都能实现其目和执行其功能。当你深入编辑 [YAML 文件][10] 时,有时很难理解请求是如何在集群中通信的。现在你已经了解了各个部分是如何组合在一起的,你可以更好地理解 Kubernetes 内部发生了什么,这有助于诊断问题、维护健康的集群并优化你的工作流。
--------------------------------------------------------------------------------
@ -180,7 +157,7 @@ via: https://opensource.com/article/22/2/kubernetes-architecture
[2]: https://opensource.com/sites/default/files/uploads/kubernetes-architecture-diagram.png (Kubernetes architecture diagram)
[3]: https://creativecommons.org/licenses/by-sa/4.0/
[4]: https://www.geeksforgeeks.org/raft-consensus-algorithm/
[5]: https://stackoverflow.com/questions/52910322/kubernetes-resource-versioning#:~:text=Optimistic%20concurrency%20control%20(sometimes%20referred,updated%2C%20the%20version%20number%20increases.
[5]: https://stackoverflow.com/questions/52910322/kubernetes-resource-versioning#:~:text=Optimistic%20concurrency%20control%20\(sometimes%20referred,updated%2C%20the%20version%20number%20increases.
[6]: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
[7]: https://kubernetes.io/docs/concepts/architecture/garbage-collection/
[8]: https://kubernetes.io/docs/concepts/architecture/cloud-controller/

View File

@ -0,0 +1,195 @@
[#]: subject: "Top 10 Essential Ubuntu Apps For Everyone in 2022"
[#]: via: "https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: "Donkey-Hao"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14794-1.html"
10 大必备 Ubuntu 应用:基本篇
======
![](https://img.linux.net.cn/data/attachment/album/202207/05/132504xx09az5i4ip0pel5.jpg)
> 本文列出了 2022 年可以用于不同情况的 10 个 Ubuntu 基本应用。
不管你是偶尔使用的用户、学生、老师还是科学家、开发人员和创意工作者在工作上你需要各种各样的应用程序。Linux 生态系统有数以千计的应用程序,它们分散在各个角落,几乎可以满足各种需求。而包括 Ubuntu 在内的大多数主流 Linux 发行版,默认都只提供了基本的应用程序。
在这个五篇系列文章的第一篇中,我们列出了一些每个人都用的上的专门应用。
### 1、GNOME 优化工具
如果你在使用 Ubuntu GNOME 版,<ruby>GNOME 优化工具<rt>GNOME Tweak Tool</rt></ruby>是你必备的实用工具。使用这个工具来定制你的桌面,你可以改变字体、缩放比例、主题、光标和许多其他选项。默认的设置窗口现在没有列出所有这些选项。
此外,你也能用该应用改变窗口装饰、标题栏、标题栏按钮以及开机启动项。
你可以使用应用商店搜索 “Tweaks” 来安装它,或者通过下列终端的命令来安装:
```
sudo apt install gnome-tweaks
```
![GNOME Tweaks Tool][2]
### 2、Steam
由于 Valve 公司和相关社区的贡献,在 Linux 上玩游戏不再困难。[Steam][3] 是 Valve 公司开发的电子游戏服务的前端平台,你可以通过 Steam 在 Ubuntu 上获取最新的游戏版本。此外Steam 客户端提供反外挂监测、自动更新,和支持带有流媒体功能的社交对话。
如果你是一个 Linux 游戏玩家Steam 是常用的客户端,你可以用下面的命令来安装。此外,你可以在应用商店中搜索 “Steam Installer” 并使用 [Flatpak][4] 或 [Snap][5] 进行安装。
```
sudo apt install steam
```
![Steam Client][6]
### 3、Peek
在我看来,[Peek][7] 是一款被低估的应用。它是一个 GIF 动画录像机,对各种工作场景都非常有用。这是一款非常强大的应用程序,它适合在 Ubuntu 或任何 Linux 发行版中使用。此外Peek 带有诸如录制区域选择、倒计时、GIF/MP4/WebM 支持等选项。它的后端使用的是 ffmpeg 。
在应用商店中搜索 “peek” 或者在命令行输入以下命令来安装这款优秀的应用。
```
sudo apt install peek
```
![Peek][8]
### 4、新立得
<ruby>[新立得][9]<rt>Synaptic</rt></ruby> 是一款杰出的软件包管理器,可以帮助你以传统方式添加和移除软件包。有经验的 Linux 用户知道它的特性以及灵活性。你可以在各种库中搜索软件包、验证依赖性并进行安装。
如果你经常安装和卸载软件包,这是一个完美的应用程序。你可以通过以下命令或在应用商店中搜索 “synaptic” 来安装它。
```
sudo apt install synaptic
```
![Synaptic Package Manager][10]
### 5、GDebi
正如上面提到的新立得,你也可以试试 [GDebi][11] 软件包安装程序它带有几种功能。GDebi 软件包安装程序是用于安装外部 deb 文件的命令行实用程序。此外GDebi 安装 .deb 包速度更快、效率更高,可以快速解决依赖关系并为你下载它们。
它是 Ubuntu 上安装 .deb 包最好的终端程序之一,你可以用以下命令安装它。安装后,你可以运行 `gdebi <你的 .deb 软件包路径>` 来安装任何软件包。
```
sudo apt install gdebi
```
### 6、Geary
不管从事什么工作,你需要一个 Ubuntu 桌面的本地 [邮箱客户端][12]。电子邮件对很多人来说仍然是有意义和有价值的。尽管 Ubuntu 默认带有最好的 Thunderbird 电子邮件客户端,但你也可以试试其它的电子邮件客户端应用,或许可以给你带来更好体验。
[Geary][13] 拥有友好而简洁的用户界面,能够让你更简单的设置多个邮件账号。此外, Geary 也带来了会话功能、更快的搜索、撰写富文本电子邮件以及其他功能,这使它成为 Linux 桌面的“首选”电子邮件客户端。
你可以使用如下命令或者在应用商店中搜索 “Geary” 来安装 Geary 。也可以通过 [Flatpak][14] 获得。
```
sudo apt install geary
```
![Geary][15]
### 7. 谷歌 Chrome 浏览器
虽然很多人担心隐私以及跟踪,但谷歌 Chrome 仍然是浏览器市场的领头者。Ubuntu 默认提供了 Firefox 浏览器,但随着近期火狐的 Snap 事件,你可能想换到其它浏览器。
如果你与谷歌生态系统密切相关,并希望在流媒体和浏览方面获得更好的网络体验,你可能会考虑使用谷歌 Chrome。但是如果你担心隐私和跟踪你可以选择其他一些浏览器例如 Brave 或 Vivaldi。
你可以从下面链接中下载 .deb 包来安装谷歌 Chrome 安装器。安装后,你可以打开应用商店来安装它。
> **[下载谷歌 Chrome][16]**
### 8、Kdenlive
[Kdenlive][17] 是 Linux 上最好的自由开源的视频编辑器之一。 Kdenlive 设计良好的用户界面易于使用,并且带来了各种功能。使用 Kdenlive你可以简单的导入视频片段更改画布分辨率并在编辑后导出为多种格式。时间线和工具让只需你单击一个按钮即可剪切和添加标题、转场和效果。此外如果你是视频编辑新手学习起来也非常容易。
Kdenlive 是一个非常活跃的项目,每个主要版本都会带有更多先进的功能。这是 2022 年必不可少的 Ubuntu 应用程序之一,如果你想与其它 [免费视频编辑器][18] 进行比较,你可以看看此列表。
使用以下命令安装 Kdenlive 很简单。除此,你可以用 [Flatpak][19] 或 [Snap][20] 版本来安装。
```
sudo apt install kdenlive
```
![Kdenlive Video Editor][21]
### 9. Spectacle
你可能尝试过很多截屏应用。但在我看来,[Spectacle][22] 或许是最好的、也是被低估了的一款应用。Spectacle 是一款 KDE 应用程序速度超快非常适合需要截屏并使用的任何工作需求。你可以在自定义的延时后截取整个桌面、部分桌面或窗口。如果需要窗口截屏还可以选择截取窗口装饰和光标。Spectacle 还为你提供了一个内置的注释功能,可以涂鸦、书写和标记你的图像。
此外,你还可以直接从其主窗口在 GIMP 或任何图像编辑器中打开图像,并将其导出。此外,自动保存、将截屏复制到剪贴板以及共享到社交媒体是 Spectacle 的一些独特功能。
在我看来,它是一个带有内置屏幕录像机的完整截图工具。
你可以用以下命令或者从 [Snap][23] 中安装 Spectacle。
```
sudo apt install kde-spectacle
```
![Spectacle Screenshot tool][24]
### 10. VLC 媒体播放器
Ubuntu Linux 的 GNOME 版默认带有可以播放视频文件的 GNOME 视频应用程序。但由于缺乏解码功能GNOME 视频无法播放多种视频格式。这就是为什么你应该考虑一下 [VLC 媒体播放器][25] —— 它是 Linux 桌面上的“首选”媒体播放器。
VLC 确实可以播放任何格式。它甚至可以帮助你播放数据不完整的损坏视频文件。它是强大的媒体播放器之一,你可以使用下面的命令来安装。
此外,如果你偏向于另一种安装方式,你可以通过 [Flatpak][26] 或者 [Snap][27] 安装。
```
sudo apt install vlc
```
![VLC Media Player][28]
### 结语
2022 年必备的 Ubuntu 应用程序系列的第 1 部分到此结束。通过以上信息,我希望你可以选择一些应用供你的日常使用。在下面的评论框中告诉我你更喜欢此列表中的哪些应用程序。
最后,请继续关注本 Ubuntu 应用程序系列的第 2 部分。
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[Donkey](https://github.com/Donkey-Hao)
校对:[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://gitlab.gnome.org/GNOME/gnome-tweaks
[2]: https://www.debugpoint.com/wp-content/uploads/2022/05/GNOME-Tweaks-Tool.jpg
[3]: https://store.steampowered.com/
[4]: https://flathub.org/apps/details/com.valvesoftware.Steam
[5]: https://snapcraft.io/steam
[6]: https://www.debugpoint.com/wp-content/uploads/2022/05/Steam-Client.jpg
[7]: https://github.com/phw/peek
[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/Peek-in-action2.jpg
[9]: https://www.nongnu.org/synaptic/
[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/Synaptic-Package-Manager.jpg
[11]: https://launchpad.net/gdebi
[12]: https://www.debugpoint.com/2019/06/best-email-client-linux-windows/
[13]: https://wiki.gnome.org/Apps/Geary
[14]: https://flathub.org/apps/details/org.gnome.Geary
[15]: https://www.debugpoint.com/wp-content/uploads/2019/06/Geary.png
[16]: https://www.google.com/chrome
[17]: https://kdenlive.org/
[18]: https://www.debugpoint.com/2019/09/best-free-video-editors-linux-ubuntu/
[19]: https://flathub.org/apps/details/org.kde.kdenlive
[20]: https://snapcraft.io/kdenlive
[21]: https://www.debugpoint.com/wp-content/uploads/2021/01/Kdenlive-Video-Editor.jpg
[22]: https://apps.kde.org/spectacle/
[23]: https://snapcraft.io/spectacle
[24]: https://www.debugpoint.com/wp-content/uploads/2022/05/Spectacle-Screenshot-tool.jpg
[25]: https://www.videolan.org/vlc
[26]: https://flathub.org/apps/details/org.videolan.VLC
[27]: https://snapcraft.io/vlc
[28]: https://www.debugpoint.com/wp-content/uploads/2022/05/VLC-Media-Player.jpg

View File

@ -3,24 +3,26 @@
[#]: author: "Community https://itsfoss.com/author/itsfoss/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14788-1.html"
使用 VLC 下载 YouTube 视频(因为,为什么不呢?)
使用 VLC 下载 YouTube 视频
======
![](https://img.linux.net.cn/data/attachment/album/202207/03/100812twzmm942m4o7lmzq.jpg)
[VLC][1] 是 [Linux 和其他平台上最受欢迎的视频播放器][2]之一。
它不仅仅是一个视频播放器。它提供了许多多媒体和网络相关的功能。你会惊讶地[了解 VLC 的能力][3]。
它不仅仅是一个视频播放器。它提供了许多多媒体和网络相关的功能。你会惊讶地 [了解 VLC 的能力][3]。
我将演示一个简单的 VLC 功能,即使用它下载 YouTube 视频。
是的。你可以在 VLC 中播放 YouTube 视频并下载它们。让我告诉你怎么做。
是的。你可以在 VLC 中播放 YouTube 视频并下载它们。让我告诉你怎么做。LCTT 校注:发布此文只探讨技术可行性。)
### 使用 VLC 媒体播放器下载 YouTube 视频
现在,有一些方法可以[下载 YouTube 视频][4]。使用浏览器扩展或使用专门的网站或工具。
现在,有一些方法可以 [下载 YouTube 视频][4]。使用浏览器扩展或使用专门的网站或工具。
但是如果你不想使用任何额外的东西,已经安装的 VLC 播放器可以用于此目的。
@ -34,7 +36,7 @@
#### 步骤 2将复制的链接粘贴到网络流
网络流选项位于媒体下,这是我们顶部菜单栏的第一个选项。只需单击媒体,你将获得“打开网络流”选项。你也可以使用快捷方式打开网络流 CTRL + N。
<ruby>网络流<rt>Network Stream</rt></ruby>选项位于<ruby>媒体<rt>Media</rt></ruby>”菜单下,这是我们顶部菜单栏的第一个选项。你也可以使用快捷方式 `CTRL + N` 打开网络流
![click on media and select network stream][6]
@ -44,23 +46,23 @@
#### 步骤 3从编解码器信息中获取位置链接
编解码器信息提示下,我们会得到当前播放视频的位置链接。要打开编解码器信息提示,你可以使用快捷键 CTRL + J 或者你会在“工具”下找到编解码器信息选项。
<ruby>编解码器信息<rt>Codec Information</rt></ruby>下,我们会得到当前播放视频的位置链接。要打开编解码器信息,你可以使用快捷键 `CTRL + J` 或者你会在“<ruby>工具<rt>Tools</rt></ruby>菜单下找到编解码器信息选项。
![click on tools and then codec information][8]
它将带来有关当前流媒体视频的详细信息。但我们需要的是“位置”。你只需复制位置链接,我们的任务就完成了 90%。
它将带来有关当前流媒体视频的详细信息。但我们需要的是“<ruby>位置<rt>Location</rt></ruby>”。你只需复制位置链接,我们的任务就完成了 90%。
![copy location link][9]
#### 步骤 4将位置链接粘贴到新选项卡
打开任何你喜欢的浏览器并将复制的位置链接粘贴到新选项卡,它将开始在浏览器中播放确切的视频。
打开任何你喜欢的浏览器并将复制的位置链接粘贴到新选项卡,它将开始在浏览器中播放视频。
现在,右键单击播放视频,你将看到“将视频另存为”的选项。
![click on save][10]
它将打开文件管理器并询问你是否要在本地保存此视频。你还可以重命名该文件,默认情况下它将被命名为 “videoplayback.mp4”
它将打开文件管理器并询问你是否要在本地保存此视频。你还可以重命名该文件,默认情况下它将被命名为 “videoplayback.mp4”
![showing file in folder][11]
@ -77,7 +79,7 @@ via: https://itsfoss.com/download-youtube-videos-vlc/
作者:[Community][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/) 荣誉推出

View File

@ -3,23 +3,26 @@
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14795-1.html"
Kuro非官方的微软 To-Do Linux 桌面客户端
======
微软说他们热爱 Linux 和开源,但我们仍然没有对其在 Linux 上的许多产品提供原生支持。
虽然他们可能在努力增加更多的支持,比如[在 Linux 上安装 Microsoft Edge][1],但对于一个价值几万亿美元的公司来说,这并不出色。
![](https://img.linux.net.cn/data/attachment/album/202207/05/151405wsp6k55rrzdkk6dl.jpg)
> 微软说他们热爱 Linux 和开源,但我们仍然没有得到对其许多产品的 Linux 原生支持。
虽然他们可能在努力增加更多的支持,比如 [可以在 Linux 上安装微软 Edge 浏览器][1],但对于一个价值几万亿美元的公司来说,这并不出色。
同样,微软的 To-Do 服务也是一个受欢迎的服务,它取代了 2020 年关闭的 Wunderlist。
如果你感到好奇,我们有很多[可用于 Linux 的待办事项列表应用][2]。因此,如果你想脱离微软 To-Do你有选择。
如果你不知道的话,我们有很多 [可用于 Linux 的待办事项列表应用][2]。因此,如果你想脱离微软 To-Do你有选择。
微软 To-Do 是一个基于云的任务管理应用,让你从手机、桌面和网络组织你的任务。它可以在 Windows、Mac 和 Android 上下载。
那么,如果你宁愿不使用网络浏览器而使用一个单独的应用,你在 Linux 上能做什么呢?
那么,如果你不愿意使用网页浏览器而使用一个单独的应用,你在 Linux 上能做什么呢?
Kuro 派上用场了。
@ -29,11 +32,11 @@ Kuro 派上用场了。
Kuro 是一个非官方的开源应用,它为你提供了微软 To-Do 在 Linux 上的桌面体验和一些额外的功能。
它是 Ao 的一个分叉Ao 是一个开源项目,逐渐成为它的解决方案。 不幸的是,它不再被积极维护。 所以,我遇到了一个似乎可以完成工作的新分叉
它是 Ao 的一个分叉Ao 是一个开源项目,逐渐成为它的解决方案。不幸的是,它不再积极维护了。所以,我遇到了一个似乎可以工作的新复刻
![kuro todo options][4]
Kuro 提供了一些额外的功能,让你在应用中切换主题,启用全局快捷方式等。
Kuro 提供了一些额外的功能,可以让你在应用中切换主题,启用全局快捷方式等。
请注意,这个应用是相当新的,但有一个稳定版本可以试用。此外,开发者计划在不久的将来增加更多的主题和功能。
@ -41,9 +44,9 @@ Kuro 提供了一些额外的功能,让你在应用中切换主题,启用全
![kuro todo 1][5]
如果你倾向于使用微软的服务(如 Outlook它的 To-Do 应用应该是组织你的任务的一个完美选择。你甚至可以标记电子邮件以创建任务出来
如果你倾向于使用微软的服务(如 Outlook它的 To-Do 应用应该是组织你的任务的一个完美选择。你甚至可以标记电子邮件以创建任务。
使用 Kuro 桌面客户端,你可以得到一些快速配置的功能,包括:
使用 Kuro 桌面客户端,你可以得到一些配置的功能,包括:
* 能够在启动时启动该程序。
* 获得一个系统托盘图标,以快速创建一个任务,搜索,或检查当天的可用列表。
@ -55,21 +58,21 @@ Kuro 提供了一些额外的功能,让你在应用中切换主题,启用全
![kuro todo settings][6]
除了一些功能外,你还可以进入某些设置,启用/禁用电子邮件通知,删除前确认,以及更多这样的待办事项应用体验的控制。
除了一些功能外,你还可以进入某些设置来启用/禁用电子邮件通知、删除前确认等,对待办事项应用体验的进行更多的控制。
总的来说,体验并不可怕,但我注意到几分钟内用户界面上有一些奇怪的图形问题。我不确定这是否是一个已知的问题。
总的来说,体验并不糟糕,但我在几分钟内注意到用户界面上有一些奇怪的图形问题。我不确定这是否是一个已知的问题。
### 在 Linux 中安装 Kuro
你可以从它的 [GitHub 发布页面][7]找到基于 Ubuntu 的发行版的 .deb 包。
你可以从它的 [GitHub 发布页面][7] 找到基于 Ubuntu 的发行版的 .deb 包。
无论哪种情况,你都可以从 [Snap 商店][8] 中为你选择的任何 Linux 发行版获取它。 该软件包也可在 Arch Linux 发行版的 [AUR][9] 中获取。
此外,你可以从 [Snap 商店][8] 中在你选择的任何 Linux 发行版上安装它。该软件包也可在 Arch Linux 发行版的 [AUR][9] 中获取。
开发者还提到,一个 Flatpak 软件包正在进行中。所以,你可以关注它的 [GitHub 页面][10]以了解更多相关信息。
开发者还提到,正在开发一个 Flatpak 软件包。所以,你可以关注它的 [GitHub 页面][10]以了解更多相关信息。
[Kuro][11]
> **[Kuro][11]**
你已经试过这个了吗?你知道有什么更好的微软待办事项客户端用于 Linux 吗?请在下面的评论中告诉我。
你已经试过它了吗?你知道有什么更好的微软 To-Do 客户端用于 Linux 吗?请在下面的评论中告诉我。
--------------------------------------------------------------------------------
@ -78,7 +81,7 @@ via: https://itsfoss.com/kuro-to-do-app/
作者:[Ankush Das][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/) 荣誉推出

View File

@ -0,0 +1,112 @@
[#]: subject: "Finding Your Routers IP Address (Default Gateway) in Ubuntu and Other Linux"
[#]: via: "https://itsfoss.com/router-ip-address-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14799-1.html"
在 Linux 中找到你的路由器的 IP 地址(默认网关)
======
![](https://img.linux.net.cn/data/attachment/album/202207/06/155222cgjpa9ppa19zr2g1.jpg)
你可能已经知道如何在 Linux 中获得你的系统的 IP 地址。
但是你怎么知道你的路由器的 IP 地址呢?
我说的不是你可以通过连接到 “[Show My IP][1]” 这样的网站或简单地在 [DuckDuckGo][3] 中 [搜索“what is my ip”][2] 获得的公网 IP。
我说的是默认网关 IP你的 Linux 桌面所连接的地址。
你为什么需要它?嗯,如果你需要改变你的 Wi-Fi/网络的 SSID、密码或其他配置你必须连接到它。简单的方法是在网页浏览器中输入路由器的 IP 地址,然后使用路由器的用户名和密码。
虽然我不能帮助你获得路由器的用户名和密码,但我肯定可以告诉你如何获得它的 IP。
一如既往,我将展示 GUI 和命令行两种方法。
### 方法 1在 Linux 中使用 GUI 获取路由器的 IP 地址
这其实很简单。我在这里使用的是 Ubuntu 的 GNOME 桌面。如果你使用一些 [其他桌面环境][4],截图可能会有所不同。
打开“<ruby>系统设置<rt>System Settings</rt></ruby>”:
![go to settings][5]
现在进入 Wi-Fi 或“<ruby>网络<rt>Network</rt></ruby>”(如果你使用的是有线的以太网连接)。在这里,点击你当前使用的网络旁边的小设置符号。
![access network settings ubuntu][6]
它将打开一个新窗口,里面有关于你的连接的一些细节,如 IP 地址、DNS 和 [Mac 地址][7]。你还可以在“<ruby>安全<rt>security</rt></ruby>”标签下看到 [保存的 Wi-Fi 密码][8]。
你还会看到一个名为“<ruby>默认路由<rt>Default Route</rt></ruby>”的条目。这就是你要找的东西。你的路由器的 IP 地址。
![default gateway ip ubuntu][9]
你的系统和网络上的所有其他设备都使用这个 IP 地址连接到路由器。这就是大多数家庭的设置。
现在我已经展示了 GUI 的方法,让我们去看看终端的路线。
### 方法 2在 Linux 命令行中获取路由器的 IP 地址
打开一个终端,使用以下命令:
```
ip route
```
它将显示几个条目。
```
~$ ip route
default via 192.168.1.1 dev wlp0s20f3 proto dhcp metric 600
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000
192.168.1.0/24 dev wlp0s20f3 proto kernel scope link src 192.168.1.34 metric 600
```
第一行,以 `default via` 开头,给出了你网关的 IP。这是你的路由器的 IP 地址。
![default route linux terminal][10]
你可以看到,`192.168.1.1` 是我的路由器的 IP 地址。通常情况下,路由器的 IP 地址是子网的第一个数字。然而,这并不是一个硬性规定。我也见过有 `x.y.z.30` 地址的路由器。
### 额外技巧
正如 Samir 在评论中所分享的,你也可以(在 Debian 上)使用 `ping` 命令来获得网关 IP
```
ping _gateway
```
![ping gateway][11]
以防你不知道,你必须 [在 Linux 中使用 Ctrl+C 来停止一个正在运行的命令][12]。
我希望你在需要的时候能发现这个技巧是有用的。
--------------------------------------------------------------------------------
via: https://itsfoss.com/router-ip-address-linux/
作者:[Abhishek Prakash][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lkxed
[1]: https://www.showmyip.com/
[2]: https://duckduckgo.com/?q=what+is+my+ip&t=h_&ia=answer
[3]: https://itsfoss.com/duckduckgo-easter-eggs/
[4]: https://itsfoss.com/best-linux-desktop-environments/
[5]: https://itsfoss.com/wp-content/uploads/2022/02/go_to_settings.jpg
[6]: https://itsfoss.com/wp-content/uploads/2022/06/access-network-settings-ubuntu-800x448.png
[7]: https://itsfoss.com/change-mac-address-linux/
[8]: https://itsfoss.com/how-to-find-saved-wireless-wifi-passwords-ubuntu/
[9]: https://itsfoss.com/wp-content/uploads/2022/06/defaul-gateway-ip-ubuntu.png
[10]: https://itsfoss.com/wp-content/uploads/2022/06/defaul-route-linux-terminal.png
[11]: https://itsfoss.com/wp-content/uploads/2022/06/ping-gateway.png
[12]: https://itsfoss.com/stop-program-linux-terminal/

View File

@ -0,0 +1,109 @@
[#]: subject: "6 New Changes Coming to Nautilus File Manager in GNOME 43"
[#]: via: "https://news.itsfoss.com/gnome-files-43/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "wxy"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14791-1.html"
GNOME 43 中 Nautilus 文件管理器的 6 个新变化
======
> GNOME 文件即将到来的变化改善了用户体验,让我们来看看其中的一些变化。
![gnome files][1]
我们离 GNOME 43 的发布还有几个月的时间,但是 GNOME 应用程序的开发活动正在如火如荼地进行。
例如,[GNOME Web 43 alpha 版本支持了扩展][2]。
同样GNOME 文件管理器Nautilus也有一些令人兴奋的变化特别是对于列表视图。
列表视图使用 [GtkColumnView][3] 部件重新实现,丢弃了 GtkTreeView以便能够添加新功能。
一些完善了代码的变化包括:
### 1、拖动并选择文件
就像你在网格视图中通常所做的那样,你终于可以通过简单地拖动你的鼠标在列表视图中选择多个项目,来选择你想要的项目。
![gnome files][4]
如果你没有注意到,每行之间也有一点间隔。虽然选择的动画还不是最流畅的,但它是一个正在进行的工作。
我试着用 peek 录制 GIF在带有 Wayland 的 Fedora 上),但由于某些原因,它没有反应,可能与 alpha 版本有一些冲突。
### 2、鼠标悬停时高亮行
当你把鼠标悬停在上面的时候,没有行高亮是很不直观的。
现在,它做到了。只要把你的光标放在列表视图中的任何一个项目上,它就会被突出显示,如上图所示。
### 3、搜索一个文件时列不会消失
![之前][5]
![之后][6]
当你用当前的 Nautilus 文件管理器搜索一个文件时,列的处理方式不是很好。你会失去某些细节信息,如文件大小。
在新的变化中,你仍然可以看到文件的大小、修改日期,以及给文件加星的能力。
通过这一改变,用户体验肯定会更好。
### 4、更好的紧凑视图
当你缩小文件管理器窗口的大小时,也处理的不是很好。你看不到文件扩展名的细节,而且列对变化没有反应。
![][7]
在 GNOME 文件管理器 43 alpha 版本中,即使你缩小了窗口的大小以获得一个紧凑的视图,你仍然可以看到列,以及如上所示的文件扩展名。
### 5、新的文件上下文菜单
![][8]
作为对 2022 年 GSoC谷歌编程之夏的贡献的一部分一位开发者正专注于改善新文档功能的可发现性。
当你将某些文件添加到<ruby>模板<rt>Templates</rt></ruby>目录中时,你可以在执行右键单击时在上下文菜单中找到这个 “<ruby>新文档<rt>New Document</rt></ruby>” 选项。
在即将到来的更新中,这个选项将是开箱即用。即,更加易于使用。
另外,开发人员正在想办法改进添加模板的过程。你可以这篇在 [博文][9] 中更多了解他们的工作。
### 6、当你给一个文件加星时的动画
![][10]
当你点击列表项右侧的星形图标时,你可以发现它在移动,让你知道你与该选项进行了互动。
### 总结
当然我所提到的一切都处于开发阶段alpha 版本)。在我们等待 beta 版本的时候,我们应该能清楚地了解到文件管理器的更多功能,以及事情是如何改进的。
你对 GNOME 43 有什么期待?请在下面的评论中告诉我们。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/gnome-files-43/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/changes-in-nautilus-in-gnome-43.jpg
[2]: https://news.itsfoss.com/gnome-web-extensions-dev/
[3]: https://gitlab.gnome.org/GNOME/nautilus/-/commit/6708861ed174e2b2423df0500df9987cdaf2adc0
[4]: https://news.itsfoss.com/wp-content/uploads/2022/06/nautilus-drag-select-alpha.jpg
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/file-search-before.jpg
[6]: https://news.itsfoss.com/wp-content/uploads/2022/06/file-search-after.jpg
[7]: https://news.itsfoss.com/wp-content/uploads/2022/06/compact-view-files-1024x482.jpg
[8]: https://news.itsfoss.com/wp-content/uploads/2022/06/new-document-file-manager.jpg
[9]: https://ignapk.blogspot.com/2022/06/gsoc-2022-first-update-planning.html
[10]: https://news.itsfoss.com/wp-content/uploads/2022/06/animation0file.webm

View File

@ -0,0 +1,89 @@
[#]: subject: "With Extensions, GNOME Web is Slowly Becoming an Attractive Option on Desktop Linux"
[#]: via: "https://news.itsfoss.com/gnome-web-extensions-dev/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "lkxed"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14797-1.html"
有了扩展GNOME Web 正逐渐成为 Linux 桌面上一个有吸引力的选择
======
> GNOME Web 正在打磨成一个完美的 Linux 浏览器。你认同吗?
![Gnome Web 浏览器][1]
GNOME WebEpiphany是 [可供 Linux 用户使用的最佳浏览器][2] 之一。
它提供了简约且独特的用户体验。
不幸的是,这种独特性并没有激励用户把它作为主力网页浏览器。
但是,看起来这种情况很快就会改变……
根据其中一位开发者Patrick网名 TingPing透露GNOME Web 终于添加了对 WebExtensions 的支持。
它将会是 GNOME 43 新功能的一部分。
### 带有 WebExtensions 的 GNOME Web
![][3]
一个浏览器,外观简约,还支持扩展,夫复何求啊!
我不知道你怎么想,但我对于 GNOME Web 不支持扩展这件事,一直耿耿于怀。
所以,这个消息真的让我很兴奋!
目前,这只是对 **Epiphany 43.alpha** 版本的实验性支持。因此,你只能使用 GNOME Web 的 beta/alpha 构建来测试它。
开发者提到:
> Epiphany 43.alpha 支持上述的基本结构。我们目前正在根据 Firefox 的 ManifestV2 API 来建模行为,同时也尽可能与 Chrome 扩展程序保持兼容。未来,我们计划在保留 V2 的同时,支持 ManifestV3。
你必须在终端中显式启用扩展支持,然后下载、添加扩展的 **.xpi** 文件,以安装浏览器扩展。
你需要访问 [Mozilla 的 Firefox 附加组件门户网站][4] 来获得扩展程序。
![][5]
你可以安装 EpiphanyGNOME Web的最新开发版本并使用以下命令启用扩展
```
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
flatpak install gnome-nightly org.gnome.Epiphany.Devel
flatpak run --command=gsettings org.gnome.Epiphany.Devel set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ enable-webextensions true
```
请注意,它仍在活跃开发中,可能无法按预期工作。在第一次尝试时,你可能需要密切关注终端是否有错误,如果有的话,要先解决它才行。
如果你想了解更多技术细节,你可以阅读 [TingPing 的博文][6]。
### 你的下一个主力浏览器?
与 Linux 上的基于 Firefox 和 Chrome/Chromium 的浏览器相比GNOME Web 是一个的完全独特的替代品。LCTT 译注GNOME Web 基于 WebKit 引擎。)
那么,随着即将推出的扩展支持,你愿意尝试将 GNOME Web 作为你的主力浏览器吗?
*你如何看待 GNOME Web或 Epiphany中的改进呢请在下方评论区中告诉我们吧*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/gnome-web-extensions-dev/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[lkxed](https://github.com/lkxed)
校对:[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/wp-content/uploads/2022/06/gnome-web-adds-extensions-support.jpg
[2]: https://itsfoss.com/best-browsers-ubuntu-linux/
[3]: https://news.itsfoss.com/wp-content/uploads/2022/06/gnome-web-extensions.png
[4]: https://addons.mozilla.org/en-US/firefox/extensions/
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/gnome-web-extensions-1.png
[6]: https://blog.tingping.se/2022/06/29/WebExtensions-Epiphany.html

View File

@ -0,0 +1,69 @@
[#]: subject: "StarFighter: A Linux Laptop with a 4K 10-bit IPS Display is Coming Soon"
[#]: via: "https://news.itsfoss.com/starfighter-laptop-reveal/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "wxy"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14798-1.html"
星际战机:配备 4K 10 位 IPS 显示屏的 Linux 笔记本电脑即将问世
======
> “星际战机”是星空实验室即将推出的一款 Linux 笔记本电脑。他们正在最后确定生产细节,同时透露了一些关键的亮点。
![starfighter][1]
我们已经有许多来自星空实验室、TUXEDO 等制造商的 Linux 专用笔记本电脑。
然而,其中只有少数几家专注于提供一个超棒的显示屏。
例如,[TUXEDO 的 Infinitybook Pro 14][2] 带有 3K 显示屏,而且,该笔记本电脑确实不错。
现在,看起来 [星空实验室][3] 将为其即将推出的 “星际战机” 笔记本电脑配备 15.6 英寸 4K 显示屏。他们在 [推特][4] 上分享了初步信息,提到他们正在敲定生产细节。
### 关于星际战机我们目前所知道的情况
这款笔记本电脑将采用 45W 供电的英特尔 / AMD 处理器,它将有英特尔 / AMD 两种变体可用。
你还将可以选择高达 64GB 的内存和 2TB 的存储。可以说,对于那些想为自己的 Linux 笔记本电脑提高规格的用户来说,这应该是一个强大的机器。
当然,它的关键亮点是显示屏。它将采用 4K 10 位哑光 IPS 显示屏。
该公司提到,该显示屏的成本要高于其 StarLite 笔记本电脑。
但是,这会是一个有吸引力的产品吗?许多采用高分辨率显示屏或 OLED 面板的笔记本电脑在电池时长方面表现不佳。不仅仅是 Linux 笔记本电脑。
那么,“星际战机”会成为该领域的一个有竞争力的竞争者吗?
星空实验室在一条推文中提到,他们估计电池时长约为 8-14 小时,这取决于配置。当然,这也取决于你的使用情况。
该公司还澄清说,这款笔记本电脑可以使用 Coreboot但它不会是一个完全采用自由软件的项目。其他一些值得注意的地方还有
* 该笔记本电脑将具有 [LVFS][5] 支持。
* 英特尔型号将提供第 4 代固态硬盘。AMD 型号将只限于第 3 代固态硬盘。
如图片所示,它可能安装了 elementaryOS 6.1。然而,你也可以预期它提供 Ubuntu 22.04 LTS。
那么,你对星空实验室的这架“星际战机”有何看法?当它上市时,这将是你的下一台笔记本电脑吗?
在下面的评论区分享你的想法。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/starfighter-laptop-reveal/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/wp-content/uploads/2022/07/starfighter-linux-powered-laptop.jpg
[2]: https://news.itsfoss.com/infinitybook-pro-14-3k/
[3]: http://starlabs.systems
[4]: https://twitter.com/starlabsltd/status/1542908391793692672
[5]: https://fwupd.org/

View File

@ -1,108 +0,0 @@
[#]: subject: "6 New Changes Coming to Nautilus File Manager in GNOME 43"
[#]: via: "https://news.itsfoss.com/gnome-files-43/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
6 New Changes Coming to Nautilus File Manager in GNOME 43
======
GNOME Files is improving the user experience with the upcoming changes, lets take a look at some of them.
![gnome files][1]
We have a few months to go before the GNOME 43 release, but the development activity for GNOME applications is in full swing.
For instance, the [support for extensions in GNOME Web][2] 43 alpha version.
Similarly, there are a few exciting changes coming to GNOME Files (Nautilus), especially for the list view.
The list view was re-implemented using the [GtkColumnView][3] widget dropping GtkTreeView to be able to add new features.
Some of the changes that influence the code refinement include:
### 1. Drag and Select Files
Just like you would normally do in the grid view, you can finally select multiple items by simply dragging your mouse and selecting the ones you want in the list view.
![gnome files][4]
In case you did not notice, there is also a little bit of spacing between each row. The animation for selection is not the smoothest yet, but it is a work in progress.
Tried to record GIF with peek (Fedora with Wayland), but for some reason it was unresponsive, probably some conflicts with the alpha build.
### 2. Highlight Row on Mouse Hover
It was incredibly unintuitive to not have a row highlight when you hover your mouse over.
Now, it does. Just place your cursor on any of the items in the list view, and it should be highlighted, as shown in the image above.
### 3. Columns Do Not Go Away When You Search for a file
![][5]
![][6]
When you search for a file with the current Nautilus file manager, the columns are not handled in the best way possible. You get to lose certain details such as the file size.
With the new change, you still get to see the file size, the modified date, and the ability to star a file.
Definitely towards a better user experience with this change.
### 4. Better Compact View
When you scale down the size of the window with the file manager, it does not handle it well. You lose the file extension details, and the columns arent responsive to the change.
![][7]
With the 43.alpha build for GNOME Files, even if you scale down the window size for a compact view, you still get to see the columns, and the extension for the files as shown above.
### 5. New Document Context Menu
![][8]
As part of a contribution to the GSoC (Google Summer of Code) 2022, a developer is focusing on improving the discoverability of the new document feature.
When you add certain files to the Templates directory, you can find the “**New Document**” option in the context menu when you perform a right-click.
With the upcoming update, this option will be available out of the box. So, it is more accessible.
Also, the developers are figuring out a way to improve the process of adding templates. You can explore more of their work in the [blog post][9].
### 6. Animation when you star a file
![][10]
When you click on the star icon on the right side of the list item, you can find it moving to let you know that you interacted with the option.
### Wrapping Up
Of course, everything that I mention is in its development stage (alpha builds). As we wait for the beta builds, we should get clarity on more features coming to the file manager, and how things improve from there.
What are you looking forward to in GNOME 43? Let us know in the comments below.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/gnome-files-43/
作者:[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/wp-content/uploads/2022/06/changes-in-nautilus-in-gnome-43.jpg
[2]: https://news.itsfoss.com/gnome-web-extensions-dev/
[3]: https://gitlab.gnome.org/GNOME/nautilus/-/commit/6708861ed174e2b2423df0500df9987cdaf2adc0
[4]: https://news.itsfoss.com/wp-content/uploads/2022/06/nautilus-drag-select-alpha.jpg
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/file-search-before.jpg
[6]: https://news.itsfoss.com/wp-content/uploads/2022/06/file-search-after.jpg
[7]: https://news.itsfoss.com/wp-content/uploads/2022/06/compact-view-files-1024x482.jpg
[8]: https://news.itsfoss.com/wp-content/uploads/2022/06/new-document-file-manager.jpg
[9]: https://ignapk.blogspot.com/2022/06/gsoc-2022-first-update-planning.html
[10]: https://news.itsfoss.com/wp-content/uploads/2022/06/animation0file.webm

View File

@ -1,88 +0,0 @@
[#]: subject: "With Extensions, GNOME Web is Slowly Becoming an Attractive Option on Desktop Linux"
[#]: via: "https://news.itsfoss.com/gnome-web-extensions-dev/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
With Extensions, GNOME Web is Slowly Becoming an Attractive Option on Desktop Linux
======
GNOME Web is looking to shape up as the perfect Linux browser. Do you think so?
![gnome web][1]
GNOME Web (Epiphany) is one of the [best browsers available for Linux users][2].
It offers a minimal, and a unique user experience.
Unfortunately, the uniqueness does not incentivize users to use it as their primary web browser.
But, it looks like that could change soon…
GNOME Web is finally adding support for WebExtensions, as revealed by one of the developers (**Patrick a.k.a TingPing**).
This is all a part of the GNOME 43 feature set.
### GNOME Web with WebExtensions
![][3]
A minimal-looking browser, with extension support, what more can I ask for?
I dont know about you, but Ive been bummed by the fact that GNOME Web did not have extension support.
So, this makes me excited!
For now, this is experimental support for **Epiphany 43.alpha** version. So, you can only test it as an adventure with GNOME Webs beta/alpha builds available.
The developer mentions:
> Epiphany 43.alpha supports the basic structure described above. We are currently modeling our behavior after Firefoxs ManifestV2 API which includes compatibility with Chrome extensions where possible. Supporting ManifestV3 is planned alongside V2 in the future.
You will have to explicitly enable the extension support using the terminal, and then install the extensions by downloading + adding the **.xpi** files for the extensions.
[Mozillas Firefox add-ons web portal][4] is the one you need to visit for the extensions.
![][5]
You can install the latest development version for Epiphany (GNOME Web) and enable extensions using the following commands:
```
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
flatpak install gnome-nightly org.gnome.Epiphany.Devel
flatpak run --command=gsettings org.gnome.Epiphany.Devel set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ enable-webextensions true
```
Note that it is actively in development, and may not work as expected. You may want to keep an eye on the terminal for any errors and resolve that if it did not work for you on the first try.
For more technical details, you can read [TingPings blog post][6].
### Your Next Daily Driver?
GNOME Web is an entirely unique alternative to Firefox and Chrome/Chromium-based browsers on Linux.
So, with the upcoming support for extensions, would you be willing to give it a try as your main browser?
*What do you think about the improvements arriving in GNOME Web (or Epiphany)?*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/gnome-web-extensions-dev/
作者:[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/wp-content/uploads/2022/06/gnome-web-adds-extensions-support.jpg
[2]: https://itsfoss.com/best-browsers-ubuntu-linux/
[3]: https://news.itsfoss.com/wp-content/uploads/2022/06/gnome-web-extensions.png
[4]: https://addons.mozilla.org/en-US/firefox/extensions/
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/gnome-web-extensions-1.png
[6]: https://blog.tingping.se/2022/06/29/WebExtensions-Epiphany.html

View File

@ -0,0 +1,96 @@
[#]: subject: "Darktable 4.0.0 is Here with a Revamped UI and Improved Color Saturation"
[#]: via: "https://news.itsfoss.com/darktable-4-0-release"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Darktable 4.0.0 is Here with a Revamped UI and Improved Color Saturation
======
darktable 4.0.0 release is here as a major upgrade with new features, simplified UI, and other enhancements.
![darktable][1]
Recently, the developers unveiled new stable release as an upgrade over its 3.8.x series.
The latest upgrade is about new features, bug fixes, and significant changes.
### darktable 4.0: Whats New?
With darktable 4.0, we have a lot of feature additions and some impactful rework on the user interface.
Let me mention the key highlights here:
**Note:** This is a major upgrade with a new library and configuration, not compatible with the older version. So, you need to take a backup of your work before proceeding.
#### Color and Exposure Mapping
Within the exposure and color calibration modules, you now get the ability to define and save a target color/exposure for the color pickers.
This should help you match source objects in the image and ensure the color consistency of an object across a batch of photos.
#### UI Rework
![darktable][2]
The user interface has undergone a revamp to improve the look/feel. Starting with the default theme being changed to “**Elegant Grey**“.
Overall, padding, margins, color, alignment, and icons, everything has received a makeover. New collapsible sections (channel mixer rgb, exposure, color calibration) have also been added to make the UI cleaner, and more accessible.
You will find numerous subtle changes for a better layout.
#### Performance Changes
Several optimizations have been added to the release while simplifying the user preferences.
You also get to change the performance configuration without requiring to restart darktable.
#### Improved Color Saturation
![darktable][3]
The addition of Filmic v6 (a new color science) helps for more saturated colors, especially in blue skies.
Also, color-grading should be safer considering it can be recovered in the least-destructive way, as mentioned in the announcement post. In addition to that, a new information color space has been designed for artistic saturation changes.
Overall, you should be happy about this releases refinements to the saturation control.
#### Other Changes
Some other notable changes include:
* A new “guided Laplacian” method has been added to the highlight reconstruction module.
* Global color picker tool improvements
* A new contrast parameter
* A new collection filters module
* Support for EXR 16-bit (half) float export has been added.
You may go through all the technical details in its [official announcement post][4].
### Download darktable 4.0.0
You can get the latest version using the Flatpak package on [Flathub][5]. When writing this, the Snap package wasnt updated.
In either case, you can also choose to use the tar.xz file available in its [GitHub releases section][6].
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/darktable-4-0-release
作者:[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/wp-content/uploads/2022/07/darktable-4-0-0-1200x675.jpg
[2]: https://news.itsfoss.com/wp-content/uploads/2022/07/darktable-4.jpg
[3]: https://news.itsfoss.com/wp-content/uploads/2022/07/darktable-4-1.jpg
[4]: https://www.darktable.org/2022/07/darktable-4.0.0-released/
[5]: https://flathub.org/apps/details/org.darktable.Darktable
[6]: https://github.com/darktable-org/darktable/releases/tag/release-4.0.0

View File

@ -0,0 +1,91 @@
[#]: subject: "The Next-Gen TUXEDO Pulse 15 is a Workstation Powerhouse"
[#]: via: "https://news.itsfoss.com/tuxedo-pulse-gen-2/"
[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/"
[#]: collector: "lujun9972"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
The Next-Gen TUXEDO Pulse 15 is a Workstation Powerhouse
======
TUXEDO Computers is a German manufacturer popular for offering a wide range of consumer Linux desktops and laptops.
One of their latest notebook releases, the **Pulse 15** which was introduced two years ago has received a second revision and it sounds like a big upgrade.
### Tuxedo Pulse 15 Gen-2: Whats New?
![Source: TUXEDO][1]
The notebooks new 15.6-inch display takes the center stage here. A **2560 x 1440 pixels LED panel** is definitely a huge enhancement compared to the 1080p display used in the previous model. So you can expect clearer and more detailed images, not to mention fluid movements thanks to the high **165Hz refresh rate**!
The AMD Ryzen 5 4600H is now replaced by the year-old **Ryzen 7 5700U**. Offering a total of 8 cores and 16 threads with a boost up to 4.3Ghz clock speed, it should be ideal for heavy workloads.
TUXEDO has optimized the CPU to run at a whopping 35W instead of the maximum recommended 25W. Moreover, a 35% decrease in power consumption compared to the Ryzen 5 4600H has been benchmarked. The integrated AMD RX Vega 8 graphics running at 1900MHz will be slightly more powerful thanks to the increased wattage.
![Source: TUXEDO][2]
Lastly, the criticisms of the cooling system should be addressed by a new design that features an **“above-average” dual-fan setup** and includes two heat pipes. TUXEDO stated that users shouldnt come across thermal throttling issues and loud fan noise when at full load.
![Source: TUXEDO][3]
#### Other Specifications
Despite such big hardware upgrades, the magnesium-chassis laptop weighs only about 1.5Kg with a 1.7cm thickness.
You get two M.2 NVMe slots for storage and two DDR4 memory slots that support up to 3200MHz.
As far as the battery is concerned, the same **91-Wh** battery is being used promising a best estimate of up to 18 hours, varying with usage.
The connectivity options also include a new DisplayPort via USB-C, which was absent with the first-generation model. Other options contain:
* Intel Dual Band AX 200 (WiFi 6 &amp; Bluetooth 5.2)
* 1 x USB 3.2 Gen2 Type-C
* 2 x USB 3.2 Gen2 Type-A
* 1 x USB 2.0 Type-A
* 1 x HDMI 2.0
* 1 x Gigabit RJ45 LAN
* 2-in-1 Headphone &amp; Microphone
* Kensington Lock
* UHS-50 Micro SD Cardreader
### Pricing &amp; Availability
The base configuration which includes 8 GB Samsung 3200 MHz DDR 4 RAM and 250 GB NVMe SSD costs **1149 EUR or 1185 USD**. You can choose the flagship TUXEDO_OS 22.04 LTS, Ubuntu 22.04 LTS, Kubuntu 22.04 LTS, or Ubuntu Budgie 22.04 LTS as the operating system of your choice.
Shipping for orders starts on July 15, 2022. You can pre-order the laptop now.
You can check out the official website product page for more details.
[TUXEDO Pulse 15 Gen-2][4]
### Powerful Linux Laptop Lineup
The Tuxedo Pulse 15 specs indicate that it is a solid offering. Thus, developers and business users should not have any complaints regarding its performance.
Not to forget, we also had a recent launch of [HP Dev One][5], and a teaser for [StarFighter][6] with a 4K 10-bit IPS display by Star Labs.
Looks like youre in for a treat if you are saving up for a premium Linux-specific laptop.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/tuxedo-pulse-gen-2/
作者:[Rishabh Moharir][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/rishabh/
[b]: https://github.com/lujun9972
[1]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjkwMSIgd2lkdGg9IjEwMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIi8+
[2]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIvPg==
[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE2MDAiIHdpZHRoPSIxNjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIvPg==
[4]: https://www.tuxedocomputers.com/en/Linux-Hardware/Notebooks/15-16-inch/TUXEDO-Pulse-15-Gen2.tuxedo
[5]: https://news.itsfoss.com/hp-dev-one-system76/
[6]: https://news.itsfoss.com/starfighter-laptop-reveal/

View File

@ -0,0 +1,38 @@
[#]: subject: "GitHub Copilot Is Only Effective Because It Steals Open Source Code"
[#]: via: "https://www.opensourceforu.com/2022/07/github-copilot-is-only-effective-because-it-steals-open-source-code/"
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
GitHub Copilot Is Only Effective Because It Steals Open Source Code
======
![github-logo-2][1]
The Software Freedom Conservancy (SFC), a non-profit community of open source advocates, announced its withdrawal from GitHub today in a scathing blog post urging members and supporters to publicly condemn the platform. The SFCs issue with GitHub stems from allegations that Microsoft and OpenAI trained an AI system called Copilot on data that had been made available under an open source licence. Open source code is not like a donation box where you can take whatever you want and use it however you want.
Its closer to photography. Even if a photographer does not charge you to use one of their images, you are still required to give credit where credit is due. According to an SFC [blog post][2], Copilot does not do this when it comes to using other peoples code snippets:
“This harkens to long-standing problems with GitHub, and the central reason why we must together give up on GitHub. Weve seen with Copilot, with GitHubs core hosting service, and in nearly every area of endeavor, GitHubs behavior is substantially worse than that of their peers. We dont believe Amazon, Atlassian, GitLab, or any other for-profit hoster are perfect actors. However, a relative comparison of GitHubs behavior to those of its peers shows that GitHubs behavior is much worse.”
GitHub is the worlds de facto repository for open source code. Its a cross between YouTube, Twitter, and Reddit, but for programmers and the code they create. Sure, there are alternatives. Switching from one code-repository ecosystem to another, however, is not the same as trading Instagram for TikTok. Microsoft paid more than $7 billion to acquire GitHub in 2018. Since then, Microsoft has used its position as OpenAIs primary benefactor to collaborate on the development of Copilot. And access to Copilot is only available through a special invitation from Microsoft or through a paid subscription. The SFC and other open source advocates are outraged because Microsoft and OpenAI are effectively monetizing other peoples code while removing the ability for those who use that code to properly credit those who use it.
Copilot must be killed. Alternately, Microsoft and OpenAI could construct a time machine and travel back in time to label every single datapoint in Copilots database, allowing them to create a second model that gives proper credit to every output. But its always easier to take advantage of people and exploit the Wild West regulatory environment than it is to care about the ethics of the products and services you offer.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/07/github-copilot-is-only-effective-because-it-steals-open-source-code/
作者:[Laveesh Kocher][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.opensourceforu.com/author/laveesh-kocher/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/07/github-logo-2-e1657018894307.png
[2]: https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/

View File

@ -1,196 +0,0 @@
[#]: subject: "Top 10 Essential Ubuntu Apps For Everyone in 2022"
[#]: via: "https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: "Donkey"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Top 10 Essential Ubuntu Apps For Everyone in 2022
======
This article lists the top 10 essential Ubuntu apps for various use cases in 2022.
If you are a casual user, student, teacher, scientist, developer or creator you need additional applications for your workflow. The Linux ecosystem has thousands of applications scattered around for almost all possible needs. Most of the mainstream Linux distribution, including Ubuntu, features only basic applications as default.
In this part 1 article (of a 5 part series), we list some of the professional-grade applications for everyone.
### Essential Ubuntu Apps in 2022 Part 1
#### 1. GNOME Tweak Tool
The [GNOME Tweak Tool][1] is a must-have utility for your Ubuntu desktop if you are using the Ubuntu GNOME edition. To customise your desktop using this utility, you can change the font, scaling, themes, cursor, and many additional options. The default settings window doesnt expose all the options today.
In addition, you can also change the window decorations, title bar, title bar buttons and startup applications using this application.
You can install it using the Software app by searching “Tweaks” or via the commands from the terminal as mentioned below.
```
sudo apt install gnome-tweaks
```
![GNOME Tweaks Tool][2]
#### 2. Steam
Gaming in Linux is not that difficult anymore, thanks to Valve and associated contributions from the community. [Steam][3] is a front end of video games service developed by Valve, which gives you access to the latest games on the Ubuntu platform with top features. Moreover, the Steam client also offers anti-cheat measures, auto-update and support for social conversation with streaming features.
If you are a gamer and use Linux, Steam is a go-to client which you can install with the below commands. Also, you can search in Software as “Steam Installer” and install using [Flatpak][4] or [Snap][5].
```
sudo apt install steam
```
![Steam Client][6]
#### 3. Peek
[Peek][7] is, in my opinion, an underrated application. It is an animated GIF recorder which is very useful for various workflow. This is such a powerful utility that it right fits in at Ubuntu or any Linux distro. Moreover, Peek brings options like recording area selection, countdown, gif, mp4 and WebM support. It uses ffmpeg for its backend.
Install this excellent utility using Software by searching “peek” or by terminal commands mentioned below.
```
sudo apt install peek
```
![Peek][8]
#### 4. Synaptic
[Synaptic][9] is an excellent package manager that helps you add and remove packages traditionally. Those who are little experienced in Linux know about its features and flexibility. You can search for packages in various repositories, verify dependencies and proceed with the installation.
A perfect application if you frequently install and uninstall packages. You can install synaptic using the commands mentioned below or search in Software with “synaptic”.
```
sudo apt install synaptic
```
![Synaptic Package Manager][10]
#### 5. GDebi
As we mentioned Synaptic above, you should also try out the [GDebi][11] package installer, which brings several features. The GDebi package installer is a command-line utility used to install external deb files. In addition, GDebi is much faster and more efficient installing .deb packages and resolves the dependencies on the fly and downloads them for you.
One of the best terminal based Ubuntu applications for installing .deb packages, and you can install it using the below command. After installation, you can run `gdebi <your .deb file name with path>` for installation of any packages.
```
sudo apt install gdebi
```
#### 6. Geary
You always need a native [email client][12] for your Ubuntu desktop for any workflow. Emails are still relevant and valuable to many. While Ubuntu brings the great Thunderbird email client by default, you can always use another email client application which gives you a better experience.
[Geary][13] has a friendly and straightforward user interface which gives you an easy way to set up multiple email accounts. In addition, Geary also brings conversation features, faster search, rich text email composing and other features which make it a “go-to” email client for Linux desktops.
You can install Geary using the command below or search it in Software with the keyword “Geary”. It is also available as [Flatpak][14].
```
sudo apt install geary
```
![Geary][15]
#### 7. Google Chrome
While many of you are concerned about privacy and tracking, Google Chrome is still the market leader in the browser space. Ubuntu features Firefox web browser by default, and with the recent snap events with Firefox, you may want to switch to another browser.
You may think of using Google Chrome if you are tightly connected with the Google ecosystem and want a better web experience in streaming and browsing. However, if you are concerned about privacy and tracking, you may choose some other browsers such as Brave or Vivaldi.
You can install Google Chrome after downloading the .deb file from the below link for Ubuntu Linux. After installation, you can open it via Software to install.
[Download Google Chrome][16]
#### 8. Kdenlive
One of the best free and open-source video editors in Linux is [Kdenlive][17]. The KDenlive is simple to use with its well-designed user interface and comes with various features. Firstly, with Kdenlive, you can easily import video clips, change canvas resolution, and export to a wide range of formats after editing. Secondly, the timeline and tools allow you to cut and add titles, transitions and effects with just a click of a button. Moreover, its super easy to learn if you are new to video editing.
Kdenlive is a very active project, and its getting more advanced features with every major release. This is one of the essential Ubuntu apps in 2022, which we feature in this list if you compare it with other [free video editors][18].
Installing Kdenlive is easy using the below command. In addition to that, you can also use [Flatpak][19] or [Snap][20] version to install.
```
sudo apt install kdenlive
```
![Kdenlive Video Editor][21]
#### 9. Spectacle
You may have tried many screenshot applications. But in my opinion, [Spectacle][22] is perhaps the best and underrated. The Spectacle is a KDE application that is super fast and perfectly fits any workflow that requires taking screenshots and using them. Firstly, you can capture the entire desktop, a portion of it or a window with a customised time. Secondly, the window captures can also pick the window decoration and cursor if needed. Third, Spectacle also gives you a built-in annotation feature to withdraw, write, and label your images.
Furthermore, you can also open the image in GIMP or any image editor right from its main window and export them. In addition, autosave, copying the capture to the clipboard, and sharing to social media are some of the unique features of Spectacle.
In my opinion, a complete screenshot tool with a built-in screen recorder.
You can install Spectacle using the below command or from the [Snap store][23].
```
sudo apt install kde-spectacle
```
![Spectacle Screenshot tool][24]
#### 10. VLC Media Player
Ubuntu Linux with GNOME desktop brings the GNOME Videos application by default for playing video files. But GNOME Videos cannot play several video formats due to a lack of decoding features. That is why, you should always consider [VLC Media Player][25] which is a “go-to” media player on Linux desktops.
VLC can play any format, literally. It even helps you to play corrupted video files having incomplete data. It is one of the powerful media players you can install using the command below.
In addition, If you prefer another mode of installation, you can get it via [Flatpak][26] or [Snap][27].
```
sudo apt install vlc
```
![VLC Media Player][28]
### Closing Notes
This concludes part 1 of a 5-part series of essential Ubuntu Apps in 2022. With the information above, I hope you get to choose some of the apps for your daily usage. And let me know which apps you prefer from this list in the comment box below.
Finally, stay tuned for part 2 of this Ubuntu apps series.
Cheers.
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/
作者:[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://gitlab.gnome.org/GNOME/gnome-tweaks
[2]: https://www.debugpoint.com/wp-content/uploads/2022/05/GNOME-Tweaks-Tool.jpg
[3]: https://store.steampowered.com/
[4]: https://flathub.org/apps/details/com.valvesoftware.Steam
[5]: https://snapcraft.io/steam
[6]: https://www.debugpoint.com/wp-content/uploads/2022/05/Steam-Client.jpg
[7]: https://github.com/phw/peek
[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/Peek-in-action2.jpg
[9]: https://www.nongnu.org/synaptic/
[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/Synaptic-Package-Manager.jpg
[11]: https://launchpad.net/gdebi
[12]: https://www.debugpoint.com/2019/06/best-email-client-linux-windows/
[13]: https://wiki.gnome.org/Apps/Geary
[14]: https://flathub.org/apps/details/org.gnome.Geary
[15]: https://www.debugpoint.com/wp-content/uploads/2019/06/Geary.png
[16]: https://www.google.com/chrome
[17]: https://kdenlive.org/
[18]: https://www.debugpoint.com/2019/09/best-free-video-editors-linux-ubuntu/
[19]: https://flathub.org/apps/details/org.kde.kdenlive
[20]: https://snapcraft.io/kdenlive
[21]: https://www.debugpoint.com/wp-content/uploads/2021/01/Kdenlive-Video-Editor.jpg
[22]: https://apps.kde.org/spectacle/
[23]: https://snapcraft.io/spectacle
[24]: https://www.debugpoint.com/wp-content/uploads/2022/05/Spectacle-Screenshot-tool.jpg
[25]: https://www.videolan.org/vlc
[26]: https://flathub.org/apps/details/org.videolan.VLC
[27]: https://snapcraft.io/vlc
[28]: https://www.debugpoint.com/wp-content/uploads/2022/05/VLC-Media-Player.jpg

View File

@ -1,8 +1,8 @@
[#]: subject: "10 Best Ubuntu Apps for Everyone in 2022 [Part 2]"
[#]: via: "https://www.debugpoint.com/2022/06/best-ubuntu-apps-2022-part2/"
[#]: via: "https://www.debugpoint.com/best-ubuntu-apps-2022-part2/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "Donkey"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@ -15,21 +15,24 @@ If you plan to migrate to Linux permanently, you should be happy knowing that th
Hence, in this article series, we are highlighting a set of Ubuntu apps at a time to increase collaboration and awareness among the user base.
This is part 2 of the Ubuntu Apps series.
This is part 2 of the Ubuntu Apps series. If you missed the other parts in this series, read them here:
* [Part 1][1]
* [Part 3][2]
### Best Ubuntu Apps in 2022 Part 2
#### 1. OBS Studio
The first application is the famous [streaming application][1] OBS Studio. It is a free and open-source application primarily used for streaming over the internet. In addition, using this application, you can create a complex streaming project using multiple sources, overlay banners and more.
The first application is the famous [streaming application][3] OBS Studio. It is a free and open-source application primarily used for streaming over the internet. In addition, using this application, you can create a complex streaming project using multiple sources, overlay banners and more.
Furthermore, thanks to its support of “Real-Time Messaging Protocol” (RTMP), you can use this app to stream on Facebook, YouTube, Twitch and another supported platform.
This decade-old application is one of the best apps for Linux.
![OBS Studio][2]
![OBS Studio][4]
You can learn more about OBS Studio here at the [official home page][3] and download or install it via the below methods.
You can learn more about OBS Studio here at the [official home page][5] and download or install it via the below methods.
Via PPA in Ubuntu and related distribution:
@ -39,21 +42,21 @@ sudo apt update
sudo apt install obs-studio
```
If you wish for Flatpak, then [setup your system for Flatpak][4] and [install via this page][5].
If you wish for Flatpak, then [setup your system for Flatpak][6] and [install via this page][7].
For Arch Linux and others, [visit this page for more information.][6]
For Arch Linux and others, [visit this page for more information.][8]
#### 2. Inkscape
The second application in this is the popular Inkscape application. Inkscape is a free and cross-platform vector graphics editor. It is primarily used to create scalable vector graphics. In addition, it is a world-class application which uses basic vector shapes such as rectangles, polygons, spirals and more. You can create world-class drawings using these primitive shapes and their additional tools (see below).
Furthermore, you can also create [stunning animations][7] using Inkscape with sufficient skills. It is one of the must-have applications for artists.
Furthermore, you can also create [stunning animations][9] using Inkscape with sufficient skills. It is one of the must-have applications for artists.
![Sample Image credit-Inkscape][8]
![Sample Image credit-Inkscape][10]
![Inkscape][9]
![Inkscape][11]
You can learn more about Inkscape here at the [official home page][10] and download or install it via the below methods.
You can learn more about Inkscape here at the [official home page][12] and download or install it via the below methods.
Via PPA in Ubuntu and other Linux distributions:
@ -63,19 +66,19 @@ sudo apt update
sudo apt install inkscape
```
For other download methods, visit [this page][11].
For other download methods, visit [this page][13].
#### 3. GIMP
The GIMP aka GNU Image Manipulation Program is a raster graphics editor which is sometimes considered a debatable-[Photoshop alternative][12] in the Linux world. In addition, this two-decade-old application is perfect for basic to advanced image editing. Moreover, it supports layers, filters, decorations, and other advanced image editing features essential for a photography workflow.
The GIMP aka GNU Image Manipulation Program is a raster graphics editor which is sometimes considered a debatable-[Photoshop alternative][14] in the Linux world. In addition, this two-decade-old application is perfect for basic to advanced image editing. Moreover, it supports layers, filters, decorations, and other advanced image editing features essential for a photography workflow.
![GIMP Image Editor][13]
![GIMP Image Editor][15]
A great way to learn more about GIMP is at the [official home page][14]and download or install via the below methods.
A great way to learn more about GIMP is at the [official home page][16]and download or install via the below methods.
The recommended way is Flatpak to get the latest GIMP version. You can set up[your system][15] for Flatpak and [click here to install][16].
The recommended way is Flatpak to get the latest GIMP version. You can set up[your system][17] for Flatpak and [click here to install][18].
For more download options, visit [this page][17].
For more download options, visit [this page][19].
#### 4. Spotify
@ -85,7 +88,7 @@ Firstly, to access the Spotify streaming service, you need a client. Secondly, I
You can listen to millions of songs on your Linux desktop by installing the desktop client. For Linux distributions, you can install the Spotify client from various sources.
![Spotify Client in Ubuntu][18]
![Spotify Client in Ubuntu][20]
The recommended method for Ubuntu and other Linux is using the Snap package. You can install it via the below command.
@ -99,7 +102,7 @@ If you prefer the native deb package, you can install it using the below command
curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add -echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
```
There is also an unofficial [Flatpak package available][19], which you can take advantage of.
There is also an unofficial [Flatpak package available][21], which you can take advantage of.
#### 5. SimpleScreen recorder
@ -107,9 +110,9 @@ The simplescreenrecorder is perhaps the best open-source screen recorder availab
Furthermore, you can also specify the auto/video bit rate, audio source options and different output options. Finally, it is available to install in all Linux distributions.
![SimpleScreenRecorder][20]
![SimpleScreenRecorder][22]
The [official home page][21] contains more details about SimpleScreenRecorder, and you can download it using the below methods.
The [official home page][23] contains more details about SimpleScreenRecorder, and you can download it using the below methods.
Using the PPA commands below, you can install this application in Ubuntu and other related distributions.
@ -117,18 +120,18 @@ Using the PPA commands below, you can install this application in Ubuntu and oth
sudo apt-get updatesudo apt-get install simplescreenrecorder
```
For additional download instructions, visit [this page][22].
For additional download instructions, visit [this page][24].
#### 6. Calibre
Calibre is a free and open-source e-book library management application available in Ubuntu, Linux Mint and other Linux platforms. It brings library management, e-book conversion, sync to your e-book devices and more unique features. Moreover, you can download news and other articles from the web and convert them to e-book formats using Calibre. In addition, it supports a wide range of e-book formats for management. Calibre is one of the best e-book management applications with all these features.
![Calibre][23]
![Calibre][25]
A lot of documentation and tutorials are available on the [home page of Calibre][24], and you can download them using the below means.
A lot of documentation and tutorials are available on the [home page of Calibre][26], and you can download them using the below means.
* [Download for Linux distributions][25]
* [Download for other operating systems][26]
* [Download for Linux distributions][27]
* [Download for other operating systems][28]
#### 7. Scribus
@ -136,9 +139,9 @@ Desktop publishing changed over the years. Today, there are several applications
And it is still in active development.
![Scribus][27]
![Scribus][29]
You can learn more about Scribus here at the [official home page][28] and download or install it via the below methods.
You can learn more about Scribus here at the [official home page][30] and download or install it via the below methods.
Scribus is in the main repo for Ubuntu and other related distributions. You can run the below command to install.
@ -146,19 +149,19 @@ Scribus is in the main repo for Ubuntu and other related distributions. You can
sudo apt install scribus
```
For other download options, visit [this page][29].
For other download options, visit [this page][31].
#### 8. MyPaint
The eighth application in this is MyPaint. MyPaint is a free and open-source drawing program for digital artists. MyPaint supports and can be used in pressure-sensitive tablets and devices. In addition, its unique distraction-free design lets you focus on the drawing instead of the application. Furthermore, it brings a real pencil and brushes emulation with a wide range of brushes, colours and layers.
![MyPaint 2.0.1][30]
![MyPaint 2.0.1][32]
For more information, visit the [official homepage][31] of MyPaint and download using the below methods.
For more information, visit the [official homepage][33] of MyPaint and download using the below methods.
The recommended install method is Flatpak. You can set up your [system for Flatpak][32] and install it by [clicking here][33].
The recommended install method is Flatpak. You can set up your [system for Flatpak][34] and install it by [clicking here][35].
For other download options, visit [this page][34].
For other download options, visit [this page][36].
#### 9. LibreOffice
@ -168,11 +171,11 @@ In addition to that, LibreOffice features two editions. Firstly, the community e
LibreOffice office suite is installed by default in Ubuntu.
![LibreOffice 7.3.x Community Edition in Ubuntu 22.04 LTS Jammy Jellyfish][35]
![LibreOffice 7.3.x Community Edition in Ubuntu 22.04 LTS Jammy Jellyfish][37]
[LibreOffices official documentation][36] is vast, and you can go through them through any means, including its [friendly forum][37]. You can download LibreOffice [from here][38].
[LibreOffices official documentation][38] is vast, and you can go through them through any means, including its [friendly forum][39]. You can download LibreOffice [from here][40].
Also, if you are planning to upgrade LibreOffice, you can [visit our guide here][39].
Also, if you are planning to upgrade LibreOffice, you can [visit our guide here][41].
#### 10. Cawbird
@ -180,70 +183,76 @@ If you are a heavy Twitter user, you may consider a desktop app. Cawbird is a de
However, due to Twitter API limitations, it refreshes every two minutes and several other restrictions such as no notification for follows, unfollows, block, mute and other features. Twitter imposed these limitations.
![Cawbird][40]
![Cawbird][42]
Finally, you can download the Cawbird for all Linux distributions using the [link present here][41].
Finally, you can download the Cawbird for all Linux distributions using the [link present here][43].
### Closing Notes
This concludes part 2 of a 5-part series of best Ubuntu Apps in 2022. I expect you get to install and use some of these applications in Ubuntu and other distros for your daily work. Also, let me know which apps you prefer from this list in the comment box below.
Finally, stay tuned for part 3 of this Ubuntu apps series. If you missed part 1, you could read it here “[Essential Ubuntu Apps in 2022 Part 1][42]“.
Finally, stay tuned for part 3 of this Ubuntu apps series. If you missed the other parts of this series, you can read them here:
* [Part 1][44]
* [Part 3][45]
Cheers.
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/2022/06/best-ubuntu-apps-2022-part2/
via: https://www.debugpoint.com/best-ubuntu-apps-2022-part2/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
译者:[Donkey](https://github.com/Donkey-Hao)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://www.debugpoint.com/2022/02/live-streaming-applications-linux-2022/
[2]: https://www.debugpoint.com/wp-content/uploads/2022/06/OBS-Studio.jpg
[3]: https://obsproject.com/
[4]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[5]: https://flathub.org/apps/details/com.obsproject.Studio
[6]: https://obsproject.com/wiki/unofficial-linux-builds
[7]: https://inkscape.org/gallery/
[8]: https://www.debugpoint.com/wp-content/uploads/2022/06/Sample-Image-credit-Inkscape.jpg
[9]: https://www.debugpoint.com/wp-content/uploads/2018/09/Inkscape-Running.png
[10]: https://inkscape.org/
[11]: https://inkscape.org/release/
[12]: https://www.debugpoint.com/2018/09/3-best-free-photoshop-alternatives-ubuntu-linux/
[13]: https://www.debugpoint.com/wp-content/uploads/2018/09/GIMP-Running.png
[14]: https://www.gimp.org/
[15]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[16]: https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
[17]: https://www.gimp.org/downloads/
[18]: https://www.debugpoint.com/wp-content/uploads/2022/06/Spotify-Client-in-Ubuntu.jpg
[19]: https://flathub.org/apps/details/com.spotify.Client
[20]: https://www.debugpoint.com/wp-content/uploads/2022/06/SimpleScreenRecorder.jpg
[21]: https://www.maartenbaert.be/simplescreenrecorder/
[22]: https://www.maartenbaert.be/simplescreenrecorder/#download
[23]: https://www.debugpoint.com/wp-content/uploads/2019/11/Calibre.png
[24]: https://calibre-ebook.com/
[25]: https://calibre-ebook.com/download_linux
[26]: https://calibre-ebook.com/download
[27]: https://www.debugpoint.com/wp-content/uploads/2022/06/Scribus.jpg
[28]: https://www.scribus.net/
[29]: https://www.scribus.net/downloads/stable-branch/
[30]: https://www.debugpoint.com/wp-content/uploads/2020/05/MyPaint-2.0.1.png
[31]: http://mypaint.org/
[32]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[33]: https://flathub.org/repo/appstream/org.mypaint.MyPaint.flatpakref
[34]: http://mypaint.org/downloads/
[35]: https://www.debugpoint.com/wp-content/uploads/2019/09/LibreOffice-7.3.x-Community-Edition-in-Ubuntu-22.04-LTS-Jammy-Jellyfish.jpg
[36]: https://help.libreoffice.org/latest/index.html
[37]: https://ask.libreoffice.org/
[38]: https://www.libreoffice.org/download/download/
[39]: https://www.debugpoint.com/2022/06/libreoffice-upgrade-update-latest/
[40]: https://www.debugpoint.com/wp-content/uploads/2022/06/Cawbird.jpg
[41]: https://software.opensuse.org//download.html?project=home%3AIBBoard%3Acawbird&package=cawbird
[42]: https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/
[1]: https://www.debugpoint.com/essential-ubuntu-apps-2022-part-1/
[2]: https://www.debugpoint.com/necessary-ubuntu-apps-2022/
[3]: https://www.debugpoint.com/2022/02/live-streaming-applications-linux-2022/
[4]: https://www.debugpoint.com/wp-content/uploads/2022/06/OBS-Studio.jpg
[5]: https://obsproject.com/
[6]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[7]: https://flathub.org/apps/details/com.obsproject.Studio
[8]: https://obsproject.com/wiki/unofficial-linux-builds
[9]: https://inkscape.org/gallery/
[10]: https://www.debugpoint.com/wp-content/uploads/2022/06/Sample-Image-credit-Inkscape.jpg
[11]: https://www.debugpoint.com/wp-content/uploads/2018/09/Inkscape-Running.png
[12]: https://inkscape.org/
[13]: https://inkscape.org/release/
[14]: https://www.debugpoint.com/2018/09/3-best-free-photoshop-alternatives-ubuntu-linux/
[15]: https://www.debugpoint.com/wp-content/uploads/2018/09/GIMP-Running.png
[16]: https://www.gimp.org/
[17]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[18]: https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
[19]: https://www.gimp.org/downloads/
[20]: https://www.debugpoint.com/wp-content/uploads/2022/06/Spotify-Client-in-Ubuntu.jpg
[21]: https://flathub.org/apps/details/com.spotify.Client
[22]: https://www.debugpoint.com/wp-content/uploads/2022/06/SimpleScreenRecorder.jpg
[23]: https://www.maartenbaert.be/simplescreenrecorder/
[24]: https://www.maartenbaert.be/simplescreenrecorder/#download
[25]: https://www.debugpoint.com/wp-content/uploads/2019/11/Calibre.png
[26]: https://calibre-ebook.com/
[27]: https://calibre-ebook.com/download_linux
[28]: https://calibre-ebook.com/download
[29]: https://www.debugpoint.com/wp-content/uploads/2022/06/Scribus.jpg
[30]: https://www.scribus.net/
[31]: https://www.scribus.net/downloads/stable-branch/
[32]: https://www.debugpoint.com/wp-content/uploads/2020/05/MyPaint-2.0.1.png
[33]: http://mypaint.org/
[34]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[35]: https://flathub.org/repo/appstream/org.mypaint.MyPaint.flatpakref
[36]: http://mypaint.org/downloads/
[37]: https://www.debugpoint.com/wp-content/uploads/2019/09/LibreOffice-7.3.x-Community-Edition-in-Ubuntu-22.04-LTS-Jammy-Jellyfish.jpg
[38]: https://help.libreoffice.org/latest/index.html
[39]: https://ask.libreoffice.org/
[40]: https://www.libreoffice.org/download/download/
[41]: https://www.debugpoint.com/2022/06/libreoffice-upgrade-update-latest/
[42]: https://www.debugpoint.com/wp-content/uploads/2022/06/Cawbird.jpg
[43]: https://software.opensuse.org//download.html?project=home%3AIBBoard%3Acawbird&package=cawbird
[44]: https://www.debugpoint.com/essential-ubuntu-apps-2022-part-1/
[45]: https://www.debugpoint.com/necessary-ubuntu-apps-2022/

View File

@ -2,7 +2,7 @@
[#]: via: "https://ostechnix.com/install-docker-ubuntu/"
[#]: author: "sk https://ostechnix.com/author/sk/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "Donkey"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@ -371,7 +371,7 @@ via: https://ostechnix.com/install-docker-ubuntu/
作者:[sk][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
译者:[Donkey](https://github.com/Donkey-Hao)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,117 +0,0 @@
[#]: subject: "HandBrake: Free Tool for Converting Videos from Any Format"
[#]: via: "https://www.debugpoint.com/handbrake/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
HandBrake: Free Tool for Converting Videos from Any Format
======
Learn about HandBrake, an excellent utility for converting videos from any format to the destination types.
This article contains features, download instructions and a usage guide.
### HandBrake
In this age of social media, we all play around with videos, reels and, of course, the formats that come with it. So, if you are in a Linux platform or even in WIndows, you may use any other software to convert various videos for several platforms. But if you need a simple but feature-rich video converter that takes care of your all video formats from multiple sources, try HandBrake.
#### Features
HandBrake has a huge set of options that make it a unique tool. Firstly, the workflow is super easy. In fact, its just three steps:
* Select a video
* Choose a target format
* Convert
As you can see, if you are a novice user, it is super easy to work with this tool because the attributes of the target format (e.g. bit rate, dimensions) are based on the default preset.
Secondly, if you want advanced editing, such as adding subtitles from the subtitle files while converting, it is also possible using this tool.
In addition, you can also change the dimensions, flip the video, change resolutions, modify the aspect ratio, and crop. Moreover, a set of basic filter configurations such as Denoise and Sharpen can also be done.
Moreover, adding Chapters, tags and audio tracks to your video files is always easy.
Perhaps the vital feature of HandBrake is the availability of presets which cater to the modern needs of social media and streams. For example, the presets are aligned with streaming platforms and streaming devices such as:
* Discord
* GMail
* Vimeo
* Amazon Fire Stick
* Apple Devices
* Chromecast
* Playstation
* Roku
* Xbox
A pretty impressive list, isnt it? Not only that, if you are a professional worker, it helps you define and create Queue for your conversions. The Queue feature allows you to batch convert multiple video files in your workflow.
Finally, you can convert to MPEG-4 (mp4), Matroska (mkv) and WebM formats.
![HandBrake with various features][1]
### Download and Installation
Downloading and installation of HandBrake is easy for any platform (Linux, Mac and Windows). The developers provide direct executables, which are free to download.
Since the primary target audience of this portal is Linux users, we will talk about the installation of HandBrake in Linux.
For Ubuntu, Linux Mint and all other distributions, the preferable method is Flatpak. You can [set up Flatpak][2] and then click the below button to install HandBrake:
[Install HandBrake via Flathub][3]
For Windows, macOS installer visit this page.
One interesting feature is that you can use this application via the command line! That means you can further customize your workflow using the command line utility, which you can find [here][4].
### How to Use HandBrake to convert Videos? [Example]
Since you installed it, lets see how you can convert a sample video with just three steps.
1. Open HandBrake and click on the “Open Source” button at the top toolbar. Select your video file.
2. Now, select the target file type from the Format dropdown. Make sure to check the destination folder (the default is Videos).
3. Finally, click on the Start button at the top toolbar to convert a video using HandBrake.
![HandBrake Video Conversion in three simple steps][5]
You can find a nice display on the conversion progress at the bottom of the window.
![Encoding status][6]
The above steps are the most basic ones. If you want further control over the video, you can change the options and also choose from a vast list of presets I explained earlier.
### FAQ
Yes, it is a free and open-source application, and you can download it for free.
Yes, you can easily install HandBrake in macOS, Windows 10, and Windows 11.
You can download HandBrake only from the official website https://handbrake.fr/ and no-other place.
### Closing Notes
Handbrake is one of the professional-grade free and open-source video encoders available today. It is a time-tested application used by millions of users daily. I hope this guide helps you to learn about this fantastic tool and get you started with your video projects.
**The demo video is used from [Pexels cottonbro][7]**
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/handbrake/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://www.debugpoint.com/wp-content/uploads/2022/06/HandBrake-with-various-features.jpg
[2]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
[3]: https://dl.flathub.org/repo/appstream/fr.handbrake.ghb.flatpakref
[4]: https://handbrake.fr/downloads2.php
[5]: https://www.debugpoint.com/wp-content/uploads/2022/06/HandBrake-Video-Conversion-in-three-simple-steps.jpg
[6]: https://www.debugpoint.com/wp-content/uploads/2022/06/Encoding-status.jpg
[7]: https://www.pexels.com/video/hands-hand-table-colorful-3997786/

View File

@ -1,109 +0,0 @@
[#]: subject: "Finding Your Routers IP Address (Default Gateway) in Ubuntu and Other Linux"
[#]: via: "https://itsfoss.com/router-ip-address-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Finding Your Routers IP Address (Default Gateway) in Ubuntu and Other Linux
======
You probably already know how to get your systems IP address in Linux.
But how do you know the IP address of your router?
I am not talking about the public-facing IP which you can get by connecting to websites like [Show My IP][1] or simply [searching for what is my ip][2] in [DuckDuckGo][3].
I am talking about the default gateway IP which your Linux desktop uses to connect to it.
Why do you need it? Well, if you need to change the SSID, password, or other configuration of your wi-fi/network, you have to connect to it. And the simples way is to type the IP address of the router in a web browser and then use the routers username and password.
While I cannot help you with the username and password of your router, I can surely tell you how to get its IP.
As always, Ill show both GUI and command-line methods.
### Method 1: Get the routers IP address in Linux using GUI
Its quite simple actually. I am using GNOME desktop with Ubuntu here. If you use some [other desktop environments][4], screenshots may look different.
Open System Settings:
![go to settings][5]
Now go to Wi-Fi or Network (if you are using a wired, Ethernet connection). Here, click on the little settings symbol beside your currently used network.
![access network settings ubuntu][6]
It will open a new window with several details about your connection such as the IP address, DNS, and [Mac address][7]. You can also see the [saved wifi password][8] under the security tab.
Youll also see an entry named Default Route. This is what you are looking for. The IP address of your router.
![defaul gateway ip ubuntu][9]
Your system and all other devices on your network connect to the router using this IP address. This is the setup most households have.
Now that I have shown the GUI method, lets go to the terminal route.
### Method 2: Get the routers IP address in Linux command line
Open a terminal and use the following command:
```
ip route
```
It will show you a few entries.
```
[email protected]:~$ ip route
default via 192.168.1.1 dev wlp0s20f3 proto dhcp metric 600
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000
192.168.1.0/24 dev wlp0s20f3 proto kernel scope link src 192.168.1.34 metric 600
```
The first line, which starts with default via, gives you the gateway IP. This is your routers IP address.
![defaul route linux terminal][10]
As you can see, 192.168.1.1 is the IP address of my router. Usually, the routers IP address is the first number of the subnet. However, this is not a hard and fast rule. I have seen routers with x.y.z.30 addresses as well.
### Bonus tip
As shared by Samir in the comments, you can also use the ping command to get the gateway IP:
```
ping _gateway
```
![ping gateway][11]
In case you didnt know, you have to [use the Ctrl+C to stop a running command in Linux][12].
I hope you find this tip useful when you need it.
--------------------------------------------------------------------------------
via: https://itsfoss.com/router-ip-address-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://www.showmyip.com/
[2]: https://duckduckgo.com/?q=what+is+my+ip&t=h_&ia=answer
[3]: https://itsfoss.com/duckduckgo-easter-eggs/
[4]: https://itsfoss.com/best-linux-desktop-environments/
[5]: https://itsfoss.com/wp-content/uploads/2022/02/go_to_settings.jpg
[6]: https://itsfoss.com/wp-content/uploads/2022/06/access-network-settings-ubuntu-800x448.png
[7]: https://itsfoss.com/change-mac-address-linux/
[8]: https://itsfoss.com/how-to-find-saved-wireless-wifi-passwords-ubuntu/
[9]: https://itsfoss.com/wp-content/uploads/2022/06/defaul-gateway-ip-ubuntu.png
[10]: https://itsfoss.com/wp-content/uploads/2022/06/defaul-route-linux-terminal.png
[11]: https://itsfoss.com/wp-content/uploads/2022/06/ping-gateway.png
[12]: https://itsfoss.com/stop-program-linux-terminal/

View File

@ -1,51 +0,0 @@
[#]: subject: "The Top Trends Changing The Data Center Industry"
[#]: via: "https://www.opensourceforu.com/2022/06/top-trends-changing-data-center-industry/"
[#]: author: "abhimanyu rathore https://www.opensourceforu.com/author/abhimanyu-rathore/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
The Top Trends Changing The Data Center Industry
======
![Data center][1]
The pandemic has accelerated the rate of digital transformation across the country, and this has necessitated more investments in data centers. Owing to rapid digitalization and cloud adoption, the Indian data center market is expected to double its capacity in the upcoming years. As per reports, the Indian data center market size was valued at $4.35 billion in 2021 and will reach $10.09 billion by 2027, growing at a CAGR of 15.07% during 2022-2027.
Now, a key question that arises is what lies ahead for the data center industry in India? What new trends are going to shape its future? Below mentioned are the top trends that will significantly impact the data center industry in India.
### Data Localization
Data localization simply means restricting the flow of data from one country to another. The Indian government has issued guidelines highlighting the need to store data of Indian users within the countrys boundaries. Data localization has made it mandatory for companies that collect critical consumer data to store and process it in local data centers. This has given a huge surge to local data centers. In addition, the cost advantage and easy accessibility of skilled labor in India makes it a key hub for data centers in Asia.
### Sustainable Data Centers
Its a known fact that data centers consume a lot of non-renewal resources. To make data centers sustainable, companies have redesigned their facilities to greatly reduce power and water consumption by utilizing emerging technologies such as AI, ML and cloud. Cloud data centers use fewer servers thereby reducing the carbon impact. They are generally located closer to the facilities that power them to prevent large losses during the process of transmitting electrical energy over long distances. In addition, public cloud data centers can be used to store data from multiple businesses. An on-premise data center has capacity limitations when it comes to storing huge volume of data, thereby leading to non-optimal use of resources. Hence, cloud data centers are revolutionizing the industry by enabling businesses to consume fewer servers and less power and reduce their carbon emissions in the process.
### Edge Connectivity
Edge data centers are small data centers that are located closer to the edge of a network. They typically connect to a larger central data center or multiple data centers. By processing data and services closer to the end-user, edge computing allows organizations to reduce latency and improve the customer experience. Such data centers are extremely beneficial for industries that need data processing in real-time such as autonomous vehicles, telemedicine, telecommunication, OTT platforms, and smart wearables.
### Hyperscale Data Centers
Traditionally data centers were a simple network of racks with storage units and a set of management tools. It had the architecture that was easy to understand. However, as digital transformation took over the corporate world, organizations started to generate huge volumes of data. The traditional storage units and tools were inadequate to handle this influx of data and hence larger capacity with sophisticated facilities were required. In addition, traditional data centers could not scale up or down their capabilities to accommodate the fluctuations in demand and hence resulted in wastage of resources. This led to the evolution of hyperscaling as a solution.
Hyperscale data centers are massive business-critical facilities designed to efficiently support robust and scalable applications by bringing together a large number of servers working together at high speeds. This ability gives the data center a capacity to scale both horizontally and vertically.
In conclusion, the data center industry is evolving and new trends will keep cropping up. With the new-age disruptive technologies, data center industry can build eco-friendly and energy efficient data centers. Technologies such as AI, edge computing, and IoT can be utilized to maximize energy efficiency and minimize environmental impact.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/06/top-trends-changing-data-center-industry/
作者:[abhimanyu rathore][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.opensourceforu.com/author/abhimanyu-rathore/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2016/03/Data-center.jpg

View File

@ -0,0 +1,373 @@
[#]: 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

@ -0,0 +1,254 @@
[#]: subject: "13 Interesting Distributions Based on Debian Linux"
[#]: via: "https://itsfoss.com/debian-based-distros/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
13 Interesting Distributions Based on Debian Linux
======
You will always find [Debian][1] in the list of most stable Linux distributions. It is one of the oldest distributions out there. With open source at its core, Debian is an example of a successful community project.
But the focus on FOSS also makes it uncomfortable for new users who are accustomed to getting things out of the box. [Installing Debian][2] also feels like a complicated task.
For this reason, you can opt for a Debian-based distribution so that you stay in the comfort of Debian.
I am going to list some interesting distributions based on Debian in this article.
![best distros based on debian][3]
I have deliberately left out Ubuntu and other Ubuntu derivatives like Linux Mint, elementary, Linux Lite, etc. This list is for the direct derivatives of Debian.
Lets see if you can find your next favorite distro in this list.
### 1. LMDE: Linux Mint Ubuntu + Debian
![1. lmde 5][4]
Many users are not aware of the fact that Linux Mint also has a direct Debian derivative known as LMDE (Linux Mint Debian Edition). As the Ubuntu and Debian versions will be using Cinnamon, you wont notice any visual differences not even in the list of applications you get for day-to-day use.
Sadly, the only reason for maintaining Debians edition was to create a suitable backup if Canonical makes some changes using Ubuntu as the base. But dont worry, LMDE is so refined that several users think the Mint team should use Debian as default for their future releases.
The team behind Mint are strictly opposed to the use of snaps in their system and to enable it, you have to go through some extra steps than usual I would recommend LMDE to anyone as Cinnamon is created for ease of use and you also get robust Debian core for rock-solid stability.
[LMDE][5]
### 2. Peppermint OS: An underrated lightweight option
![Peppermint OS 9 Screenshot][6]
Several users start their Linux journey to revive their old system as it is known for consuming fewer resources than other distros.
So what makes Peppermint OS stand out? ICE Applications and responsiveness.
Peppermint has a pre-installed tool called ICE which allows you to create web apps from any URL and even allows you to run them in containers.
And the second reason and probably the major reason behind its popularity is the speed you can achieve from a decade-old computer.
After installation, you are met with the bare minimum tools which do not include a browser! Yes, you do get an option to choose your favorite one from the welcome screen but you can get the idea of what kind of minimalist approach they follow.
A good choice if you are looking for a [lightweight Linux system][7]. One of the rare few [distros that still support 32-bit systems][8]. It used to be based on Ubuntu but after the unfortunate untimely demise of its lead developer, the[project reinvented itself with Debian as its base][9].
[Peppermint OS][10]
### 3. Kaisen Linux: Debian with tons of utilities
![3. kaisen linux][11]
Debian is entrusted by many IT professionals, and its quite true that you can get your job done on almost every Linux distro. But having the luxury of getting all the IT necessary tools for networking, recovery, and others will not only save you time but also improve your productivity.
Unlike the first two options (LMDE and Peppermint), you can choose between MATE (default), KDE, Xfce, and LXQt and it uses Debian testing (rolling release) at its core which is far stable if you compare it with other rolling release distros such as Arch.
[Kaisen Linux][12]
### 4. Raspberry Pi OS: For your $35 computer
![4. raspberry pi os][13]
Got yourself the famed Raspberry Pi device? You can create tons of projects with [specialized operating systems for the Raspberry Pi][14]. However, if you want to use Raspberry Pi as a generic PC, you can (and you should) use the official Raspberry Pi OS.
It is based on Debian and earlier it was called Raspbian OS (Raspberry + Debian). However, it was renamed lately to Raspberry Pi OS.
[Raspberry Pi OS][15]
### 5. BOSS Linux: Made for Indian users
![5. boss linux][16]
There are quite a few examples when the [government tries to support Linux][17] and thats the case with BOSS (Bharat Operating System Solutions) Linux. What makes this distro special is the custom kernel known as MOOL (Minimalistic Object Oriented Linux) which is focused on bringing better maintainability.
Not just a custom kernel but also bundled with BEMS (BOSS Enterprise Management Suite) which provides End-to-End control and management on client nodes by getting us components such as BOSS Domain Controller, Network Authentication Server, Patch Management Server, and a lot more.
More than 6 million+ deployments across India are a sign of how trustworthy this distro is. This comes in three variants: Desktop, Educational, and server so it covers almost everything that you need from a distro.
[BOSS Linux][18]
### 6. SolydXK: Simplified but solid Debian derivative
![solydxk][19]
For those who love to tinker with things, SolydXK is the perfect option as it not just gives multiple variants for Desktop Environments but also has a separate Enthusiast Edition (EE) based on Debian testing.
On the stable part, we have two options: SolydK and SolydX. So if you are looking for something lightweight on system resources, SolydX will get your job done as it is fine-tuned with Xfce to revive your old pc. And if you have a decent hardware configuration, try SolydK as it is equipped with a KDE Plasma desktop. Feel free to [choose between Xfce and KDE][20].
From stability to multiple choices, SolydXK has been made while keeping user interest in mind.
[SolydXK][21]
### 7. Nitrux: A modern take on the desktop Linux
![7. nitrux][22]
Looking for something based on Debian yet modern looking? Nitrux will surely fulfill those requirements. Rather than using Debian stable, developers went with Debian Unstable (sid) and will retrieve some additional packages from Ubuntu LTS repositories.
Nitrux uses NX Desktop, a customized KDE Plasma with MAUI UI framework, and trust me after Elementary OS and Deepin, Nitrux is considerably the [most eye-pleasing distro][23].
Additionally, the implementation of AppImages is what fascinates me a lot! So if you are looking for the perfect blend of aesthetics and rock-solid experience, Nitrux will amaze you.
[Nitrux][24]
### 8. Deepin: If looks could kill
![8. deepin][25]
So if you have a decent machine and you have no issue with the origin of the distro, Deepin is the most beautiful Debian-based Linux distro.
Deepin is China based distro that happens to have its Desktop Environment named DDE (Deepin Desktop Environment) and also has a set of home-grown apps like Deepin Software Centre, DMusic, and DPlayer are tailored to the normal user.
From being easy to install to eye-pleasant UI, Deepin can be the perfect choice if you are switching from Windows or looking for an enhanced Linux Desktop experience.
[Deepin][26]
### 9. Endless OS: For students and schools
![9. endless os][27]
The major reason why people are not switching to Linux is it is rumored for being complex and required to use of Terminal for every task. But what if I tell you, there is Debian based distro that is tweaked in such a way that can be used by even kids? Yes, we are talking about Endless OS here.
Endless OS is created in such a way that it can be used without the internet and has an offline encyclopedia with over 50,000+ articles and much more. It comes with more than 100 preloaded apps and tools which do not require internet access at all!
This makes it an ideal [Linux distribution for children and schools][28].
[Endless OS][29]
### 10. MX Linux: A general-purpose distro for everyone
![10. MX Linux][30]
From ranked #1 on distro watch to being often recommended to new users, MX Linux does not require an introduction. So why it is so popular? MX Tools. This is the primary reason behind its popularity.
MX Snapshot is one of the MX Tools and what it does is amazing in its way. It will create an ISO which includes all the data in your home and root directory so if you break your system (somehow) or face some critical issue with the hardware, you can use the ISO file for getting the same set of files and software on other system and this is just one example of how cool it is.
MX Linux has three official variants: Xfce (Flagship edition), KDE, and Fluxbox (lightest of all). Surprisingly, we also get support for 32-bit architecture on Xfce and Fluxbox edition and MX-RaspberryPi is one of their unofficial spins.
From getting us Xfce (midweight) variant to supporting Raspberry Pi, they cover everything which you can expect from a distro including a special set of tools!
[MX Linux][31]
### 11. Kali Linux: Hack you!
![11. kali linux][32]
“Hacking” is the first impression you get when you hear the name Kali Linux. It is indeed one of the [most popular Linux distributions among hackers][33], be it beginners or professionals.
It comes with plenty of hacking, security and pen-testing tools by default. Apart from that, its repositories contain [plenty more tools][34].
Kali Linux developers also have a keen sense of humor, it seems. They have an [undercover mode to make your Kali Linux look like Windows][35]. It recently added a [screensaver that makes it look like the system is being hacked][36].
Fun and work together. A good choice for cyber security enthusiasts.
[Kali Linux][37]
### 12. Slax: Your portable Linux system
![12. slax][38]
A Live operating system that does not require any installation just a single boot and you are good to go! Yes, thats what you get with Slax. Entire Slax resides in a single directory /slax/ so you can manage files easily.
So when you read-only media such as CD/DVD, all the modifications will be lost after reboot but if you use writable media such as USB, you can save those changes and even use it on a different computer which is one of its widely known feature “Persistent Changes”.
From being extremely resource-friendly to having a user-friendly interface, Slax is an interesting choice if you want a portable Linux system.
[Slax][39]
### 13. YunoHost: You know you could self host
![13. yunohost][40]
This is one of my personal favorites as it is aimed at simplifying the management of servers.
Managing servers is not easy. It is specially difficult for home users who are accustomed to GUI. This is why some people even try to [install GUI on Ubuntu server][41].
If you are not too comfortable with the terminal and yet you want to self-host services and applications for home or hobby use, YunoHost is your friend. It has simplified everything from installation to the management of servers through a friendly web interface.
A complete server distro that allows you to deploy apps through a few clicks, manage SSL certificates, create and restore backups and much more.
[YunoHost][42]
### Final thoughts
Debian is the mother of so many Linux distributions. It is not easy to select the best among them. I have tried to list the ones that are different or popular. I also know there are many more interesting Debian-based distributions out there.
If your favorite is not on this list, why not mention it in the comments?
And if you are more into the Arch domain, check out this list of [friendlier Arch-based distros][43].
--------------------------------------------------------------------------------
via: https://itsfoss.com/debian-based-distros/
作者:[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://www.debian.org/
[2]: https://itsfoss.com/install-debian-easily/
[3]: https://itsfoss.com/wp-content/uploads/2022/07/best-distros-based-on-debian.png
[4]: https://itsfoss.com/wp-content/uploads/2022/07/1.-LMDE-5-800x500.jpg
[5]: https://www.linuxmint.com/download_lmde.php
[6]: https://itsfoss.com/wp-content/uploads/2018/06/Peppermint-OS-3default-theme-800x450.jpg
[7]: https://itsfoss.com/lightweight-linux-beginners/
[8]: https://itsfoss.com/32-bit-linux-distributions/
[9]: https://news.itsfoss.com/peppermint-11-release/
[10]: https://peppermintos.com/
[11]: https://itsfoss.com/wp-content/uploads/2022/07/3.-Kaisen-Linux-800x450.jpg
[12]: https://kaisenlinux.org/
[13]: https://itsfoss.com/wp-content/uploads/2022/07/4.-Raspberry-Pi-OS-min-800x450.jpg
[14]: https://itsfoss.com/raspberry-pi-os/
[15]: https://www.raspberrypi.com/software/
[16]: https://itsfoss.com/wp-content/uploads/2022/07/5.-BOSS-Linux-800x450.jpg
[17]: https://itsfoss.com/linux-national-os/
[18]: https://bosslinux.in/
[19]: https://itsfoss.com/wp-content/uploads/2022/07/solydxk-800x450.png
[20]: https://itsfoss.com/kde-vs-xfce/
[21]: https://solydxk.com/
[22]: https://itsfoss.com/wp-content/uploads/2022/07/7.-Nitrux-800x450.jpg
[23]: https://itsfoss.com/beautiful-linux-distributions/
[24]: https://nxos.org/
[25]: https://itsfoss.com/wp-content/uploads/2022/07/8.-Deepin-min.jpg
[26]: https://www.deepin.org/en/
[27]: https://itsfoss.com/wp-content/uploads/2022/07/9.-Endless-OS-800x452.jpg
[28]: https://itsfoss.com/educational-linux-distros/
[29]: https://endlessos.com/
[30]: https://itsfoss.com/wp-content/uploads/2022/07/10.-MX-Linux-800x450.jpg
[31]: https://mxlinux.org/
[32]: https://itsfoss.com/wp-content/uploads/2022/07/11.-Kali-Linux-min-800x450.jpg
[33]: https://itsfoss.com/linux-hacking-penetration-testing/
[34]: https://itsfoss.com/best-kali-linux-tools/
[35]: https://itsfoss.com/kali-linux-undercover-mode/
[36]: https://news.itsfoss.com/kali-linux-2022-2-release/
[37]: https://www.kali.org/
[38]: https://itsfoss.com/wp-content/uploads/2022/07/12.-Slax-800x600.jpg
[39]: https://www.slax.org/
[40]: https://itsfoss.com/wp-content/uploads/2022/07/13.-YunoHost-800x387.jpg
[41]: https://itsfoss.com/install-gui-ubuntu-server/
[42]: https://yunohost.org/
[43]: https://itsfoss.com/arch-based-linux-distros/

View File

@ -0,0 +1,312 @@
[#]: subject: "10 Necessary Ubuntu Apps For Everyone [Part 3]"
[#]: via: "https://www.debugpoint.com/necessary-ubuntu-apps-2022"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
10 Necessary Ubuntu Apps For Everyone [Part 3]
======
This article lists the top 10 necessary Ubuntu apps for your daily workflow.
We often forget that thousands of free and open-source applications can compete with other commercial counterparts in their category. Moreover, if you are a Windows user and thinking about getting rid of Windows completely, you should also be aware of such apps beforehand.
Hence, in this article series of “necessary Ubuntu apps”, we are featuring ten apps for much-needed awareness among Linux users.
This is part 3 of this Ubuntu Apps series. If you missed the earlier parts, you can read them here, Or navigate from the Menu above.
* [Part 1][1]
* [Part 2][2]
### Best Ubuntu Apps in 2022 Part 3
#### Guake
Ever wanted to quickly open a terminal with a quick keyboard shortcut while you are middle of a vital workflow? This Top-Down terminal app Guake helps you to do that. If you are busy working on an essay, editing a video, debugging a code in your favourite code editor and want to quickly check something in the terminal and then go back to work Guake can help you do that. Just press F12 and a terminal will pop up, and press F12 again, and it will go away—no need to launch/close a separate terminal instance.
![Guake Running in Ubuntu][3]
For Ubuntu and other related distros, you can run the below command to install. For further download options, visit [this page][4].
```
sudo apt install guake
```
**More information about Guake:**
* [Home page][5]
* [Source code][6]
#### Safe Eyes
Eyes are precious, and if you are a user with long work hours on Laptop/Desktop, you should also take care of your eyes. While there are other methods, this app, Safe Eyes, can help reduce and prevent repetitive strain injury.
Safe Eyes app gives you pop-up instruction with activities such as rotate your eyes clockwise for 10 seconds during your work.
I think it is one of the necessary Ubuntu apps everyone should try.
![Safe Eyes][7]
Installing safe eyes is easy to install in Ubuntu via PPA. You can open a terminal prompt and run the following commands to install this app.
```
sudo add-apt-repository ppa:slgobinath/safeeyessudo apt updatesudo apt install safeeyes
```
For other download, options visit [this page][8].
**More details:**
* [Home page][9]
* [Source code][10]
#### Tusk
Note-taking apps are plenty. Moreover, all the Linux distributions, including Ubuntu, always bring a basic text editor. But for advanced note-taking, you need a specialized app.
Tusk is a modern Evernote desktop app available for Ubuntu/Linux. It comes with plenty of themes such as Light, Sepia, and Dark it is loaded with features such as:
* Local and global customizable keyboard shortcuts
* Update notification
* A cross-platform app built on electron
* Scalable interface (zoom-in and out)
* Black, light and sepia themes
* Focus mode and auto night mode
* Export options of notes to HTML, PDF, and mark down files
![Tusk][11]
This application is available as AppImage, Deb and RPM files for Linux distributions. You can download the deb file from the below link and run it to install it in Ubuntu. For other download options, visit [this page][12].
[Download Tusk][13]
**More information about Tusk**:
* [Home page][14]
* [Source code][15]
#### Krita
If you are an artist or learning to draw in Linux, your must-have application is Krita. Krita brings a vast selection of drawing tools, including advanced modes such as pressure-sensitive drawing. In addition, you can also use Krita on touch-based tablet devices. Some of its unique features include:
* Customizable toolbar and docks
* Save your workspace as a file
* Light and dark theme
* Built-in vector engine, a vast set of brushes
* Brush engine with stabilization
* Support for PhotoShop Document (PSD)
* Full-colour support
* Extend your workflow with Python script
![Krita Drawing Program][16]
Installing Krita is easy because it is available for all Linux distributions official repo. For Ubuntu, you can search in Software and install it. If you prefer the terminal, you can also run the following command for installation.
```
sudo apt install krita
```
For more details about Krita, visit the following pages:
* [Home page][17]
* [Documentation and learning][18]
* [Source code][19]
#### Foliate
When you think about e-book readers, always Calibre comes to mind. But there is another stunning GNOME app Foliate. Foliate is a modern e-book reader written in GTK which brings exciting features such as custom colours of your pages, brightness, multicolumn support and more. In addition, it supports epub, Amazon Kindle, Fiction book, comic book archive and Mobipocket formats to give you complete control of your collection.
Its a must-have app if you want a nice and sleek e-book reader.
![Foliate][20]
Installing Foliate is easy, using Flatpak for all Linux distros. First, you need to [set up Flatpak][21] and click on the below button to install.
[Download Foliate][22]
**More information**:
* [Home page][23]
* [Source code][24]
#### Bitwarden
On average, every person has at least 10+ online accounts and passwords. And the more you are tech-savvy, the number of passwords you have to manage increases. Using a password manager is always recommended to protect your data and passwords. Hence the next app in this list is the best password manager available today, i.e. Bitwarden.
Bitwarden is a free and open-source password manager that helps you generate, store and protect your online credentials easily. Backed by AES-256 encryption, Bitwarden also syncs passwords among multiple devices such as mobile phones and tabs.
![Bitwarden Password Manager desktop client][25]
You can download the self-contained executable AppImage file from [this page][26]. Also, if you plan to access it in your favourite browser, you can get it there.
More information about Bitwarden:
* [Home page][27]
* [Help and documentation][28]
#### Brave Browser
Brave is a Chromium-based privacy-centric web browser. It is perfect for users who want complete control of their online activities. Brave comes with a built-in ad blocker, incognito browsing, VPN, and Tor mode for more anonymous browsing.
Recently, Brave browser also introduced an email service, which you can access right from the browser itself. Furthermore, it brings some advantages over Firefox, Google Chrome and Safari.
![Brave Browser][29]
Installing the Brave browser requires additional commands from the terminal for Ubuntu Linux. You can find the detailed download instructions [here][30].
For more details, visit the official [home page][31].
#### Mailspring
If you are looking for a friendly and productive desktop email client for Linux which supports all email protocols, then try Mailspring.
Mailspring brings multiple account support, a unified mailbox, and touch and gesture support. In addition, it supports Microsoft Office 365, one of the best advantages of this email client in Linux systems. Moreover, features such as fast search, translations, undo send (recall), and built-in spell-check make it one of the best email clients.
It also comes with a paid version with a minimal monthly fee and additional features such as company profile creation, link tracking, read receipt, templates and insights. The insights feature in the pro version gives details about when you receive more emails during the day.
![Mailspring Email Client][32]
This application is available as a Snap and Deb file for Ubuntu and related Linux.
For the Snap package, visit the official Snapcraft page [here][33] and install it.
And for the deb package, click here to download it. After download, you can double-click the deb package to install via Software in Ubuntu.
For more details, refer to the following pages.
* [Home page][34]
* [Other download options][35] (Fedora Linux, Windows and macOS)
#### Blender
Im sure you have heard about Blender. Blender is one of the free and open-source professional-grade graphic design software which is capable of doing almost everything that you need for your graphics project.
![Blender Video Editor][36]
You can create animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, and computer games. Blenders features include 3D modelling, UV unwrapping, texturing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, rendering, motion graphics, video editing, and compositing.
It is a professional-grade application which is still free and open-source.
For easy installation in Ubuntu, open Software, search for Blender, and then hit install. Alternatively, you can also open a terminal window and run the following command to install.
```
sudo apt install blender
```
This software is available for Windows, macOS and other platforms. You can visit the [official download page][37] for more details.
**More information:**
* [Home page][38]
* [Detailed Feature highlights][39]
* [Documentation][40]
#### Ungoogled Chromium
If you want a clean browser free from Google apps and services, you should try out the Ungoogled Chromium browser. Its a drop-in replacement for the stock Chromium experience without the Google integrated services.
For example, it is free of all pre-compiled binaries from the code and all Google integration and also disables features requiring manual enabling for better control.
Perhaps a well-suited browser is the best Chromium experience.
![Ungoogled-Chromium][41]
Installing Ungoogled Chromium is easy using Flatpak. First, set up[Flatpak][42] and install this browser using the following command.
```
flatpak install flathub com.github.Eloston.UngoogledChromium
```
To learn more, visit the [official GitHub page][43] of this browser.
#### Tilix
![Tilix Terminal Window][44]
The final app in this necessary Ubuntu apps list is Tilix. Tilix is a tiling window-based terminal emulator which is based on GTK. It comes with custom titles, additional notification support (for command completion) and transparent background image support. In addition, Tilix also enables you to add a custom image background in the terminal window. Finally, you can create multiple terminal panes side-by-side in a single window.
An advanced terminal is written in GTK, which you may find productive.
Installation packages are available for all Linux distributions. For Ubuntu and related distros, run the following command to install.
```
sudo apt install tilix
```
For more details, visit the Tilix [home page][45].
### Closing Notes
This completes part 3 of a 5-part series of best Ubuntu Apps in 2022. I hope you get to install and use some of these applications in Ubuntu and other distros for your daily productive output. Also, let me know which apps you pick from this list as your best in the comment box below.
Finally, stay tuned for part 4 of this Ubuntu apps series. If you missed the other parts, you could read them here:
* [Part 1][46]
* [Part 2][47]
Cheers.
*Some image credits: Respected app developers/teams.*
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/necessary-ubuntu-apps-2022
作者:[Arindam][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://www.debugpoint.com/essential-ubuntu-apps-2022-part-1/
[2]: https://www.debugpoint.com/best-ubuntu-apps-2022-part2/
[3]: https://www.debugpoint.com/wp-content/uploads/2018/09/Guake-Running-in-Ubuntu.gif
[4]: https://guake.readthedocs.io/en/latest/user/installing.html#system-wide-installation
[5]: http://guake-project.org/
[6]: https://github.com/Guake/guake
[7]: https://www.debugpoint.com/wp-content/uploads/2018/09/Safe-Eyes.gif
[8]: https://slgobinath.github.io/SafeEyes/
[9]: https://slgobinath.github.io/SafeEyes/
[10]: https://github.com/slgobinath/SafeEyes
[11]: https://www.debugpoint.com/wp-content/uploads/2018/09/Tusk.gif
[12]: https://github.com/klaussinani/tusk/releases/
[13]: https://github.com/klaussinani/tusk/releases/download/v0.23.0/tusk_0.23.0_amd64.deb
[14]: https://klaussinani.github.io/tusk/
[15]: https://github.com/klaussinani/tusk
[16]: https://www.debugpoint.com/wp-content/uploads/2022/07/Krita-Drawing-Program.jpg
[17]: https://krita.org/en/
[18]: https://docs.krita.org/en/
[19]: https://invent.kde.org/graphics/krita
[20]: https://www.debugpoint.com/wp-content/uploads/2022/07/Foliate.jpg
[21]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
[22]: https://dl.flathub.org/repo/appstream/com.github.johnfactotum.Foliate.flatpakref
[23]: https://johnfactotum.github.io/foliate/
[24]: https://github.com/johnfactotum/foliate
[25]: https://www.debugpoint.com/wp-content/uploads/2022/07/Bitwarden-Password-Manager-desktop-client.jpg
[26]: https://bitwarden.com/download/
[27]: https://bitwarden.com/help/
[28]: https://bitwarden.com/help/
[29]: https://www.debugpoint.com/wp-content/uploads/2022/07/Brave-Browser.jpg
[30]: https://brave.com/linux/#release-channel-installation
[31]: https://brave.com
[32]: https://www.debugpoint.com/wp-content/uploads/2022/07/Mailspring-Email-Client.jpg
[33]: https://snapcraft.io/mailspring
[34]: https://getmailspring.com/
[35]: https://getmailspring.com/download
[36]: https://www.debugpoint.com/wp-content/uploads/2019/09/Blender-Video-Editor.jpg
[37]: https://www.blender.org/download/
[38]: https://www.blender.org/
[39]: https://www.blender.org/features/
[40]: https://www.blender.org/get-involved/documenters/
[41]: https://www.debugpoint.com/wp-content/uploads/2022/07/Ungoogled-Chromium.jpg
[42]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
[43]: https://github.com/ungoogled-software/ungoogled-chromium#feature-overview
[44]: https://www.debugpoint.com/wp-content/uploads/2022/07/Tilix-Terminal-Window.jpg
[45]: https://gnunn1.github.io/tilix-web/
[46]: https://www.debugpoint.com/essential-ubuntu-apps-2022-part-1/
[47]: https://www.debugpoint.com/best-ubuntu-apps-2022-part2/

View File

@ -0,0 +1,749 @@
[#]: subject: "Docker Commands Tutorial | Getting Started With Docker In Linux"
[#]: via: "https://ostechnix.com/getting-started-with-docker/"
[#]: author: "sk https://ostechnix.com/author/sk/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Docker Commands Tutorial | Getting Started With Docker In Linux
======
Essential Docker Commands For beginners
This detailed Docker tutorial covers the essential **Docker commands**, such as how to create a new container, run the container, remove a container and so on. In addition, this guide also explains how to build your own custom Docker image from an existing container and how to remove containers and images. Without further ado, let us **get started with Docker basics usage**!
### Docker Installation Steps
Docker can be installed in most modern Linux operating systems. If you haven't installed Docker yet, refer the following guides:
* [Install Docker Engine And Docker Compose In AlmaLinux, CentOS, Rocky Linux][1]
* [How to Install Docker And Docker Compose In Ubuntu][2]
### What Is Docker Image And Docker Container?
Before getting started with Docker, let me clarify what is a **Docker image** and a **Docker Container**.
A Docker Image is the file that decides how a Container should behave, and Docker Container is the running or stopped stage of a Docker image.
The containers are isolated from the rest of host's files.
When we run a Docker container, it uses an isolated filesystem which provided by a Docker image. The Docker image consists of everything needed to run an application - all dependencies, configuration, scripts, binaries, etc.
The image also contains other configuration for the container, such as environment variables, a default command to run, and other metadata.
### Getting Started With Docker In Linux
All steps given below are tested in Ubuntu 22.04, 20.04 and 18.04 LTS server edition. However, the steps provided in the subsequent sections are common to all Linux platforms. For example, you can run the same commands in a RHEL-based system(E.g. AlmaLinux) too.
#### 1. Search Docker Images
We can get the images from either from the official docker library called [Docker hub][3], or create our own.
For those wondering, Docker hub is an online central repository where all Docker users build, test, and save their Docker images. Docker hub has tens of thousands of Docker images and the number of images is growing everyday.
You can search for the any Docker images with **"docker search"** command from command line.
For instance, to search for docker images based on **Alpine** Linux, run:
```
$ sudo docker search alpine
```
**Sample Output:**
![Search Docker Images][4]
To search images based on **Ubuntu**, run:
```
$ sudo docker search ubuntu
```
You can even search images for any application, for example **Nginx**, like below:
```
$ sudo docker search nginx
```
Docker hub has a wide range of images. Be it an operating system, application, or combination of multiple applications (E.g. LAMP stack), you will find pre-built Docker images for everything in Docker hub.
If something you're looking for is not available, you can build it and make it available for public via Docker hub or keep it private for your own use.
#### 2. Download Docker Images
To download Docker image for Ubuntu OS, run the following command from the Terminal:
```
$ sudo docker pull ubuntu
```
The above command will download the latest Ubuntu image from the **Docker hub**.
**Sample Output:**
```
Using default tag: latest
latest: Pulling from library/ubuntu
405f018f9d1d: Pull complete
Digest: sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
```
You can also download a specific version of Ubuntu image using command:
```
$ sudo docker pull ubuntu:20.04
```
Docker allows us to download any images and start the container based on that image regardless of the host OS.
For example, to download Alpine OS image, run:
```
$ sudo docker pull alpine
```
![Download Docker Images][5]
#### 3. List Docker Images
All downloaded Docker images will be saved in **/var/lib/docker/** directory.
To view the list of downloaded Docker images, run:
```
$ sudo docker images
```
**Sample Output:**
```
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 27941809078c 3 weeks ago 77.8MB
ubuntu 20.04 20fffa419e3a 3 weeks ago 72.8MB
alpine latest e66264b98777 5 weeks ago 5.52MB
```
![List Docker Images][6]
As you see above, I have downloaded three Docker images - **Ubuntu** **latest**, **Ubuntu 20.04** and **Alpine Linux**.
Now, let us go ahead and see how to start or run the containers based on the downloaded images.
#### 4. Run Docker Containers
We can start a container in two ways - either using its Docker **Image** **TAG** or **Image ID**.
**TAG** refers to a particular snapshot of the image and the **IMAGE ID** is the corresponding unique identifier for that image.
Take a look at the following screenshot:
![Docker Image Tag and ID][7]
As you see in the above results, the tags are **"latest"** and **"20.04"**.
* 27941809078c is the IMAGE ID of Ubuntu latest Docker image,
* 20fffa419e3a is the image id of Ubuntu 20.04 Docker image
* and `e66264b98777` is the image id of Alpine latest Docker image.
##### 4.1. Run Containers Using Tag
Once you downloaded the Docker images of your choice, run the following command to start a Docker container and connect to it by using its TAG.
```
$ sudo docker run -t -i ubuntu:latest /bin/bash
```
Or,
```
$ sudo docker run -it ubuntu:latest /bin/bash
```
Here,
* -t : Assigns a new Pseudo Terminal inside the Ubuntu container.
* -i : Allows us to make an interactive connection by grabbing the standard in (STDIN) of the container.
* ubuntu:latest : Ubuntu docker image with Tag "latest".
* /bin/bash : BASH shell for the new container. This is optional. If you don't mention the shell, the default shell will be assigned to the container.
After starting the container, you'll be automatically landed into the Container's shell (Command prompt):
![Run Containers Using Tag][8]
The new container based on the Ubuntu latest image has been started now. A unique ID and a name will be given to all the newly containers. As you can see in the above output, the Ubuntu container ID is **2f2a5b826762**. We will see where to find the name of the container in a minute.
You can now start working in the container. Once you're done with the Container, you can return back to the host system's Terminal (In my case, it is Ubuntu 22.04 LTS) without terminating the Container (guest os).
##### 4.2. Detach From Running Containers
To detach from a running container (without terminating it), press **CTRL+P** followed by **CTRL+Q**.
Now, you are back to your original host computer's terminal window. Please note that the container is still running in the background and we didn't terminate it yet.
##### 4.3. Run Containers Using IMAGE Id
The another way to start a container and connect to it is by using the IMAGE ID as shown below:
```
$ sudo docker run -it 20fffa419e3a /bin/bash
```
Here,
* 20fffa419e3a - Image id
To detach from the container and return back to the host system's Terminal, press **CTRL+P** and **CTRL+Q**. Again, we only detached from the container but didn't stop it. The container is still running in the background.
##### 4.4. Run Containers In Detached Mode
In the previous sections, we started a container and attached to it immediately. And then we detached from the container once our work with that container is completed.
You can also start container in detached mode (without automatically attaching it).
To run a container in the background, run:
```
$ sudo docker run -it -d alpine:latest
```
**Sample Output:**
```
d74f2ceb5f3ad2dbddb0b26e372adb14efff91e75e7763418dbd12d1d227129d
```
The first 12 letters in the above output indicates the container ID.
You can verify if the container is running using `docker ps` command:
```
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d74f2ceb5f3a alpine:latest "/bin/sh" 3 seconds ago Up 2 seconds zen_pascal
```
![Run Containers In Background][9]
As you can see in the above output, we have a created an Alpine container but didn't attach to it.
If you want to attach it to the container, simply, run:
```
$ sudo docker attach d74f2ceb5f3a
```
#### 5. View Running Containers
To view the list running of containers, run the following command:
```
$ sudo docker ps
```
**Sample Output:**
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7e04eed577e 20fffa419e3a "/bin/bash" 6 minutes ago Up 6 minutes brave_mclean
2f2a5b826762 ubuntu:latest "/bin/bash" 18 minutes ago Up 18 minutes hungry_leavitt
```
![View Running Containers][10]
Here,
* f7e04eed577e is the ID of the Ubuntu container that is created with image "2f2a5b826762". And, "brave_mclean" is the name of this container.
* 2f2a5b826762 is the ID of the Ubuntu container that is created with image "ubuntu:latest". And, "hungry_leavitt" is the name of this container.
Whenever a new container is created, a unique ID and name will be given to it, so we can access the container using either its ID or name.
**Heads Up:** Please note that **Container ID and Docker image ID are different**.
To list all available (either running or stopped) containers, run:
```
$ sudo docker ps -a
```
#### 6. Attach To Or Detach From Running Containers
First, find the name or ID of the container with `docker ps` command.
```
$ sudo docker ps
```
Next, attach to the running container using `docker attach` command.
```
$ sudo docker attach <container-id>
```
For instance, I am going to attach to the container that has the ID "f7e04eed577e" like below:
```
$ sudo docker attach f7e04eed577e
```
You can also attach to a container using its name as well.
```
$ sudo docker attach brave_mclean
```
Now you're logged in to the container.
To detach from the container, simply press **CTRL+P** followed by **CTRL+Q**.
#### 7. Start, Restart, Pause, And Stop Containers
You can start, restart, pause or stop a Docker container using its name or container ID.
First, find the name or ID of the container with `docker ps -a` command.
![Find Container ID And Name][11]
Now you can start a container using `docker start` command with name or ID like below.
```
$ sudo docker start modest_cray
```
```
$ sudo docker start 10615254bb45
```
You can **start multiple containers** with space-separated like below.
```
$ sudo docker start 24b5ee8c3d3a 56faac6d20ad d74f2ceb5f3a
```
To gracefully restart a running container, do:
```
$ sudo docker start 10615254bb45
```
To pause processes in a running container:
```
$ sudo docker pause 10615254bb45
```
To Unpause processes in a running container:
```
$ sudo docker unpause 10615254bb45
```
To block a container until others stop:
```
$ sudo docker wait 10615254bb45
```
Similarly we can stop a docker container using its name or ID. If you're already inside the container's shell, you can stop the container by simply running the following command:
```
# exit
```
You can also stop (power off the container) from the Docker host system using the following command:
```
$ sudo docker stop 10615254bb45
```
You can exit multiple containers with space-separated as shown below.
```
$ sudo docker stop 35b5ee8c3d3a 10615254bb45
```
After exiting the container, verify if it is really stopped by listing the running containers with command:
```
$ sudo docker ps
```
#### 8. Kill Docker Containers
The docker stop command will gracefully turn off a running container. Sometimes, you may stuck with an unresponsive container or you want to forcibly shutdown a container.
To kill a container by sending a `SIGKILL` to a running container, run:
```
$ sudo docker kill 10615254bb45
```
#### 9. Automatically Delete Containers After Closing Them
You may want to test a Container and then delete it once you're done with the Container. If so, you can automatically delete the Container after closing it by using `--rm` flag:
```
$ sudo docker run -it --rm debian:latest
```
Once you exit from the Container, it will be automatically deleted.
![Automatically Delete Containers][12]
As you see in the above output, I created a new Debian container. Once I exit from the container, it is automatically deleted. The `docker ps -a` output shows that the Debian container doesn't exist.
#### 10. Assign Name To Containers
If you closely look into the output of previous commands, each container is given a random name when you start a container. If you don't name your Containers, Docker will name them for you automatically.
Have a look at the following example.
```
$ sudo docker run -it -d alpine:latest
2af79e97a825c91bf374b4862b9e7c22fc22acd1598005e8bea3439805ec335d
```
```
$ sudo docker run -it -d alpine:latest
80b53b7e661d33696b65c78267fc3f067b6100799c925910db4721963e3fae0a
```
```
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80b53b7e661d alpine:latest "/bin/sh" 3 seconds ago Up 2 seconds bold_margulis
2af79e97a825 alpine:latest "/bin/sh" 6 seconds ago Up 5 seconds recursing_taussig
```
As you see in the above output, even though I have created two containers using the same docker image, they both gets different ID and name.
If you want to assign a static name to the container, use `--name` flag like below:
```
$ sudo docker run -it -d --name ostechnix_alpine alpine:latest
```
The above command will create run a new Container called **ostechnix_alpine** in detached mode.
let us view list of the running Containers:
```
$ sudo docker ps
```
**Sample Output:**
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
397111fac537 alpine:latest "/bin/sh" 2 seconds ago Up 2 seconds ostechnix_alpine
80b53b7e661d alpine:latest "/bin/sh" 7 minutes ago Up 7 minutes bold_margulis
2af79e97a825 alpine:latest "/bin/sh" 7 minutes ago Up 7 minutes recursing_taussig
```
![Assign Name To Containers][13]
Did you notice the name of the first Container in the above output? Yes, we've assigned a custom name (i.e. `ostechnix_alpine` ) to the Container.
Assigning custom names to containers gives us a benefit. We can easily identify what is installed in that container by looking at the name of the container name.
#### 11. Build Custom Docker Images
Docker is not just for downloading and using the existing containers. You can create your own custom docker image as well.
Let us start an Ubuntu container:
```
$ sudo docker run -it ubuntu:latest
```
Now, you will be in the container's shell.
Then, install any software or do whatever you want in the container.
For example, let us install **Apache web server** in the container.
```
# apt update
# apt install apache2
```
Similarly, install and test any software of your choice in the Container.
Once you're done, detach from the container (don't exit it) and return back to the host system's shell. Please do not stop or power-off the Container. To detach from the container without stopping it, press `CTRL+P` followed by `CTRL+Q`.
From your Docker host terminal, run the following command to find the container ID:
```
$ sudo docker ps
```
Finally, create a Docker image of the running Container using command:
```
$ sudo docker commit 377e6d77ebb5 ostechnix/ubuntu_apache
```
**Sample Output:**
```
sha256:bc5e5f95ca592a3585fda2c5a40ec30c98e292046ef70390a2c3b7863cc6f7c1
```
Here,
* 377e6d77ebb5  Ubuntu container ID.
* ostechnix  Name of the user who created the container.
* ubuntu_apache Name of the docker image created by user ostechnix.
Let us check whether the new Docker image is created or not with command:
```
$ sudo docker images
```
**Sample Output:**
```
ostechnix/ubuntu_apache
```
![Build Custom Docker Images][14]
As you see in the above output, the new Docker image has been created in our Docker host system from the running Container.
Now, you can create a new Container from the newly created Docker image as usual with command:
```
$ sudo docker run -it ostechnix/ubuntu_apache
```
#### 12. Removing Containers
Once you're done all R&D with Docker containers, you can delete if you don't want them anymore.
To do so, First we have to stop (power off) the running Containers.
Let us find out the running containers with command:
```
$ sudo docker ps
```
**Sample Output:**
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
377e6d77ebb5 ubuntu:latest "bash" 7 minutes ago Up 7 minutes elegant_beaver
```
Stop the running container by using it's ID:
```
$ sudo docker stop 377e6d77ebb5
```
Now, delete the container using command:
```
$ sudo docker rm 377e6d77ebb5
```
Similarly, stop all containers and delete them if they are no longer required.
Deleting multiple containers one by one can be a tedious task. So, we can delete all stopped containers in one go, just run:
```
$ sudo docker container prune
```
Type **"Y"** and hit `ENTER` key to delete the containers.
```
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
397111fac5374921b974721ee646b2d5fbae61ca9c6e8b90fbf47952f382a46b
80b53b7e661d33696b65c78267fc3f067b6100799c925910db4721963e3fae0a
[...]
Total reclaimed space: 176B
```
![Delete Containers][15]
This command will work only with latest Docker versions.
Verify if all the containers are deleted using the command:
```
$ sudo docker ps -a
```
If you don't see any output, all containers are deleted.
#### 13. Removing Docker Images
Remember, first you should remove all the containers before removing all the images from which those containers were created.
Once you removed containers, you can delete the Docker images that you no longer need.
To find the list of the Downloaded Docker images:
```
$ sudo docker images
```
**Sample Output:**
```
REPOSITORY TAG IMAGE ID CREATED SIZE
ostechnix/ubuntu_apache latest bc5e5f95ca59 14 minutes ago 229MB
debian latest d2780094a226 11 days ago 124MB
ubuntu latest 27941809078c 3 weeks ago 77.8MB
ubuntu 20.04 20fffa419e3a 3 weeks ago 72.8MB
alpine latest e66264b98777 5 weeks ago 5.52MB
```
As you see above, we have 5 Docker images in our host system.
Let us delete them by using their IMAGE id:
```
$ sudo docker rmi ce5aa74a48f1
```
**Sample Output:**
```
Untagged: ostechnix/ubuntu_apache:latest
Deleted: sha256:bc5e5f95ca592a3585fda2c5a40ec30c98e292046ef70390a2c3b7863cc6f7c1
Deleted: sha256:a8e4797160a2b2d33d8bd1bd67e008260c022b3a53fbcc198b2b74d9eae5961d
```
Similarly, delete all other Docker images.
To remove all stopped containers, all images, build cache, all networks, run:
```
$ sudo docker system prune -a
```
Be careful while using this command. It will delete all unused containers, networks, images (both dangling and unreferenced).
![Delete Everything In Docker][16]
By default, volumes are not removed to prevent important data from being deleted even if there is currently no container using the volume.
If you want to delete everything including the Volumes, use the `--volumes` flag.
```
$ sudo docker system prune -a --volumes
```
### Docker Troubleshooting
Docker won't let you to delete the Docker images if they are used by any running or stopped containers.
For example, when I try to delete a Docker Image with ID **b72889fa879c**, from one of my old Ubuntu server. I got the following error:
```
Error response from daemon: conflict: unable to delete b72889fa879c (must be forced) - image is being used by stopped container dde4dd285377
```
This is because the Docker image that you want to delete is currently being used by another Container.
So, let us check the running Container using command:
```
$ sudo docker ps
```
**Sample Output:**
![Show running docker containers][17]
Oops! There is no running container.
Let us again check for all containers (running and stopped) with command:
```
$ sudo docker ps -a
```
**Sample Output:**
![Show running and stopped docker containers][18]
As you see, there are still some stopped containers are using one of the Docker images. So, let us delete all of the containers.
**Example:**
```
$ sudo docker rm 12e892156219
```
Similarly, remove all containers as shown above using their respective container's ID.
Once you deleted all containers, finally remove the Docker images.
**Example:**
```
$ sudo docker rmi b72889fa879c
```
That's it. Now verify if there are any other Docker images in the host with command:
```
$ sudo docker images
```
You will now probably won't have any docker images.
### Conclusion
In this comprehensive **getting started with Docker tutorial**, we explained Docker basics such as creating, running, searching, removing containers and also building own Docker image from a Container. We also explained how to delete Docker containers and images when they are no longer necessary.
Hope you a got the basic idea about **Docker usage**.
For more details, refer the official resource links given at the end of this guide or drop a comment in the comment section below.
**Resources:**
* [Docker website][19]
* [Docker Documentation][20]
--------------------------------------------------------------------------------
via: https://ostechnix.com/getting-started-with-docker/
作者:[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/install-docker-almalinux-centos-rocky-linux/
[2]: https://ostechnix.com/install-docker-ubuntu/
[3]: https://hub.docker.com/
[4]: https://ostechnix.com/wp-content/uploads/2022/07/Search-Docker-Images.png
[5]: https://ostechnix.com/wp-content/uploads/2022/07/Download-Docker-Images.png
[6]: https://ostechnix.com/wp-content/uploads/2022/07/List-Docker-Images.png
[7]: https://ostechnix.com/wp-content/uploads/2022/07/Docker-Image-Tag-and-ID.png
[8]: https://ostechnix.com/wp-content/uploads/2022/07/Run-Containers-Using-Tag-1.png
[9]: https://ostechnix.com/wp-content/uploads/2022/07/Run-Containers-In-Background-1.png
[10]: https://ostechnix.com/wp-content/uploads/2022/07/View-Running-Containers.png
[11]: https://ostechnix.com/wp-content/uploads/2022/07/Find-Container-ID-And-Name.png
[12]: https://ostechnix.com/wp-content/uploads/2022/07/Automatically-Delete-Containers.png
[13]: https://ostechnix.com/wp-content/uploads/2022/07/Assign-Name-To-Containers.png
[14]: https://ostechnix.com/wp-content/uploads/2022/07/Build-Custom-Docker-Images.png
[15]: https://ostechnix.com/wp-content/uploads/2022/07/Delete-Containers.png
[16]: https://ostechnix.com/wp-content/uploads/2022/07/Delete-Everything-In-Docker.png
[17]: https://ostechnix.com/wp-content/uploads/2016/04/sk@sk-_005-1-1.jpg
[18]: https://ostechnix.com/wp-content/uploads/2016/04/sk@sk-_006-1.jpg
[19]: https://www.docker.com/
[20]: https://docs.docker.com/

View File

@ -0,0 +1,83 @@
[#]: subject: "Fixing “cannot find signatures with metadata for snap” Error in Ubuntu and other Linux"
[#]: via: "https://itsfoss.com/snap-metadata-signature-error/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Fixing “cannot find signatures with metadata for snap” Error in Ubuntu and other Linux
======
The other day I was trying to install [massCode][1] application. For installation, it provided a Snap file to download.
When I tried to install the application from Snap file
```
sudo snap install snap_file
```
It gave me the following error:
**error: cannot find signatures with metadata for snap “masscode_2.6.1_amd64.snap”**
![cannot find signature with metadata for snap][2]
That was strange. While [adding external repositories in Ubuntu][3], you have to add the GPG key. But no such things were provided by the developer here.
The fix is easy and simple. Let me explain it to you.
### Handling “cannot find signatures with metadata for snap” error
There are no signatures involved here.
What happens is that you have downloaded a Snap installer file from a third party. The snap mechanism in Ubuntu expects you to get the snap packages from the official snap store.
Since it doesnt come from the snap store, you see the cannot find signatures with metadata for snap error message. The error message is not descriptive, like most error messages.
So, whats the solution here?
Any snap package that is not distributed through the Snap store has to be installed with the**dangerous flag**. Thats the rule.
```
sudo snap install --dangerous path_to_snap_file
```
This way, you tell the snap package manager to explicitly install the snap package.
Here, I used this flag and was able to install massCode from its snap package successfully.
![installing third party snap packages][4]
How dangerous is it to install snap packages this way? Almost the same as downloading and [installing packages in deb format][5].
In my opinion, if you are downloading the snap package from the project developers website, you are already entrusting the project. In such cases, you can install it with the dangerous flag.
Of course, you should first search if the package is available in the snap store or not:
```
snap find package_name
```
I hope this quick little tip helped you fix the Snap error. If you have questions or suggestions please let me know. If you want to learn more, see [this guide on using Snap commands][6].
--------------------------------------------------------------------------------
via: https://itsfoss.com/snap-metadata-signature-error/
作者:[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://masscode.io/
[2]: https://itsfoss.com/wp-content/uploads/2022/07/cannot-find-signature-with-metadata-for-snap-800x205.png
[3]: https://itsfoss.com/adding-external-repositories-ubuntu/
[4]: https://itsfoss.com/wp-content/uploads/2022/07/installing-third-party-snap-packages-800x358.png
[5]: https://itsfoss.com/install-deb-files-ubuntu/
[6]: https://itsfoss.com/use-snap-packages-ubuntu-16-04/

View File

@ -0,0 +1,115 @@
[#]: subject: "Manage your files in your Linux terminal with ranger"
[#]: via: "https://opensource.com/article/22/7/manage-files-linux-terminal-ranger"
[#]: author: "Sumantro Mukherjee https://opensource.com/users/sumantro"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Manage your files in your Linux terminal with ranger
======
Try this lightweight open source tool to preview files without leaving the terminal.
![Filing cabinet for organization][1]
The most basic way to look at your files and folders is to use the commands `ls` and `ll`. But sometimes, I want to see not just the file metadata but also the contents of a file at a glance. For that, I use ranger.
If you love working out of your console and using [Vim][2] or Vi, and you dont want to leave your terminal for any reason, ranger is your new best friend. Ranger is a minimal file manager that allows you not only to navigate through the files but also to preview them. Ranger comes bundled with rifle, a file executor that can efficiently choose programs that work with a given file type.
### Installing ranger on Linux
Ranger can be installed in Fedora or any RPM-based distro by running
```
$ sudo dnf install ranger
```
Ranger is also available for [other distros and macOS][3].
### Using ranger for the first time
As a user, you can start ranger by simply typing `$ ranger` on your favorite terminal. The arrow keys give way to the navigation. This screenshot is an excellent example of how I can preview the code of the `config.example` file stored in `Kernel-tests`.
![Screenshot of terminal showing config.example highlighted and a preview of the file in the terminal to the right][4]
Picking any file and hitting F4 opens up your default editor and lets you edit the files right away!
### What about images and videos?
Using [rifle][5] with ranger lets you quickly find the program associated with a given file. Hovering over an image and then trying to open it is very simple; just hit Enter. Heres how that looks:
![Screenshot of a PNG file preview over a terminal window][6]
Hitting i on an image file will give the user all the EXIF data. Hitting **S****hift+Enter** will open the PDF file.
![A screenshot showing a preview of a PDF file (tickets to a museum) floating over the terminal window][7]
The same key combo will open and start playing videos in the system's default video player that supports the codec. The example below is an mp4 video, which plays just fine on [VLC][8].
![Screenshot of a Bugcrowd University Cross Site Scripting video in VLC media player, previewed over the terminal][9]
### File ops
The following key bindings work well unless otherwise configured by the Vim user.
j: Move down
k: Move up
h: Move to parent directory
gg: Go to the top of the list
i: Preview file
r: Open file
zh: View hidden files
cw: Rename current file
yy: Yank (copy) file
dd: Cut file
pp: Paste file
u: Undo
z: Change settings
dD: Delete file
### Console commands
Sometimes I have a folder that contains screenshots of a particular software when I am drafting articles. Selecting or marking files by hitting Space and then typing `:bulkrename` helps me move all the weird timestamps to, for example, lorax1, lorax2 , and so on. An example is below:
![Screenshot of terminal showing timestamped files that can be renamed with the bulkrename command][10]
Other useful console commands include:
`:openwith` : Open a select file with a program of your choice
`:touch FILENAME` : Create a file
`:mkdir FILENAME` : Create a directory
`:shell <command>` : Run a command in shell
`:delete` : Delete files
### Will it work in tty2/3/4?
As someone who works in quality assurance (QA), I've found that searching for logs and reading them has never been easier. Even when my Gnome Display Manager crashes, I can switch over to my tty2, log in with my username and password, and start ranger with superuser permission, and then I am all sorted to explore!
Ranger is a great tool for working with files without ever having to leave the terminal. Ranger is minimal and customizable, so give it go!
Image by: (Sumantro Mukherjee, CC BY-SA 4.0)
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/7/manage-files-linux-terminal-ranger
作者:[Sumantro Mukherjee][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/sumantro
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/files_documents_organize_letter.png
[2]: https://opensource.com/tags/vim
[3]: https://opensource.com/article/20/3/ranger-file-navigator
[4]: https://opensource.com/sites/default/files/2022-06/ranger%201.png
[5]: https://www.systutorials.com/docs/linux/man/1-rifle/
[6]: https://opensource.com/sites/default/files/2022-06/ranger%202.png
[7]: https://opensource.com/sites/default/files/2022-06/ranger%203.png
[8]: https://opensource.com/article/21/2/linux-media-players
[9]: https://opensource.com/sites/default/files/2022-06/ranger%204.png
[10]: https://opensource.com/sites/default/files/2022-06/ranger%205.png

View File

@ -0,0 +1,141 @@
[#]: subject: "New Features in the Upcoming Linux Mint 21 Release"
[#]: via: "https://itsfoss.com/linux-mint-21-features/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
New Features in the Upcoming Linux Mint 21 Release
======
This is a continually updated article to share the latest features added to the upcoming Linux Mint 21 release.
You probably already know that Linux Mint is based on the long-term support (LTS) release of Ubuntu.
Ubuntu 22.04 LTS was released a few months ago. This means that a new major version of Linux Mint is to follow sooner or later.
And indeed the next major version, Linux Mint 21, is already in development. While there is no official release date announced, you should expect it to arrive by the end of July22 or early August.
### Linux Mint 21 is codenamed Venessa
![linux mint 21][1]
Every Linux Mint release, be it minor or major, has a codename. It is a female name normally of Greek or Latin release.
Like Ubuntu, there is a pattern in the codename in Mint also. The codenames are in alphabetically increasing order for the major release but they use the same alphabet for the minor releases.
For example, Mint 20 was called Ulyana, 20.1 Ulyssa, 20.2 Uma and 20.3 Una. Mint 19 series had codenamed starting with T.
Mint 21 codename starts with V and the first release of the 21 series is called Venessa.
There will be at least 3 more minor releases in the Mint 21 series and they will be released every six months until the next Mint major release in 2024. They all will have a codename starting with the letter V.
### New features in Mint 21 Venessa
There is not a lot of information available to the public about the features in Linux Mint 21. What I am listing here is based on the official updates, forums and GitHub repositories. Ill be adding more as I test the beta version when it is released.
#### New upgrade tool
Existing Mint 20.3 users should be able to upgrade to Mint 21 relatively easier thanks to the [new upgrade tool][2].
![New Mint Upgrade tool in Linux Mint 21][3]
Earlier, upgrading to a major version involved using the terminal. Now everything should be done with a few mouse clicks in the new GUI tool.
It will show what packages have been upgraded and which packages wont be upgraded. It supports several languages. It even checks if your PPA and custom repositories are supported in the new version.
![New Mint Upgrade tool in Linux Mint 21][4]
Overall an excellent tool to ease the upgrade process. Its good to see that Mint focuses on developing graphical tools to help its users.
#### New Bluetooth application
Though not developed by the Mint team, Mint 21 will feature the Blueman tool for managing the Bluetooth settings.
![New Bluetooth settings in Linux Mint 21][5]
Whats wrong with the existing Blueberry tool? Nothing really. But since it is not compatible with GNOME 42 (which is the base for the next version of Cinnamon desktop). As lead developer, Clem [mentioned][6], “There is also frustration upstream from the GNOME Bluetooth development team who simply does not want to have users from other desktops than GNOME and so Blueberry will probably get discontinued.”
Blueberry had a simple interface whereas Blueman has plenty of settings youll hardly need.
#### Timeshift becomes a Mint tool
Mint team has been recommending Timeshift for system settings backups for some time now. It almost felt a part of the Mint applications suite. I actually[mistakenly said that in one of the YouTube videos as well][7].
But the good news is that the Mint team has taken over the development of the Timeshift application. It is now part of the XApp and you should see it even more integrated within the Linux Mint ecosystem.
There are already a few developments to it. For example, in rsync mode, Timeshift now calculates the required space for the next snapshot and skips it if performing that snapshot leads to less than 1GB of free space on the disk.
![timeshift mint21][8]
#### WebP image support
WebP image format is getting popular these days among website owners. They are smaller in size without compromising on quality.
If you try to download images from the internet and they are in WebP format, they are opened with a web browser. Youll have to install additional packages for [WebP support in other Linux distributions][9].
Mint 21 will have WebP support enabled by default. You can open the WebP images in the image viewer and the images will be displayed with Thumbnail in the Nemo file manager.
#### No negative impact on dual boot
It was noticed in Ubuntu 22.04 release that Windows disappeared from the Grub menu in dual boot systems. It was because the os-prober feature was disabled by default in version 2.6 of [Grub bootloader][10].
Mint team has correctly decided to enable the os-prober by default. This means that the Grub bootloader with Mint 21 should be able to properly detect Windows (and other OS) as it used to previously.
#### No surprise killing of applications (like Ubuntu 22.04)
Ubuntu 22.04 introduced the [systemd-oomd][11], a userspace out-of-memory (OOM) killing service. This service takes “corrective action before an OOM occurs in the kernel space”.
So when the system is struggling with memory pressure, this service jumps into action to ensure that system keeps running. How does it do that? By killing some running applications.
But thats created a problem as[Ubuntu users complained of random closing of running applications][12].
For this reason, Mint team has decided against including this performance improving feature in the upcoming Mint 21.
How does that impact you as an end user? Well, if you tried downloading some images from the internet, it might be in
#### AppImage support as it is
It looks like Mint 21 is undoing a lot of things that Ubuntu 22.04 have done. The libfuse library has been removed from Ubuntu 22.04 LTS and hence you [cannot run AppImage applications][13] unless you install it explicitly.
The Mint team takes note of this pain point and has included libfuse2 and libfuse3-3 by default in Mint 21.
#### Newer software and kernel
Of course, Mint 21 will have newer versions of many popular applications and Kernel 5.15 LTS.
The newer version of the Cinnamon desktop environment should bring visual changes as well. More on that when the new version is out.
#### More to come …
Mint 21 is under heavy development. While you wont see regular updates from the Mint team on its development, well have a clearer picture of whats coming when the beta version is released.
Meanwhile, do express your views on Linux Mint 21. What kinds of features are you expecting in the new version?
--------------------------------------------------------------------------------
via: https://itsfoss.com/linux-mint-21-features/
作者:[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/wp-content/uploads/2022/07/linux-mint-21.png
[2]: https://github.com/linuxmint/mintupgrade
[3]: https://itsfoss.com/wp-content/uploads/2022/07/mintupgrade.png
[4]: https://itsfoss.com/wp-content/uploads/2022/07/mintupgrade2.png
[5]: https://itsfoss.com/wp-content/uploads/2022/07/blueman-800x458.png
[6]: https://blog.linuxmint.com/?p=4323
[7]: https://www.youtube.com/watch?v=XWrZvRnAda0&t=45s
[8]: https://itsfoss.com/wp-content/uploads/2022/07/timeshift_mint21-800x648.png
[9]: https://itsfoss.com/webp-ubuntu-linux/
[10]: https://itsfoss.com/what-is-grub/
[11]: https://www.freedesktop.org/software/systemd/man/systemd-oomd.service.html
[12]: https://www.omgubuntu.co.uk/2022/06/ubuntu-22-04-systemd-oom-killing-apps
[13]: https://itsfoss.com/cant-run-appimage-ubuntu/

View File

@ -0,0 +1,104 @@
[#]: subject: "massCode: A Free and Open-Source Code Snippet Manager"
[#]: via: "https://itsfoss.com/masscode/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
massCode: A Free and Open-Source Code Snippet Manager
======
Brief: An open-source code snippet manager that enables you to dabble with code, improve productivity, and save time.
If a tool makes things faster and efficient, that is a life-saver for many developers.
While there are different services and platforms that try to make the coding experience quicker, you still have several other options to consider.
For instance, a code snippet manager. With a snippet manager, you aim to save a section of code that you want to quickly access. It is more like assigning shortcuts to add the required code in your program.
This is not a new concept, but the tools available for the job may not be entirely open-source.
Fortunately, I stumbled upon a decent project that provides you with a free and open-source snippet manager, i.e., massCode.
### massCode: Cross-Platform Open-Source Snippet Manager
![masscode][1]
massCode is a useful snippet manager with some essential features.
It supports a wide range of programming languages and also includes Markdown support. You can organize the snippets of your code using folders, add tags, and more.
massCode is available for Linux, Windows, or macOS. Lets take a look at some key features.
### Features of massCode
![masscode screenshot][2]
massCode includes many useful functionalities. Some of them are:
* Multi-level folder organizer
* Each snippet can be stored in fragments (tabs)
* Integrated coding editor, i.e., [Ace][3].
* Code formatting or highlighting.
* Markdown support with preview.
* The ability to search for a snippet.
* Add descriptions to your snippet to know what it is for.
* Variety of dark/light themes available.
* Ability to migrate from [SnippetsLab][4].
* Auto-save to help you retain your work.
* Integrate it with cloud synchronization folders.
* Extension support for VSCode, Raycast, and Alfred.
In addition to all the features mentioned, you also get to easily copy the code snippets saved in a single click.
For customization, you can tweak the font size and family, toggle Word Wrap, highlight lines, use single quotes, or add a trailing command thanks to [Prettier][5].
Moreover, you can have multiple fragments for a snippet. So, it gives you the opportunity to use it for a wide range of use cases.
As mentioned, you can also integrate it with any of your cloud syncing services by changing the storage location to the synced folders.
![masscode migrate preferences][6]
Overall, it works well, with some limitations, like the ability to migrate nested folders from SnippetsLab to massCode.
### Install massCode on Linux
massCode is available as a [Snap package][7], but not on the Snap store. You can download the package directly and use the following command to get it installed:
```
sudo snap install --dangerous ~/Downloads/masscode_2.6.1_amd64.snap
```
One of our troubleshooting guides can help you know more about the [dangerous snap flag][8].
You can download it for Windows/macOS through its [official website][9] or its [GitHub releases section][10].
[massCode][11]
Have you tried massCode yet? Is there any other code snippet manager available for Linux? Let me know your thoughts in the comments below.
--------------------------------------------------------------------------------
via: https://itsfoss.com/masscode/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://itsfoss.com/wp-content/uploads/2022/07/masscode-screenshot-1.png
[2]: https://itsfoss.com/wp-content/uploads/2022/07/masscode-screenshot.png
[3]: https://github.com/ajaxorg/ace
[4]: https://apps.apple.com/us/app/snippetslab/id1006087419?mt=12
[5]: https://prettier.io/
[6]: https://itsfoss.com/wp-content/uploads/2022/07/masscode-migrate-preferences.jpg
[7]: https://itsfoss.com/install-snap-linux/
[8]: https://itsfoss.com/snap-metadata-signature-error/
[9]: https://masscode.io/
[10]: https://github.com/massCodeIO/massCode/releases/tag/v2.6.1
[11]: https://masscode.io/

View File

@ -0,0 +1,193 @@
[#]: subject: "Hamming Codes: The Error-Correcting Codes"
[#]: via: "https://www.opensourceforu.com/2022/07/hamming-codes-the-error-correcting-codes/"
[#]: author: "Supriyo Ganguly https://www.opensourceforu.com/author/supriyo-ganguly/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Hamming Codes: The Error-Correcting Codes
======
When bits are transmitted or sent over the computer network, they can easily get corrupted due to interference and network problems, and lead to errors. Hamming codes are linear codes used to detect and correct the errors that can occur when data is moved from the sender to the receiver. Lets take a look at their implementation in Python.
![Hamming-Codes-The-Error-Correcting-Codes][1]
In 1950, R.W. Hamming created an error correction code called the Hamming code. It divides data into fixed length blocks, making it a block based error detection and correction algorithm. Extra or redundant parity bits are generated and embedded into the data message before transmission. After the receiver gets them, these parity bits are recalculated to detect and correct the error.
Up to 2 bit errors can be detected and up to 1 bit errors can be corrected. For example, in case of even parity, the number of 1s in specific positions should turn out to be even. This will ensure the integrity or correctness of the message. The procedure can be described in the following steps:
* Calculation of the number of redundant bits
* Finding the position of parity/redundant bits
* Filling the parity bits
* Sending the message On the receiver side, the steps are:
* Receiving the message
* Finding the position of parity/redundant bits
* Comparing the parity bits to find the error
### Algorithm overview
We are going to use even parity in this example.
The user has to send a data stream of bits from one endpoint to another. The number of bits in the data stream is represented as m. And the hamming encoding algorithm is going to insert r number of extra parity bits in the message for encoding before sending on the wire.
If m is the number of data bits and r is number of redundant bits, the following condition must be satisfied:
```
2^r ≥ m + r + 1 ....eq1
```
The parity bits will be inserted in specific locations of the encoded data stream. These locations are powers of 2; e.g. (2^0=1, 2^1=2, 2^2=4, 2^3=8, etc).
Let us take an example. Say we have a data stream of 4 bits; so, m=4. This is represented as follows:
| - | - | - | - |
| :- | :- | :- | :- |
| D1 | D2 | D3 | D4 |
We now need to calculate the number of parity bits:
```
If r=1 we put in eq1 2^1 < 4+1+1, so not ok
If r=2 we put in eq1 2^2 < 4+2+1, so not ok
If r=3 we put in eq1 2^3 = 4+3+1, this is ok
```
So the number of redundant bits is r=3. After the insertion of parity bits, the data stream will look like this:
| - | - | - | - | - | - | - |
| :- | :- | :- | :- | :- | :- | :- |
| P1 | P2 | D1 | P3 | D2 | D3 | D4 |
These parity bits are calculated from XOR of data bits at specific locations. The specific data bit positions are found based on the following table (where the corresponding bit is 1).
| bit location | P3 | P2 | P1 |
| :- | :- | :- | :- |
| 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 0 |
| 3 | 0 | 1 | 1 |
| 4 | 1 | 0 | 0 |
| 5 | 1 | 0 | 1 |
| 6 | 1 | 1 | 0 |
| 7 | 1 | 1 | 1 |
So,
```
P1=B1 XOR B3 XOR B5 XOR B7
P2=B2 XOR B3 XOR B6 XOR B7
P3=B4 XOR B5 XOR B6 XOR B7
—--eq2
```
This is referred to as (7,4) Hamming code.
### Implementation overview (with code walkthrough)
I have written a Python code to implement the algorithm. Here, *even parity* is used.
*Data* is the input data stream taken as input from the user (example: data=1101).
m is the length of data taken as input from user (m=4).
#### Encoding of data
Step 1: *calculateRedundantBitSize()* function finds the value of r; r=3.
Step 2: In *createEncodedDat(),* the encodedList is the list initialised with all 0s.
For (7,4), the Hamming code encodedList will look like this:
| - | - | - | - | - | - | - |
| :- | :- | :- | :- | :- | :- | :- |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
The next code copies data bits to specific locations:
```
for i in range(1,m+r+1,1):
if(i==(2**j)):
j=j+1
else:
encodedList[i-1]=data[k]
k=k+1
```
The *for* loop is iterating over the complete data length of m+r. If i is power of 2 in the encodedList, the i-1 index will hold the data bit. For (7,4), the Hamming code encodedList will look like this:
| - | - | - | - | - | - | - |
| :- | :- | :- | :- | :- | :- | :- |
| 0 | 0 | 1 | 0 | 1 | 0 | 1 |
Then the parity bits are calculated as follows:
```
for j in range(0,r,1):
parityBitLoc = 2**j
for i in range(1,m+r+1,1):
if((parityBitLoc & i) != 0):
p=parityBitLoc-1
encodedList[p]= str(int(encodedList[i-1]) ^ int(encodedList[p]))
```
j is iterating over parity bits and i is iterating over the full data stream. The condition:
```
if((parityBitLoc & i) != 0)
```
…will verify the specific positions for parity bit calculation, as specified in equation 2. p is indicating the position of the parity bit in the list.
For (7,4) Hamming code, the encodedList will look like this:
| - | - | - | - | - | - | - |
| :- | :- | :- | :- | :- | :- | :- |
| 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Finally, the encoded bits are stored as a string in encodedData.
#### Decoding and error correction
We now look at error correction. For error simulation, users can give an input to intentionally alter a bit. *rcvdList* is an erroneous bitString, which is passed on to the decodedData function.
As an example, we assume that bit 4 is corrupted. rcvdList will look like this:
| - | - | - | - | - | - | - |
| :- | :- | :- | :- | :- | :- | :- |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
In the decodedData function, execute the following code:
```
chkList[p] = int(rcvdList[i-1]) ^ int(rcvdList[p]) ^ int(chkList[p])
```
After execution of this code, chkList will look like this:
| P1 | P2 | | P3 | | | |
| :- | :- | :- | :- | :- | :- | :- |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 |
We convert it to a binary:
```
P3P2P1 = (100)b
```
…which is 4 in decimals. This matches exactly with the user input. Thus it can also detect and correct the error. You can find the full source code on GitHub at *https://github.com/SupriyoGanguly/python-hamming.*
Hamming code is a cost-effective solution for detecting and correcting single-bit errors in computers. But if multiple bits are erroneous, it can totally spoil the data. Satellites and modem communications use hamming code. The simple Python code implementation discussed in this article can be used as a module by programmers for hamming code encoding and decoding for any standard data stream length of 4 bits, 7 bits, 13 bits, and so on.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/07/hamming-codes-the-error-correcting-codes/
作者:[Supriyo Ganguly][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.opensourceforu.com/author/supriyo-ganguly/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/Hamming-Codes-The-Error-Correcting-Codes.jpg

View File

@ -0,0 +1,203 @@
[#]: subject: "WebP Image: How to Create, Convert to JPEG, PNG & View in Ubuntu and Other Linux"
[#]: via: "https://www.debugpoint.com/view-webp-ubuntu-linux/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
WebP Image: How to Create, Convert to JPEG, PNG & View in Ubuntu and Other Linux
======
In this article, I will explain the following topics, which cover all the information you need to convert and view WebP images in Ubuntu and other distributions.
![WebP Logo][1]
### What is WebP
In September 2010, Google announced the WebP image format with a vision and a solid replacement for JPEG, PNG and GIF file formats. As you can see, its one single format that provides all the features of the legacy compression algorithm. At its core, WebP supports lossy, lossless animation and transparency.
In addition, WebP is based on block prediction technology and its recommended image format for the web. Due to its significant low file size and better quality, it became the modern standard for serving website images.
### The Current State
Today, almost all the major web browsers support WebP which means you can view the images in popular browsers such as Chromium, Chrome, Firefox, Brave, Vivaldi, Safari and Edge.
But creating a WebP image from existing JPG and PNG files requires the [WebP][2] library developed by Google. Moreover, the Linux distributions file managers are not yet capable of displaying them out of the box.
For a seamless integration and experience with WebP many small components must work together. The operating system requires the core library for WebP. In addition, the file manager and image viewers need to recognise the `*.webp` file type and read them.
All of these result in a consistent experience for users. Since it is still a new standard and adoption is in progress, you need to perform some extra steps in Linux to get it working.
On the other hand, Windows 10 and 11 currently support WebP by default, including its new Image Viewer.
Hence, this article will discuss how to view, create and convert WebP images in Linux systems.
### View WebP Images
#### Ubuntu, Linux Mint and related distros
Viewing an image requires a loader. The file managers or image viewers use that loader library to enable the display of WebP images. By default, the WebP image loader is not available in Ubuntu Linux. Hence, you need to install the `webp-pixbuf-loader` library using the following PPA to view a WebP image in Ubuntu. This library enables GTK applications to show the WebP images.
```
sudo add-apt-repository ppa:helkaluin/webp-pixbuf-loadersudo apt updatesudo apt install webp-pixbuf-loader
```
If you want to learn how a GDK library works between the display server (e.g. X.Org) and GTK components, visit [this page.][3]
#### openSUSE
Leap and Tumbleweed packages are [available here][4]. Visit the page and click on the Expert Download to install.
#### Arch Linux
In Arch Linux, the package is available in [the community repo][5]. Hence the installation is easy using the following command.
```
sudo pacman -S webp-pixbuf-loader
```
#### Fedora Linux, RHEL
For Fedora and other related distributions, use the following command to install.
```
sudo dnf install webp-pixbuf-loader
```
After installation is complete, **restart your system**(optional)**.**
Now, the fun part. Browse to any directory with WebP images, and you should see them in thumbnails or the default image viewer.
Heres an example image with a before-after view of the Nautilus file manager in Ubuntu 22.04 LTS with WebP images.
![GNOME Files (Nautilus) with WebP file - before][6]
![GNOME Files (Nautilus) with WebP file - after][7]
### View WebP images in Various File Manager/Image Viewers in Linux Distros
#### GNOME & Nautilus
For GNOME desktops, Nautilus would work fine with the method I explained above for Ubuntu/Fedora or others.
#### View WebP images in Thunar Desktop (Xfce-based distros)
Although Thunar can show the thumbnail by default for the Xfce desktop, the default image viewer Ristretto wouldnt open the WebP. So, you must install the above packages first (Ubuntu/Fedora or Arch) and reboot. Then open it with Ristretto image viewer after changing the default .webp file-type association.
![Thunar and Ristretto Image Viewer shows webp image][8]
#### KDE Plasma Dolphin file manager and image viewer Gwenview
The default image viewer Gwenview supports WebP by default. Hence you dont need any additional installation to view it. And Dolphin can display the WebP thumbnail just fine.
![Dolphin and Gwenview displays a sample WebP image in KDE Plasma][9]
#### Viewing WebP images in PCManFMQt (LXQt-based distros)
If you are using Lubuntu, you should be able to open WebP by LXImage viewer because it supports WebP by default. Also, PCManFMQt can show WebP thumbnails by default.
![PCManFM-Qt and LXImage][10]
#### Nemo file manager
[Linux Mint][11] is bringing WebP support from the [Mint 21 “Vanessa”][12] release onwards, which should work for the Nemo file manager. Until then, you can use the above PPA to view the WebP images in Linux Mint.
### How to view WebP image in Ubuntu and other Linux using an app (recommended)
Firstly, the famous raster graphics program **GIMP** can open and save WebP images from version 2.10 onwards (currently available for all distros).
Secondly, you can use the following image viewers (other than what your desktop offers), which support WebP.
* [Qview][13] A minimal image viewer
* [gThumb][14] A GTK-based image viewer [available as Flatpak]
Finally, [LibreOffice 7.4][15] (due in August) brings [native WebP support][16] for both import and export for its all components Writer, Calc, Draw and Impress.
### Convert WebP Images to JPG or PNG
Since you learned how to view the .webp files, its worth knowing how to convert them.
Firstly, install the webp packages for Ubuntu or Fedora Linux, including related distros using the following command. Alternatively, if you want the pre-compiled packages for all distros and operating systems which does not require installation, then visit [this page][17] and download the latest zip file.
**Ubuntu and related distros:**
```
sudo apt install webp
```
**Fedora and related distros:**
```
sudo dnf install libwebp
```
**After installation**, use the following command to convert a WebP image to JPG/PNG. Make sure to change the file name and path for your case.
```
dwebp image1.webp -o image1.png
```
### Convert JPEG or PNG images to WebP format
Similarly, if you want to convert a JPEG or PNG file to WebP format, use the following command with cwebp (WebP encoder).
```
cwebp -q <compression factor> <input image> -o <output image>
```
For example, you can use a sample command below, which converts image1.png to image1.webp with a compression factor of 80
```
cwebp -q 80 image1.png -o image1.webp
```
### Convert GIF image to WebP image
One of the underrated features of the WebP format is it supports animation. Hence, the animated GIF files can also work in WebP format with the same animation. Using the following command, you can convert an existing GIF file to a WebP file.
```
gif2webp input_file.gif -o output_file.webp
```
Visit [this page][18] to learn more about the above utility and other options.
### Closing Notes
Although its been a decade since the first announcement of WebP, it took considerable time for desktop Linux to adapt to view the WebP image formats. And I believe, by 2022 end, the WebP support will be native, and you may not need additional tweaking or workaround to view or save WebP files.
I hope this article gives you complete detail about WebP and how you can make it streamlined for your workflow.
So, how you are managing WebP images today? Let me know in the comment box below.
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/view-webp-ubuntu-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://www.debugpoint.com/wp-content/uploads/2022/07/WebP-Logo.jpg
[2]: https://developers.google.com/speed/webp
[3]: https://docs.gtk.org/gdk-pixbuf/
[4]: https://software.opensuse.org/package/webp-pixbuf-loader
[5]: https://archlinux.org/packages/community/x86_64/webp-pixbuf-loader/
[6]: https://i0.wp.com/www.debugpoint.com/wp-content/uploads/2022/07/GNOME-Files-Nautilus-with-WebP-file-before.png?ssl=1
[7]: https://i0.wp.com/www.debugpoint.com/wp-content/uploads/2022/07/GNOME-Files-Nautilus-with-WebP-file-after.png?ssl=1
[8]: https://www.debugpoint.com/wp-content/uploads/2022/07/Thunar-and-Ristretto-Image-Viewer-shows-webp-image.jpg
[9]: https://www.debugpoint.com/wp-content/uploads/2022/07/Dolphin-and-Gwenview-displays-a-sample-WebP-image-in-KDE-Plasma.jpg
[10]: https://www.debugpoint.com/wp-content/uploads/2022/07/PCManFM-Qt-and-LXImage.jpg
[11]: https://www.debugpoint.com/linux-mint/
[12]: https://debugpointnews.com/linux-mint-21-systemd-oom/
[13]: https://interversehq.com/qview/download/
[14]: https://flathub.org/apps/details/org.gnome.gThumb
[15]: https://www.debugpoint.com/libreoffice-7-4/
[16]: https://cgit.freedesktop.org/libreoffice/core/commit/?id=60eaa424c5e213f31227008e1ed66a646491a360
[17]: https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html
[18]: https://developers.google.com/speed/webp/download

View File

@ -0,0 +1,99 @@
[#]: subject: "Why I love Tig for visualizing my Git workflows"
[#]: via: "https://opensource.com/article/22/7/visualize-git-workflow-tig"
[#]: author: "Sumantro Mukherjee https://opensource.com/users/sumantro"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Why I love Tig for visualizing my Git workflows
======
Tig is an excellent tool for reviewing your Git repository by encouraging you to explore the logs without having to construct long and sometimes complex queries.
![][1]
Image by: opensource.com
If you find navigating your Git repositories frustratingly complex, have I got the tool for you. Meet Tig.
Tig is an [ncurses-based][2] text-mode interface for Git that allows you to browse changes in a Git repository. It also acts as a pager for the output of various Git commands. I use this tool to give me a good idea of whats been changed in which commit by whom, the latest commit merged, and so much more. Try it for yourself, starting with this brief tutorial.
### Installing Tig
On Linux, you can install Tig using your package manager. For instance, on Fedora and Mageia:
```
$ sudo dnf install tig
```
On Debian, Linux Mint, Elementary, Pop_OS, and other Debian-based distributions:
```
$ sud apt install tig
```
On macOS, use [MacPorts][3] or [Homebrew][4]. Tigs complete installation guide can be found in the [Tig Manual][5].
### Using Tig
Tig provides an interactive view of common Git output. For instance, with Git you can view all refs with the command `git show-ref` :
```
$ git show-ref
98b108... refs/heads/master
6dae95... refs/remotes/origin/1010-internal-share-partition-format-reflexion
84e1f8... refs/remotes/origin/1015-add-libretro-openlara
e62c7c... refs/remotes/origin/1016-add-support-for-retroarch-project-cd
1c29a8... refs/remotes/origin/1066-add-libretro-mess
ffd3f53... refs/remotes/origin/1155-automatically-generate-assets-for-external-installers
ab4d14... refs/remotes/origin/1160-release-on-bare-metal-servers
28baa9... refs/remotes/origin/1180-ipega-pg-9118
8dff1d... refs/remotes/origin/1181-add-libretro-dosbox-core-s
81a7fe... refs/remotes/origin/1189-allow-manual-build-on-master
[...]
```
With Tig, you can get that information and much more in a scrollable list, plus keyboard shortcuts to open additional views with details about each ref.
![Screenshot of a terminal using Tig. On the left there is a scrollable list of outputs, on the right the details of the selected output (add become an ambassador page) is shown, such as author, date, commit date, sign off, etc.][6]
Image by: (Sumantro Mukherjee, CC BY-SA 4.0)
### Pager mode
Tig enters pager mode when input is provided to stdin (standard input). When the `show` subcommand is specified and the `--stdin` option is given, stdin is assumed to be a list of commit IDs, which is forwarded to `git-show` :
```
$ git rev-list --author=sumantrom HEAD | tig show stdin
```
### Log and diff views
When you're in Tig's log view, you can press the d key on your keyboard to display diffs. This displays the files changed in the commit and the lines that were removed and added.
### Interactive Git data
Tig is an excellent addition to Git. It makes it easy to review your Git repository by encouraging you to explore the logs without having to construct long and sometimes complex queries.
Add Tig to your Git toolkit today!
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/7/visualize-git-workflow-tig
作者:[Sumantro Mukherjee][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/sumantro
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/images/life/computer_code_programming_laptop_0.jpg
[2]: https://opensource.com/article/21/8/ncurses-linux
[3]: https://opensource.com/article/20/11/macports
[4]: https://opensource.com/article/20/6/homebrew-mac
[5]: https://jonas.github.io/tig/doc/manual.html
[6]: https://opensource.com/sites/default/files/2022-06/tig%201.png

View File

@ -0,0 +1,120 @@
[#]: subject: "3 steps to create an awesome UX in a CLI application"
[#]: via: "https://opensource.com/article/22/7/awesome-ux-cli-application"
[#]: author: "Noaa Barki https://opensource.com/users/noaa-barki"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
3 steps to create an awesome UX in a CLI application
======
Here is what I've learned to be the key factors that go into a successful user experience for a CLI project.
As I was sitting in a meeting room, speaking with one of my teammates, our manager walked in with the rest of the dev team. The door slammed shut and our manager revealed that he had a big announcement. What unfolded before our eyes was the next project we were going to develop—an open source CLI (command line interface) application.
In this article, I'd like to share what I learned during our development process, and specifically what I wish I had known before we began developing [Datree's CLI][3]. Perhaps the next person can use these tips to create a great CLI application faster.
My name is Noaa Barki. I've been a full-stack developer for over six years, and I'll let you in on a little secret—I have a superpower: My interest and expertise are evenly split between back-end and front-end development. I simply cannot choose one without the other.
So when my manager revealed the news about our future CLI, the back-end developer-me got very excited because I'd never created a CLI (or any open source project, for that matter). A few seconds later, the front-end developer-me started to wonder, *How can I build an awesome user experience in a CLI application?*
Since Datree CLI helps engineers prevent [Kubernetes misconfigurations][4], my users are primarily DevOps and engineers, so I interviewed all my DevOps friends and searched online about the general DevOps persona.
Here are the steps I came up with:
1. Design the commands
2. Design the UI
3. Provide backward compatibility
### Step 1: Design the commands
Once you have completed the strategic process, it's time to design the commands. I think about CLI applications like magic boxes—they hold great features that work in a magical way, but only if you know how to use them. That means a CLI application must be intuitive and easy to use.
#### My top six principles for CLI commands
Here are my top six principles and best practices for designing and developing CLI commands:
**1. Input flag vs. arguments**
Use arguments for required fields, and for everything else, use flags. Take, for example, the `datree test` command, which prints the policy results, and say that you want to enable the user to print the output into a specific file. If you use `datree test {pattern} {output-file}`, it is difficult to understand from reading the executed command which argument is the pattern and which argument is the file path.
For example, this occurs with the following command: `datree test **/* **.YAML`. However, if you use `datree test {pattern} -output {output-path}`, it becomes much clearer.
**Note:** Reports show that most users find flags to be clearer.
**2. Enum-style vs. Boolean flags**
It's preferable to use an enum-style flag over a Boolean-style flag because then you (a developer and user) need to think about all combinations of the presence or absence of the flags in the command. An enum-style flag is a flag that assumes a value. Enum-style flags make it much easier to implement tab completion.
**3. Use familiar language**
Remember that a CLI is built more for humans than machines. Pick real-world language for your commands and descriptions.
**4. Naming conventions**
Use CLI commands that are named in a SINGLE form and VERB-NOUN format. This allows the command to be read like an imperative or request, for example: *Computer, start app!*
Minimize with the total number of commands you use, and don't rush to introduce new verbs to new commands. This makes it easier for users to remember command names.
**5. Prompts**
Provide a bypass to the prompt option. The user cannot script the command if prompting is required to complete it. To avoid frustrating users, a simple `--output` flag can be a valuable solution to allow the user to parse the output and script the CLI.
**6. Command descriptions**
The root command should list all the commands with their descriptions. Provide a command description to all commands (or do not offer descriptions at all), choose the screen width you want it to fit into (generally an 80-character width), and begin with a lowercase character. Also, don't end with a period to avoid unclear line breaks or lost periods.
### Step 2: Design the UI
Now you have a solid definition for your users. You have also planned and designed your commands and outputs. Next it's time to think about making the CLI application aesthetic, accessible, and easy to learn.
If you think about it, almost every app must deal with UX (user experience) challenges during the users' onboarding and journey. The *how* part of UX for web applications is much more obvious because you have many component libraries (such as material-UI and bootstrap) that make it easier to adopt standard style guides and functionality flows. But what about CLI applications? Are there any design conventions for CLI interfaces? How can you create an aesthetic design of the CLI functionality that is also accessible? Is there any way to make the CLI UI as friendly as a GUI?
#### Top three UI and UX best practices for CLI applications
**1. Use colors**
Colors are a great way to attract your user's eyes and help them read commands and outputs much faster. The most recommended font colors are magenta, cyan, blue, green, and gray, but don't forget that background colors can provide more variety. I encourage you to use yellow and red colors but remember that these are typically saved for errors and warnings.
**2. Input-output consistency**
Be consistent with inputs and outputs across the application; this encourages usability and allows the user to learn how to interact with new commands quickly.
**3. Ordering arguments**
Choose an argument's position based on how it correlates with the command's action. Consider NestJS's generate command `nest generate {schematic} {name}`, which needs *schematic* and *name* as arguments. Notice that the action *generate* refers directly to the *schematic*, not *name*, so it makes more sense for *schematic* to be the first arg.
### Step 3: Provide backward compatibility
Avoid modifying the output. Now that you know how to create a perfect CLI application, don't forget to keep your users in the back of your mind, especially when enabling scripting the CLI. Remember that any change in the command's outputs may break users' current scripts; therefore, avoid modifying the output.
### Wrap up
Creating a new CLI is exciting and challenging, and doing so with a helpful and easy UX adds to the challenge. My experience shows that three key factors go into a successful UX for a CLI project:
1. Design the commands
2. Design the UI
3. Provide backward compatibility
Each of these phases has its own components that support the logic and make the lives of your users easier.
I hope these concepts are useful and that you have the opportunity to apply them in your next project.
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/7/awesome-ux-cli-application
作者:[Noaa Barki][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/noaa-barki
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png
[2]: https://creativecommons.org/licenses/by/3.0/us/
[3]: https://www.datree.io/
[4]: https://opensource.com/article/22/4/kubernetes-policies-config-datree

View File

@ -3,11 +3,11 @@
[#]: author: "Jayashree Huttanagoudar https://opensource.com/users/jayashree-huttanagoudar"
[#]: collector: "lkxed"
[#]: translator: "robsean"
[#]: reviewer: " "
[#]: reviewer: "turbokernel"
[#]: publisher: " "
[#]: url: " "
如何在 Linux 上静态链接
Linux 静态链接工作原理
======
学习如何将多个 C <ruby>对象<rt>object</rt></ruby> 文件组合到一个带有静态库的单个可执行文件文件之中。
@ -15,26 +15,26 @@
图片作者Mapbox Uncharted ERG, [CC-BY 3.0 US][2]
使用 C 编写的应用程序代码通常有多个源代码文件,但是,你需要将它们最终编译到一个单个的可执行文件。
使用 C 编写的应用程序时,通常有多个源码文件,但最终您需要编译成单个的可执行文件。
你可以通过两种方式来完成这项工作:通过创建一个 <ruby>静态<rt>static</rt></ruby> 库 或 一个 <ruby>动态<rt>dynamic</rt></ruby> 库 (也被称为 <ruby>共享<rt>shared</rt></ruby> 库)。这两种类型的库在从它们是如何创建和链接的角度来看是不同的。你选择使用哪种方式取决于你的的具体使用情况
你可以通过两种方式来完成这项工作:通过创建一个 <ruby>静态<rt>static</rt></ruby> 库 或 一个 <ruby>动态<rt>dynamic</rt></ruby> 库 (也被称为 <ruby>共享<rt>shared</rt></ruby> 库)。从创建和链接的方式来看,它们是两种不同类型的库。选择使用哪种方式取决于你的的具体场景
在 [上一篇文章][3] 中,我演示了如何创建一个动态链接的可执行文件,这是一种更常用的方法。在这篇文章中,我将解释如何创建一个静态链接的可执行文件。
在 [上一篇文章][3] 中,我演示了如何创建一个动态链接的可执行文件,这是一种更通用的方法。在这篇文章中,我将说明如何创建一个静态链接的可执行文件。
### 链接器使用静态库
### 使用静态库链接器
链接器是一个命令,它将一个程序的数个部分组合到一起,并为它们重新组织存储器分配。
链接器是一个命令,它将一个程序的多个部分组合,并为它们重新组织存储器分配。
链接器的功能包括:
* 集成一个程序的所有的部分
* 计算组织出一个新的存储器结构,以便所有的部分组合在一起
* 重新复活存储器地址,以便程序可以在新的存储器组织下运行
* 装配一个新的存储器结构,以便所有的部分组合在一起
* 恢复存储器地址,以便程序可以在新的存储器组织下运行
* 解析符号引用
作为这些链接器功能的结果,创建了一个名称为可执行文件的一个可运行程序。
经过这些链接器功能,创建了一个名称为可执行文件的一个可运行程序。
静态库是通过复制一个程序中的所有必须的库模块到最终的可执行镜像来创建的。链接器将链接静态库作为编译过程的最后一步。可执行文件是通过解析外部引用、库实例程序与程序代码组合来创建的。
静态库是通过复制一个程序中的所有依赖库模块到最终的可执行镜像来创建的。链接器将链接静态库作为编译过程的最后一步。可执行文件是通过解析外部引用、库实例程序与程序代码组合来创建的。
### 创建对象文件
@ -71,7 +71,7 @@ return (a/b);
}
```
现在,使用 GCC 来参加对象文件 `add.o` 、`sub.o` 、`mult.o` 和 `divi.o` :
现在,使用 GCC 来生成对象文件 `add.o` 、`sub.o` 、`mult.o` 和 `divi.o` :
```
$ gcc -c add.c sub.c mult.c divi.c
@ -88,7 +88,7 @@ $ ls
add.c  divi.c  libmymath.a  mult.c  mymath.h  sub.c
```
现在,你已经创建了一个简单的名称为 `libmymath` 是示例数学库,你可以在 C 代码中使用它。当然,这里有非常复杂的 C 库,这就是他们这些开发者来生成最终产品的工艺流程,你和我可以安装这些库并在 C 代码中使用。
现在,你已经创建了一个简单的名称为 `libmymath`数学示例库,你可以在 C 代码中使用它。当然,这里有非常复杂的 C 库,这就是开发者们用于开发最终产品的过程,你和我可以安装这些库并在 C 代码中使用。
接下来,在一些自定义代码中使用你的数学库,然后链接它。
@ -129,9 +129,9 @@ int main()
$ gcc -I . -c mathDemo.c
```
`-I` 选项告诉 GCC 搜索在其后列出的头文件。在这个实例中,你正在具体指定当前目录,通过一个单个点 (`.` ) 来表示
`-I` 选项告诉 GCC 搜索在其后列出的头文件。在这个实例中,你通过单个点 (`.` ) 来指定当前目录
Link `mathDemo.o` with `libmymath.a` 来参加最终的可执行文件。这里有两种方法来向 GCC 表达这一点。
连接 `mathDemo.o``libmymath.a` 来生成最终的可执行文件。这里有两种方法来向 GCC 表达这一点。
你可以指向文件:
@ -139,17 +139,17 @@ Link `mathDemo.o` with `libmymath.a` 来参加最终的可执行文件。这里
$ gcc -static -o mathDemo mathDemo.o libmymath.a
```
或者,你可以具体指定库的路径和库的名称:
或者,你可以具体指定库的路径名称:
```
$ gcc -static -o mathDemo -L . mathDemo.o -lmymath
```
在后面的那个示例中,`-lmymath` 选项告诉链接器来链接随对象文件 `mathDemo.o` 出现的对象文件 `libmymath.a` 来创建最终的可执行文件。`-L` 选项指示链接器在下面的参数中查找库 (类似于你使用 `-I` 所做的工作)。
在后面的那个示例中,`-lmymath` 选项告诉链接器来链接随对象文件 `mathDemo.o` 中的对象文件 `libmymath.a` 来生成最终的可执行文件。`-L` 选项指示链接器在下面的参数中查找库 (类似于你使用 `-I` 所做的工作)。
### 分析结果
使用 `file` 命令来确认它是静态链接的:
使用 `file` 命令来验证它是静态链接的:
```
$ file mathDemo
@ -164,7 +164,7 @@ $ ldd ./mathDemo
        not a dynamic executable
```
你也可以`mathDemo` 可执行文件的大小:
你也可以查 `mathDemo` 可执行文件的大小:
```
$ du -h ./mathDemo
@ -193,9 +193,9 @@ Enter two numbers
动态链接可执行文件通常优于静态链接可执行文件,因为动态链接会保持应用程序的组件模块化。假如一个库接收到一次关键安全更新,那么它可以很容易地修补,因为它存在于应用程序的外部。
当你使用静态链接时,库的代码会 "隐藏" 在你创建的可执行文件之中,意味着在库每次更新时(相信我,你会有更好的东西),仅有的一种修补它的方法是重新编译和重新发布一个新的可执行文件。
当你使用静态链接时,库的代码会 "隐藏" 在你创建的可执行文件之中,意味着在库每次更新时(相信我,你会有更好的东西),仅有的一种修补方法是重新编译和发布一个新的可执行文件。
不过,如果一个库的代码,要么存在于它正在使用的具有相同代码的可执行文件中,要么存在于专用的预期不会接收到任何更新的嵌入式设备中,那么静态连接将是一种可接受的选项。
不过,如果一个库的代码,要么存在于它正在使用的具有相同代码的可执行文件中,要么存在于不会接收到任何更新的专用嵌入式设备中,那么静态连接将是一种可接受的选项。
--------------------------------------------------------------------------------
@ -204,7 +204,7 @@ via: https://opensource.com/article/22/6/static-linking-linux
作者:[Jayashree Huttanagoudar][a]
选题:[lkxed][b]
译者:[robsean](https://github.com/robsean)
校对:[校对者ID](https://github.com/校对者ID)
校对:[turbokernel](https://github.com/turbokernel)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,123 @@
[#]: subject: "HandBrake: Free Tool for Converting Videos from Any Format"
[#]: via: "https://www.debugpoint.com/handbrake/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
HandBrake用于转换任何格式视频的免费工具
======
了解 HandBrake这是一个优秀的工具可以将任何格式的视频转换为目标类型。
本文包含功能、下载说明和使用指南。
### HandBrake
在这个社交媒体的时代,我们都在拍沉浸式视频,当然还有随之而来的格式。因此,如果你是在 Linux 平台,甚至是在 Windows 平台,你可以使用任何其他软件来转换各种视频,用于多个平台。但是,如果你需要一个简单但功能丰富的视频转换器来处理来自多个来源的所有视频格式,请尝试 HandBrake。
#### 功能
HandBrake 有大量的选项,使其成为一个独特的工具。首先,工作流程是超级简单。事实上,它只是三个步骤:
* 选择一个视频
* 选择一个目标格式
* 转换
正如你所看到的,如果你是一个新手用户,使用这个工具是非常容易的,因为目标格式的属性(如比特率,尺寸)是基于默认的预设。
其次,如果你想进行高级编辑,如在转换时从字幕文件中添加字幕,也可以使用这个工具。
此外,你还可以改变尺寸,翻转视频,改变分辨率,修改长宽比,以及裁剪。此外,一套基本的过滤器配置,如去噪和锐化也可以完成。
另外,为你的视频文件添加章节、标签和音轨也很容易。
也许 HandBrake 的重要功能是提供预设,以满足现代社会媒体和流媒体的需求。例如,预设与流媒体平台和流媒体设备相一致,如:
* Discord
* GMail
* Vimeo
* 亚马逊 Fire Stick 电视棒
* 苹果设备
* Chromecast
* Playstation
* Roku
* Xbox
一个相当令人印象深刻的列表,不是吗?不仅如此,如果你是一个专业工作者,它可以帮助你定义和创建转换队列。队列功能允许你在工作流程中批量转换多个视频文件。
最后,你可以转换为 MPEG-4mp4Matroskamkv和 WebM 格式。
![HandBrake with various features][1]
### 下载和安装
下载和安装 HandBrake 对于任何平台Linux、Mac 和 Windows都很容易。开发者直接提供可执行文件可以免费下载。
由于本门户网站的主要目标受众是 Linux 用户,我们将讨论 HandBrake 在 Linux 中的安装。
对于 Ubuntu、Linux Mint 和所有其他发行版,最好的方法是 Flatpak。你可以[设置 Flatpak][2],然后点击下面的按钮来安装 HandBrake
[通过 Flathub 安装 HandBrake][3]
对于 Windows、macOS 的安装程序,请访问这个页面。
一个有趣的特点是,你可以通过命令行使用这个应用程序!这意味着你可以进一步定制你的应用。这意味着你可以使用命令行工具进一步定制你的工作流程,你可以在[这里][4]下载。
### 如何使用 HandBrake 来转换视频?(示例)
既然你安装了它,让我们看看你如何只用三个步骤就能转换一个示例视频。
1. 打开 HandBrake点击顶部工具栏上的 “Open Source” 按钮。选择你的视频文件。
2. 现在,从格式下拉菜单中选择目标文件类型。确保选中目标文件夹(默认为视频)。
3. 最后,点击顶部工具栏的开始按钮,用 HandBrake 转换视频。
![HandBrake Video Conversion in three simple steps][5]
你可以在窗口的底部找到一个漂亮的转换进度显示。
![Encoding status][6]
上面的步骤是最基本的步骤。如果你想进一步控制视频,你可以改变选项,也可以从我前面解释的大量预设列表中选择。
### 常见问题
**HandBrake 是免费使用么?**
是的,它是一个免费和开源的应用程序,你可以免费下载它。
**它可在 Mac 和 Windows 上用么?**
是的,你可以在 macOS、Windows 10 和 Windows 11 中轻松安装 HandBrake。
**如何下载 HandBrake**
你只能从官方网站 https://handbrake.fr/ ,不能从其他地方下载 HandBrake。
### 结束语
Handbrake 是如今可用的专业级免费和开源视频编码器之一。它是一个经过时间考验的应用,每天有数百万用户使用。我希望本指南能帮助你了解这个神奇的工具,让你开始你的视频项目。
**演示视频来自 [Pexels - cottonbro][7]**。
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/handbrake/
作者:[Arindam][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://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://www.debugpoint.com/wp-content/uploads/2022/06/HandBrake-with-various-features.jpg
[2]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/
[3]: https://dl.flathub.org/repo/appstream/fr.handbrake.ghb.flatpakref
[4]: https://handbrake.fr/downloads2.php
[5]: https://www.debugpoint.com/wp-content/uploads/2022/06/HandBrake-Video-Conversion-in-three-simple-steps.jpg
[6]: https://www.debugpoint.com/wp-content/uploads/2022/06/Encoding-status.jpg
[7]: https://www.pexels.com/video/hands-hand-table-colorful-3997786/

View File

@ -0,0 +1,51 @@
[#]: subject: "The Top Trends Changing The Data Center Industry"
[#]: via: "https://www.opensourceforu.com/2022/06/top-trends-changing-data-center-industry/"
[#]: author: "abhimanyu rathore https://www.opensourceforu.com/author/abhimanyu-rathore/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
改变数据中心行业的主要趋势
======
![Data center][1]
大流行加快了全国数字化转型的速度这需要对数据中心进行更多投资。由于快速的数字化和云采用印度数据中心市场的容量预计在未来几年将翻一番。据报道2021 年印度数据中心市场规模为 43.5 亿美元,到 2027 年将达到 100.9 亿美元2022-2027 年的复合年增长率为 15.07%。
现在,出现的一个关键问题是印度数据中心行业的未来是什么?哪些新趋势将塑造其未来?下面提到的是将对印度数据中心行业产生重大影响的主要趋势。
### 数据本地化
数据本地化仅仅意味着限制数据从一个国家流向另一个国家。印度政府已发布指导方针,强调需要在该国境内存储印度用户的数据。数据本地化使得收集关键消费者数据的公司必须在本地数据中心存储和处理这些数据。这给本地数据中心带来了巨大的增长。此外,印度的成本优势和熟练劳动力的便利性使其成为亚洲数据中心的重要枢纽。
### 可持续数据中心
众所周知,数据中心消耗大量非可再生资源。为了使数据中心可持续发展,公司重新设计了他们的设施,通过利用人工智能、机器学习和云等新兴技术来大大降低电力和水的消耗。云数据中心使用更少的服务器,从而减少碳排放。它们通常位于更靠近为其供电的设施,以防止在长距离传输电能的过程中出现大量损失。此外,公共云数据中心可用于存储来自多个业务的数据。本地数据中心在存储大量数据时存在容量限制,从而导致资源的非最佳使用。因此,云数据中心通过使企业能够消耗更少的服务器和更少的电力并减少其在此过程中的碳排放,正在彻底改变行业。
### 边缘连接
边缘数据中心是靠近网络边缘的小型数据中心。它们通常连接到更大的中央数据中心或多个数据中心。通过处理更接近最终用户的数据和服务边缘计算允许组织减少延迟并改善客户体验。这样的数据中心对于需要实时数据处理的行业非常有利例如自动驾驶汽车、远程医疗、电信、OTT 平台和智能可穿戴设备。
### 超大规模数据中心
传统上,数据中心是一个简单的机架网络,带有存储单元和一组管理工具。它具有易于理解的架构。然而,随着数字化转型接管了企业界,组织开始生成大量数据。传统的存储单元和工具不足以处理大量涌入的数据,因此需要更大的容量和复杂的设施。此外,传统数据中心无法扩大或缩小其能力以适应需求波动,从而导致资源浪费。这导致了超大规模作为解决方案的演变。
超大规模数据中心是大规模的关键业务设施,旨在通过将大量高速协同工作的服务器聚集在一起,有效地支持强大且可扩展的应用。这种能力使数据中心能够水平和垂直扩展。
总之,数据中心行业正在发展,新趋势将不断涌现。借助新时代的颠覆性技术,数据中心行业可以构建环保节能的数据中心。人工智能、边缘计算和物联网等技术可用于最大限度地提高能源效率并最大限度地减少对环境的影响。
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/06/top-trends-changing-data-center-industry/
作者:[abhimanyu rathore][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://www.opensourceforu.com/author/abhimanyu-rathore/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2016/03/Data-center.jpg